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
   19
   20
   21class AKS:
   22    __slots__ = [
   23        'allow_resource_role_bypass',
   24        'bind_interface',
   25        'certificate_authority',
   26        'client_certificate',
   27        'client_key',
   28        'discovery_enabled',
   29        'discovery_username',
   30        'egress_filter',
   31        'healthcheck_namespace',
   32        'healthy',
   33        'hostname',
   34        'id',
   35        'identity_alias_healthcheck_username',
   36        'identity_set_id',
   37        'name',
   38        'port',
   39        'port_override',
   40        'proxy_cluster_id',
   41        'secret_store_id',
   42        'subdomain',
   43        'tags',
   44    ]
   45
   46    def __init__(
   47        self,
   48        allow_resource_role_bypass=None,
   49        bind_interface=None,
   50        certificate_authority=None,
   51        client_certificate=None,
   52        client_key=None,
   53        discovery_enabled=None,
   54        discovery_username=None,
   55        egress_filter=None,
   56        healthcheck_namespace=None,
   57        healthy=None,
   58        hostname=None,
   59        id=None,
   60        identity_alias_healthcheck_username=None,
   61        identity_set_id=None,
   62        name=None,
   63        port=None,
   64        port_override=None,
   65        proxy_cluster_id=None,
   66        secret_store_id=None,
   67        subdomain=None,
   68        tags=None,
   69    ):
   70        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
   71        '''
   72         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
   73         when a resource role is not provided.
   74        '''
   75        self.bind_interface = bind_interface if bind_interface is not None else ''
   76        '''
   77         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
   78        '''
   79        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
   80        '''
   81         The CA to authenticate TLS connections with.
   82        '''
   83        self.client_certificate = client_certificate if client_certificate is not None else ''
   84        '''
   85         The certificate to authenticate TLS connections with.
   86        '''
   87        self.client_key = client_key if client_key is not None else ''
   88        '''
   89         The key to authenticate TLS connections with.
   90        '''
   91        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
   92        '''
   93         If true, configures discovery of a cluster to be run from a node.
   94        '''
   95        self.discovery_username = discovery_username if discovery_username is not None else ''
   96        '''
   97         If a cluster is configured for user impersonation, this is the user to impersonate when
   98         running discovery.
   99        '''
  100        self.egress_filter = egress_filter if egress_filter is not None else ''
  101        '''
  102         A filter applied to the routing logic to pin datasource to nodes.
  103        '''
  104        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  105        '''
  106         The path used to check the health of your connection.  Defaults to `default`.
  107        '''
  108        self.healthy = healthy if healthy is not None else False
  109        '''
  110         True if the datasource is reachable and the credentials are valid.
  111        '''
  112        self.hostname = hostname if hostname is not None else ''
  113        '''
  114         The host to dial to initiate a connection from the egress node to this resource.
  115        '''
  116        self.id = id if id is not None else ''
  117        '''
  118         Unique identifier of the Resource.
  119        '''
  120        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  121        '''
  122         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  123        '''
  124        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  125        '''
  126         The ID of the identity set to use for identity connections.
  127        '''
  128        self.name = name if name is not None else ''
  129        '''
  130         Unique human-readable name of the Resource.
  131        '''
  132        self.port = port if port is not None else 0
  133        '''
  134         The port to dial to initiate a connection from the egress node to this resource.
  135        '''
  136        self.port_override = port_override if port_override is not None else 0
  137        '''
  138         The local port used by clients to connect to this resource.
  139        '''
  140        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  141        '''
  142         ID of the proxy cluster for this resource, if any.
  143        '''
  144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  145        '''
  146         ID of the secret store containing credentials for this resource, if any.
  147        '''
  148        self.subdomain = subdomain if subdomain is not None else ''
  149        '''
  150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  151        '''
  152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  153        '''
  154         Tags is a map of key, value pairs.
  155        '''
  156
  157    def __repr__(self):
  158        return '<sdm.AKS ' + \
  159            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  160            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  161            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  162            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  163            'client_key: ' + repr(self.client_key) + ' ' +\
  164            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  165            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  166            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  167            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  168            'healthy: ' + repr(self.healthy) + ' ' +\
  169            'hostname: ' + repr(self.hostname) + ' ' +\
  170            'id: ' + repr(self.id) + ' ' +\
  171            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  172            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  173            'name: ' + repr(self.name) + ' ' +\
  174            'port: ' + repr(self.port) + ' ' +\
  175            'port_override: ' + repr(self.port_override) + ' ' +\
  176            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  177            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  178            'subdomain: ' + repr(self.subdomain) + ' ' +\
  179            'tags: ' + repr(self.tags) + ' ' +\
  180            '>'
  181
  182    def to_dict(self):
  183        return {
  184            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  185            'bind_interface': self.bind_interface,
  186            'certificate_authority': self.certificate_authority,
  187            'client_certificate': self.client_certificate,
  188            'client_key': self.client_key,
  189            'discovery_enabled': self.discovery_enabled,
  190            'discovery_username': self.discovery_username,
  191            'egress_filter': self.egress_filter,
  192            'healthcheck_namespace': self.healthcheck_namespace,
  193            'healthy': self.healthy,
  194            'hostname': self.hostname,
  195            'id': self.id,
  196            'identity_alias_healthcheck_username':
  197            self.identity_alias_healthcheck_username,
  198            'identity_set_id': self.identity_set_id,
  199            'name': self.name,
  200            'port': self.port,
  201            'port_override': self.port_override,
  202            'proxy_cluster_id': self.proxy_cluster_id,
  203            'secret_store_id': self.secret_store_id,
  204            'subdomain': self.subdomain,
  205            'tags': self.tags,
  206        }
  207
  208    @classmethod
  209    def from_dict(cls, d):
  210        return cls(
  211            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  212            bind_interface=d.get('bind_interface'),
  213            certificate_authority=d.get('certificate_authority'),
  214            client_certificate=d.get('client_certificate'),
  215            client_key=d.get('client_key'),
  216            discovery_enabled=d.get('discovery_enabled'),
  217            discovery_username=d.get('discovery_username'),
  218            egress_filter=d.get('egress_filter'),
  219            healthcheck_namespace=d.get('healthcheck_namespace'),
  220            healthy=d.get('healthy'),
  221            hostname=d.get('hostname'),
  222            id=d.get('id'),
  223            identity_alias_healthcheck_username=d.get(
  224                'identity_alias_healthcheck_username'),
  225            identity_set_id=d.get('identity_set_id'),
  226            name=d.get('name'),
  227            port=d.get('port'),
  228            port_override=d.get('port_override'),
  229            proxy_cluster_id=d.get('proxy_cluster_id'),
  230            secret_store_id=d.get('secret_store_id'),
  231            subdomain=d.get('subdomain'),
  232            tags=d.get('tags'),
  233        )
  234
  235
  236class AKSBasicAuth:
  237    '''
  238    AKSBasicAuth is currently unstable, and its API may change, or it may be removed,
  239    without a major version bump.
  240    '''
  241    __slots__ = [
  242        'bind_interface',
  243        'egress_filter',
  244        'healthcheck_namespace',
  245        'healthy',
  246        'hostname',
  247        'id',
  248        'name',
  249        'password',
  250        'port',
  251        'port_override',
  252        'proxy_cluster_id',
  253        'secret_store_id',
  254        'subdomain',
  255        'tags',
  256        'username',
  257    ]
  258
  259    def __init__(
  260        self,
  261        bind_interface=None,
  262        egress_filter=None,
  263        healthcheck_namespace=None,
  264        healthy=None,
  265        hostname=None,
  266        id=None,
  267        name=None,
  268        password=None,
  269        port=None,
  270        port_override=None,
  271        proxy_cluster_id=None,
  272        secret_store_id=None,
  273        subdomain=None,
  274        tags=None,
  275        username=None,
  276    ):
  277        self.bind_interface = bind_interface if bind_interface is not None else ''
  278        '''
  279         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  280        '''
  281        self.egress_filter = egress_filter if egress_filter is not None else ''
  282        '''
  283         A filter applied to the routing logic to pin datasource to nodes.
  284        '''
  285        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  286        '''
  287         The path used to check the health of your connection.  Defaults to `default`.
  288        '''
  289        self.healthy = healthy if healthy is not None else False
  290        '''
  291         True if the datasource is reachable and the credentials are valid.
  292        '''
  293        self.hostname = hostname if hostname is not None else ''
  294        '''
  295         The host to dial to initiate a connection from the egress node to this resource.
  296        '''
  297        self.id = id if id is not None else ''
  298        '''
  299         Unique identifier of the Resource.
  300        '''
  301        self.name = name if name is not None else ''
  302        '''
  303         Unique human-readable name of the Resource.
  304        '''
  305        self.password = password if password is not None else ''
  306        '''
  307         The password to authenticate with.
  308        '''
  309        self.port = port if port is not None else 0
  310        '''
  311         The port to dial to initiate a connection from the egress node to this resource.
  312        '''
  313        self.port_override = port_override if port_override is not None else 0
  314        '''
  315         The local port used by clients to connect to this resource.
  316        '''
  317        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  318        '''
  319         ID of the proxy cluster for this resource, if any.
  320        '''
  321        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  322        '''
  323         ID of the secret store containing credentials for this resource, if any.
  324        '''
  325        self.subdomain = subdomain if subdomain is not None else ''
  326        '''
  327         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  328        '''
  329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  330        '''
  331         Tags is a map of key, value pairs.
  332        '''
  333        self.username = username if username is not None else ''
  334        '''
  335         The username to authenticate with.
  336        '''
  337
  338    def __repr__(self):
  339        return '<sdm.AKSBasicAuth ' + \
  340            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  341            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  342            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  343            'healthy: ' + repr(self.healthy) + ' ' +\
  344            'hostname: ' + repr(self.hostname) + ' ' +\
  345            'id: ' + repr(self.id) + ' ' +\
  346            'name: ' + repr(self.name) + ' ' +\
  347            'password: ' + repr(self.password) + ' ' +\
  348            'port: ' + repr(self.port) + ' ' +\
  349            'port_override: ' + repr(self.port_override) + ' ' +\
  350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  351            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  352            'subdomain: ' + repr(self.subdomain) + ' ' +\
  353            'tags: ' + repr(self.tags) + ' ' +\
  354            'username: ' + repr(self.username) + ' ' +\
  355            '>'
  356
  357    def to_dict(self):
  358        return {
  359            'bind_interface': self.bind_interface,
  360            'egress_filter': self.egress_filter,
  361            'healthcheck_namespace': self.healthcheck_namespace,
  362            'healthy': self.healthy,
  363            'hostname': self.hostname,
  364            'id': self.id,
  365            'name': self.name,
  366            'password': self.password,
  367            'port': self.port,
  368            'port_override': self.port_override,
  369            'proxy_cluster_id': self.proxy_cluster_id,
  370            'secret_store_id': self.secret_store_id,
  371            'subdomain': self.subdomain,
  372            'tags': self.tags,
  373            'username': self.username,
  374        }
  375
  376    @classmethod
  377    def from_dict(cls, d):
  378        return cls(
  379            bind_interface=d.get('bind_interface'),
  380            egress_filter=d.get('egress_filter'),
  381            healthcheck_namespace=d.get('healthcheck_namespace'),
  382            healthy=d.get('healthy'),
  383            hostname=d.get('hostname'),
  384            id=d.get('id'),
  385            name=d.get('name'),
  386            password=d.get('password'),
  387            port=d.get('port'),
  388            port_override=d.get('port_override'),
  389            proxy_cluster_id=d.get('proxy_cluster_id'),
  390            secret_store_id=d.get('secret_store_id'),
  391            subdomain=d.get('subdomain'),
  392            tags=d.get('tags'),
  393            username=d.get('username'),
  394        )
  395
  396
  397class AKSServiceAccount:
  398    __slots__ = [
  399        'allow_resource_role_bypass',
  400        'bind_interface',
  401        'discovery_enabled',
  402        'discovery_username',
  403        'egress_filter',
  404        'healthcheck_namespace',
  405        'healthy',
  406        'hostname',
  407        'id',
  408        'identity_alias_healthcheck_username',
  409        'identity_set_id',
  410        'name',
  411        'port',
  412        'port_override',
  413        'proxy_cluster_id',
  414        'secret_store_id',
  415        'subdomain',
  416        'tags',
  417        'token',
  418    ]
  419
  420    def __init__(
  421        self,
  422        allow_resource_role_bypass=None,
  423        bind_interface=None,
  424        discovery_enabled=None,
  425        discovery_username=None,
  426        egress_filter=None,
  427        healthcheck_namespace=None,
  428        healthy=None,
  429        hostname=None,
  430        id=None,
  431        identity_alias_healthcheck_username=None,
  432        identity_set_id=None,
  433        name=None,
  434        port=None,
  435        port_override=None,
  436        proxy_cluster_id=None,
  437        secret_store_id=None,
  438        subdomain=None,
  439        tags=None,
  440        token=None,
  441    ):
  442        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
  443        '''
  444         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
  445         when a resource role is not provided.
  446        '''
  447        self.bind_interface = bind_interface if bind_interface is not None else ''
  448        '''
  449         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  450        '''
  451        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
  452        '''
  453         If true, configures discovery of a cluster to be run from a node.
  454        '''
  455        self.discovery_username = discovery_username if discovery_username is not None else ''
  456        '''
  457         If a cluster is configured for user impersonation, this is the user to impersonate when
  458         running discovery.
  459        '''
  460        self.egress_filter = egress_filter if egress_filter is not None else ''
  461        '''
  462         A filter applied to the routing logic to pin datasource to nodes.
  463        '''
  464        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  465        '''
  466         The path used to check the health of your connection.  Defaults to `default`.
  467        '''
  468        self.healthy = healthy if healthy is not None else False
  469        '''
  470         True if the datasource is reachable and the credentials are valid.
  471        '''
  472        self.hostname = hostname if hostname is not None else ''
  473        '''
  474         The host to dial to initiate a connection from the egress node to this resource.
  475        '''
  476        self.id = id if id is not None else ''
  477        '''
  478         Unique identifier of the Resource.
  479        '''
  480        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  481        '''
  482         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  483        '''
  484        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  485        '''
  486         The ID of the identity set to use for identity connections.
  487        '''
  488        self.name = name if name is not None else ''
  489        '''
  490         Unique human-readable name of the Resource.
  491        '''
  492        self.port = port if port is not None else 0
  493        '''
  494         The port to dial to initiate a connection from the egress node to this resource.
  495        '''
  496        self.port_override = port_override if port_override is not None else 0
  497        '''
  498         The local port used by clients to connect to this resource.
  499        '''
  500        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  501        '''
  502         ID of the proxy cluster for this resource, if any.
  503        '''
  504        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  505        '''
  506         ID of the secret store containing credentials for this resource, if any.
  507        '''
  508        self.subdomain = subdomain if subdomain is not None else ''
  509        '''
  510         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  511        '''
  512        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  513        '''
  514         Tags is a map of key, value pairs.
  515        '''
  516        self.token = token if token is not None else ''
  517        '''
  518         The API token to authenticate with.
  519        '''
  520
  521    def __repr__(self):
  522        return '<sdm.AKSServiceAccount ' + \
  523            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  524            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  525            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  526            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  527            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  528            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  529            'healthy: ' + repr(self.healthy) + ' ' +\
  530            'hostname: ' + repr(self.hostname) + ' ' +\
  531            'id: ' + repr(self.id) + ' ' +\
  532            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  533            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  534            'name: ' + repr(self.name) + ' ' +\
  535            'port: ' + repr(self.port) + ' ' +\
  536            'port_override: ' + repr(self.port_override) + ' ' +\
  537            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  538            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  539            'subdomain: ' + repr(self.subdomain) + ' ' +\
  540            'tags: ' + repr(self.tags) + ' ' +\
  541            'token: ' + repr(self.token) + ' ' +\
  542            '>'
  543
  544    def to_dict(self):
  545        return {
  546            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  547            'bind_interface': self.bind_interface,
  548            'discovery_enabled': self.discovery_enabled,
  549            'discovery_username': self.discovery_username,
  550            'egress_filter': self.egress_filter,
  551            'healthcheck_namespace': self.healthcheck_namespace,
  552            'healthy': self.healthy,
  553            'hostname': self.hostname,
  554            'id': self.id,
  555            'identity_alias_healthcheck_username':
  556            self.identity_alias_healthcheck_username,
  557            'identity_set_id': self.identity_set_id,
  558            'name': self.name,
  559            'port': self.port,
  560            'port_override': self.port_override,
  561            'proxy_cluster_id': self.proxy_cluster_id,
  562            'secret_store_id': self.secret_store_id,
  563            'subdomain': self.subdomain,
  564            'tags': self.tags,
  565            'token': self.token,
  566        }
  567
  568    @classmethod
  569    def from_dict(cls, d):
  570        return cls(
  571            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  572            bind_interface=d.get('bind_interface'),
  573            discovery_enabled=d.get('discovery_enabled'),
  574            discovery_username=d.get('discovery_username'),
  575            egress_filter=d.get('egress_filter'),
  576            healthcheck_namespace=d.get('healthcheck_namespace'),
  577            healthy=d.get('healthy'),
  578            hostname=d.get('hostname'),
  579            id=d.get('id'),
  580            identity_alias_healthcheck_username=d.get(
  581                'identity_alias_healthcheck_username'),
  582            identity_set_id=d.get('identity_set_id'),
  583            name=d.get('name'),
  584            port=d.get('port'),
  585            port_override=d.get('port_override'),
  586            proxy_cluster_id=d.get('proxy_cluster_id'),
  587            secret_store_id=d.get('secret_store_id'),
  588            subdomain=d.get('subdomain'),
  589            tags=d.get('tags'),
  590            token=d.get('token'),
  591        )
  592
  593
  594class AKSServiceAccountUserImpersonation:
  595    __slots__ = [
  596        'bind_interface',
  597        'egress_filter',
  598        'healthcheck_namespace',
  599        'healthy',
  600        'hostname',
  601        'id',
  602        'name',
  603        'port',
  604        'port_override',
  605        'proxy_cluster_id',
  606        'secret_store_id',
  607        'subdomain',
  608        'tags',
  609        'token',
  610    ]
  611
  612    def __init__(
  613        self,
  614        bind_interface=None,
  615        egress_filter=None,
  616        healthcheck_namespace=None,
  617        healthy=None,
  618        hostname=None,
  619        id=None,
  620        name=None,
  621        port=None,
  622        port_override=None,
  623        proxy_cluster_id=None,
  624        secret_store_id=None,
  625        subdomain=None,
  626        tags=None,
  627        token=None,
  628    ):
  629        self.bind_interface = bind_interface if bind_interface is not None else ''
  630        '''
  631         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  632        '''
  633        self.egress_filter = egress_filter if egress_filter is not None else ''
  634        '''
  635         A filter applied to the routing logic to pin datasource to nodes.
  636        '''
  637        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  638        '''
  639         The path used to check the health of your connection.  Defaults to `default`.
  640        '''
  641        self.healthy = healthy if healthy is not None else False
  642        '''
  643         True if the datasource is reachable and the credentials are valid.
  644        '''
  645        self.hostname = hostname if hostname is not None else ''
  646        '''
  647         The host to dial to initiate a connection from the egress node to this resource.
  648        '''
  649        self.id = id if id is not None else ''
  650        '''
  651         Unique identifier of the Resource.
  652        '''
  653        self.name = name if name is not None else ''
  654        '''
  655         Unique human-readable name of the Resource.
  656        '''
  657        self.port = port if port is not None else 0
  658        '''
  659         The port to dial to initiate a connection from the egress node to this resource.
  660        '''
  661        self.port_override = port_override if port_override is not None else 0
  662        '''
  663         The local port used by clients to connect to this resource.
  664        '''
  665        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  666        '''
  667         ID of the proxy cluster for this resource, if any.
  668        '''
  669        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  670        '''
  671         ID of the secret store containing credentials for this resource, if any.
  672        '''
  673        self.subdomain = subdomain if subdomain is not None else ''
  674        '''
  675         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  676        '''
  677        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  678        '''
  679         Tags is a map of key, value pairs.
  680        '''
  681        self.token = token if token is not None else ''
  682        '''
  683         The API token to authenticate with.
  684        '''
  685
  686    def __repr__(self):
  687        return '<sdm.AKSServiceAccountUserImpersonation ' + \
  688            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  689            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  690            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  691            'healthy: ' + repr(self.healthy) + ' ' +\
  692            'hostname: ' + repr(self.hostname) + ' ' +\
  693            'id: ' + repr(self.id) + ' ' +\
  694            'name: ' + repr(self.name) + ' ' +\
  695            'port: ' + repr(self.port) + ' ' +\
  696            'port_override: ' + repr(self.port_override) + ' ' +\
  697            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  698            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  699            'subdomain: ' + repr(self.subdomain) + ' ' +\
  700            'tags: ' + repr(self.tags) + ' ' +\
  701            'token: ' + repr(self.token) + ' ' +\
  702            '>'
  703
  704    def to_dict(self):
  705        return {
  706            'bind_interface': self.bind_interface,
  707            'egress_filter': self.egress_filter,
  708            'healthcheck_namespace': self.healthcheck_namespace,
  709            'healthy': self.healthy,
  710            'hostname': self.hostname,
  711            'id': self.id,
  712            'name': self.name,
  713            'port': self.port,
  714            'port_override': self.port_override,
  715            'proxy_cluster_id': self.proxy_cluster_id,
  716            'secret_store_id': self.secret_store_id,
  717            'subdomain': self.subdomain,
  718            'tags': self.tags,
  719            'token': self.token,
  720        }
  721
  722    @classmethod
  723    def from_dict(cls, d):
  724        return cls(
  725            bind_interface=d.get('bind_interface'),
  726            egress_filter=d.get('egress_filter'),
  727            healthcheck_namespace=d.get('healthcheck_namespace'),
  728            healthy=d.get('healthy'),
  729            hostname=d.get('hostname'),
  730            id=d.get('id'),
  731            name=d.get('name'),
  732            port=d.get('port'),
  733            port_override=d.get('port_override'),
  734            proxy_cluster_id=d.get('proxy_cluster_id'),
  735            secret_store_id=d.get('secret_store_id'),
  736            subdomain=d.get('subdomain'),
  737            tags=d.get('tags'),
  738            token=d.get('token'),
  739        )
  740
  741
  742class AKSUserImpersonation:
  743    __slots__ = [
  744        'bind_interface',
  745        'certificate_authority',
  746        'client_certificate',
  747        'client_key',
  748        'egress_filter',
  749        'healthcheck_namespace',
  750        'healthy',
  751        'hostname',
  752        'id',
  753        'name',
  754        'port',
  755        'port_override',
  756        'proxy_cluster_id',
  757        'secret_store_id',
  758        'subdomain',
  759        'tags',
  760    ]
  761
  762    def __init__(
  763        self,
  764        bind_interface=None,
  765        certificate_authority=None,
  766        client_certificate=None,
  767        client_key=None,
  768        egress_filter=None,
  769        healthcheck_namespace=None,
  770        healthy=None,
  771        hostname=None,
  772        id=None,
  773        name=None,
  774        port=None,
  775        port_override=None,
  776        proxy_cluster_id=None,
  777        secret_store_id=None,
  778        subdomain=None,
  779        tags=None,
  780    ):
  781        self.bind_interface = bind_interface if bind_interface is not None else ''
  782        '''
  783         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  784        '''
  785        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
  786        '''
  787         The CA to authenticate TLS connections with.
  788        '''
  789        self.client_certificate = client_certificate if client_certificate is not None else ''
  790        '''
  791         The certificate to authenticate TLS connections with.
  792        '''
  793        self.client_key = client_key if client_key is not None else ''
  794        '''
  795         The key to authenticate TLS connections with.
  796        '''
  797        self.egress_filter = egress_filter if egress_filter is not None else ''
  798        '''
  799         A filter applied to the routing logic to pin datasource to nodes.
  800        '''
  801        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  802        '''
  803         The path used to check the health of your connection.  Defaults to `default`.
  804        '''
  805        self.healthy = healthy if healthy is not None else False
  806        '''
  807         True if the datasource is reachable and the credentials are valid.
  808        '''
  809        self.hostname = hostname if hostname is not None else ''
  810        '''
  811         The host to dial to initiate a connection from the egress node to this resource.
  812        '''
  813        self.id = id if id is not None else ''
  814        '''
  815         Unique identifier of the Resource.
  816        '''
  817        self.name = name if name is not None else ''
  818        '''
  819         Unique human-readable name of the Resource.
  820        '''
  821        self.port = port if port is not None else 0
  822        '''
  823         The port to dial to initiate a connection from the egress node to this resource.
  824        '''
  825        self.port_override = port_override if port_override is not None else 0
  826        '''
  827         The local port used by clients to connect to this resource.
  828        '''
  829        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  830        '''
  831         ID of the proxy cluster for this resource, if any.
  832        '''
  833        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  834        '''
  835         ID of the secret store containing credentials for this resource, if any.
  836        '''
  837        self.subdomain = subdomain if subdomain is not None else ''
  838        '''
  839         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  840        '''
  841        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  842        '''
  843         Tags is a map of key, value pairs.
  844        '''
  845
  846    def __repr__(self):
  847        return '<sdm.AKSUserImpersonation ' + \
  848            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  849            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  850            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  851            'client_key: ' + repr(self.client_key) + ' ' +\
  852            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  853            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  854            'healthy: ' + repr(self.healthy) + ' ' +\
  855            'hostname: ' + repr(self.hostname) + ' ' +\
  856            'id: ' + repr(self.id) + ' ' +\
  857            'name: ' + repr(self.name) + ' ' +\
  858            'port: ' + repr(self.port) + ' ' +\
  859            'port_override: ' + repr(self.port_override) + ' ' +\
  860            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  861            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  862            'subdomain: ' + repr(self.subdomain) + ' ' +\
  863            'tags: ' + repr(self.tags) + ' ' +\
  864            '>'
  865
  866    def to_dict(self):
  867        return {
  868            'bind_interface': self.bind_interface,
  869            'certificate_authority': self.certificate_authority,
  870            'client_certificate': self.client_certificate,
  871            'client_key': self.client_key,
  872            'egress_filter': self.egress_filter,
  873            'healthcheck_namespace': self.healthcheck_namespace,
  874            'healthy': self.healthy,
  875            'hostname': self.hostname,
  876            'id': self.id,
  877            'name': self.name,
  878            'port': self.port,
  879            'port_override': self.port_override,
  880            'proxy_cluster_id': self.proxy_cluster_id,
  881            'secret_store_id': self.secret_store_id,
  882            'subdomain': self.subdomain,
  883            'tags': self.tags,
  884        }
  885
  886    @classmethod
  887    def from_dict(cls, d):
  888        return cls(
  889            bind_interface=d.get('bind_interface'),
  890            certificate_authority=d.get('certificate_authority'),
  891            client_certificate=d.get('client_certificate'),
  892            client_key=d.get('client_key'),
  893            egress_filter=d.get('egress_filter'),
  894            healthcheck_namespace=d.get('healthcheck_namespace'),
  895            healthy=d.get('healthy'),
  896            hostname=d.get('hostname'),
  897            id=d.get('id'),
  898            name=d.get('name'),
  899            port=d.get('port'),
  900            port_override=d.get('port_override'),
  901            proxy_cluster_id=d.get('proxy_cluster_id'),
  902            secret_store_id=d.get('secret_store_id'),
  903            subdomain=d.get('subdomain'),
  904            tags=d.get('tags'),
  905        )
  906
  907
  908class AWS:
  909    __slots__ = [
  910        'access_key',
  911        'bind_interface',
  912        'egress_filter',
  913        'healthcheck_region',
  914        'healthy',
  915        'id',
  916        'name',
  917        'port_override',
  918        'proxy_cluster_id',
  919        'role_arn',
  920        'role_external_id',
  921        'secret_access_key',
  922        'secret_store_id',
  923        'subdomain',
  924        'tags',
  925    ]
  926
  927    def __init__(
  928        self,
  929        access_key=None,
  930        bind_interface=None,
  931        egress_filter=None,
  932        healthcheck_region=None,
  933        healthy=None,
  934        id=None,
  935        name=None,
  936        port_override=None,
  937        proxy_cluster_id=None,
  938        role_arn=None,
  939        role_external_id=None,
  940        secret_access_key=None,
  941        secret_store_id=None,
  942        subdomain=None,
  943        tags=None,
  944    ):
  945        self.access_key = access_key if access_key is not None else ''
  946        '''
  947         The Access Key ID to use to authenticate.
  948        '''
  949        self.bind_interface = bind_interface if bind_interface is not None else ''
  950        '''
  951         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  952        '''
  953        self.egress_filter = egress_filter if egress_filter is not None else ''
  954        '''
  955         A filter applied to the routing logic to pin datasource to nodes.
  956        '''
  957        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
  958        '''
  959         The AWS region healthcheck requests should attempt to connect to.
  960        '''
  961        self.healthy = healthy if healthy is not None else False
  962        '''
  963         True if the datasource is reachable and the credentials are valid.
  964        '''
  965        self.id = id if id is not None else ''
  966        '''
  967         Unique identifier of the Resource.
  968        '''
  969        self.name = name if name is not None else ''
  970        '''
  971         Unique human-readable name of the Resource.
  972        '''
  973        self.port_override = port_override if port_override is not None else 0
  974        '''
  975         The local port used by clients to connect to this resource.
  976        '''
  977        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  978        '''
  979         ID of the proxy cluster for this resource, if any.
  980        '''
  981        self.role_arn = role_arn if role_arn is not None else ''
  982        '''
  983         The role to assume after logging in.
  984        '''
  985        self.role_external_id = role_external_id if role_external_id is not None else ''
  986        '''
  987         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
  988        '''
  989        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
  990        '''
  991         The Secret Access Key to use to authenticate.
  992        '''
  993        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  994        '''
  995         ID of the secret store containing credentials for this resource, if any.
  996        '''
  997        self.subdomain = subdomain if subdomain is not None else ''
  998        '''
  999         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1000        '''
 1001        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1002        '''
 1003         Tags is a map of key, value pairs.
 1004        '''
 1005
 1006    def __repr__(self):
 1007        return '<sdm.AWS ' + \
 1008            'access_key: ' + repr(self.access_key) + ' ' +\
 1009            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1010            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1011            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
 1012            'healthy: ' + repr(self.healthy) + ' ' +\
 1013            'id: ' + repr(self.id) + ' ' +\
 1014            'name: ' + repr(self.name) + ' ' +\
 1015            'port_override: ' + repr(self.port_override) + ' ' +\
 1016            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1017            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1018            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1019            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1020            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1021            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1022            'tags: ' + repr(self.tags) + ' ' +\
 1023            '>'
 1024
 1025    def to_dict(self):
 1026        return {
 1027            'access_key': self.access_key,
 1028            'bind_interface': self.bind_interface,
 1029            'egress_filter': self.egress_filter,
 1030            'healthcheck_region': self.healthcheck_region,
 1031            'healthy': self.healthy,
 1032            'id': self.id,
 1033            'name': self.name,
 1034            'port_override': self.port_override,
 1035            'proxy_cluster_id': self.proxy_cluster_id,
 1036            'role_arn': self.role_arn,
 1037            'role_external_id': self.role_external_id,
 1038            'secret_access_key': self.secret_access_key,
 1039            'secret_store_id': self.secret_store_id,
 1040            'subdomain': self.subdomain,
 1041            'tags': self.tags,
 1042        }
 1043
 1044    @classmethod
 1045    def from_dict(cls, d):
 1046        return cls(
 1047            access_key=d.get('access_key'),
 1048            bind_interface=d.get('bind_interface'),
 1049            egress_filter=d.get('egress_filter'),
 1050            healthcheck_region=d.get('healthcheck_region'),
 1051            healthy=d.get('healthy'),
 1052            id=d.get('id'),
 1053            name=d.get('name'),
 1054            port_override=d.get('port_override'),
 1055            proxy_cluster_id=d.get('proxy_cluster_id'),
 1056            role_arn=d.get('role_arn'),
 1057            role_external_id=d.get('role_external_id'),
 1058            secret_access_key=d.get('secret_access_key'),
 1059            secret_store_id=d.get('secret_store_id'),
 1060            subdomain=d.get('subdomain'),
 1061            tags=d.get('tags'),
 1062        )
 1063
 1064
 1065class AWSCertX509Store:
 1066    __slots__ = [
 1067        'caarn',
 1068        'certificatetemplatearn',
 1069        'id',
 1070        'issuedcertttlminutes',
 1071        'name',
 1072        'region',
 1073        'signingalgo',
 1074        'tags',
 1075    ]
 1076
 1077    def __init__(
 1078        self,
 1079        caarn=None,
 1080        certificatetemplatearn=None,
 1081        id=None,
 1082        issuedcertttlminutes=None,
 1083        name=None,
 1084        region=None,
 1085        signingalgo=None,
 1086        tags=None,
 1087    ):
 1088        self.caarn = caarn if caarn is not None else ''
 1089        '''
 1090         The ARN of the CA in AWS Private CA
 1091        '''
 1092        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
 1093        '''
 1094         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
 1095        '''
 1096        self.id = id if id is not None else ''
 1097        '''
 1098         Unique identifier of the SecretStore.
 1099        '''
 1100        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
 1101        '''
 1102         The lifetime of certificates issued by this CA represented in minutes.
 1103        '''
 1104        self.name = name if name is not None else ''
 1105        '''
 1106         Unique human-readable name of the SecretStore.
 1107        '''
 1108        self.region = region if region is not None else ''
 1109        '''
 1110         The AWS region to target e.g. us-east-1
 1111        '''
 1112        self.signingalgo = signingalgo if signingalgo is not None else ''
 1113        '''
 1114         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
 1115        '''
 1116        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1117        '''
 1118         Tags is a map of key, value pairs.
 1119        '''
 1120
 1121    def __repr__(self):
 1122        return '<sdm.AWSCertX509Store ' + \
 1123            'caarn: ' + repr(self.caarn) + ' ' +\
 1124            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
 1125            'id: ' + repr(self.id) + ' ' +\
 1126            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
 1127            'name: ' + repr(self.name) + ' ' +\
 1128            'region: ' + repr(self.region) + ' ' +\
 1129            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
 1130            'tags: ' + repr(self.tags) + ' ' +\
 1131            '>'
 1132
 1133    def to_dict(self):
 1134        return {
 1135            'caarn': self.caarn,
 1136            'certificatetemplatearn': self.certificatetemplatearn,
 1137            'id': self.id,
 1138            'issuedcertttlminutes': self.issuedcertttlminutes,
 1139            'name': self.name,
 1140            'region': self.region,
 1141            'signingalgo': self.signingalgo,
 1142            'tags': self.tags,
 1143        }
 1144
 1145    @classmethod
 1146    def from_dict(cls, d):
 1147        return cls(
 1148            caarn=d.get('caarn'),
 1149            certificatetemplatearn=d.get('certificatetemplatearn'),
 1150            id=d.get('id'),
 1151            issuedcertttlminutes=d.get('issuedcertttlminutes'),
 1152            name=d.get('name'),
 1153            region=d.get('region'),
 1154            signingalgo=d.get('signingalgo'),
 1155            tags=d.get('tags'),
 1156        )
 1157
 1158
 1159class AWSConsole:
 1160    __slots__ = [
 1161        'bind_interface',
 1162        'egress_filter',
 1163        'enable_env_variables',
 1164        'healthy',
 1165        'id',
 1166        'identity_alias_healthcheck_username',
 1167        'identity_set_id',
 1168        'name',
 1169        'port_override',
 1170        'proxy_cluster_id',
 1171        'region',
 1172        'role_arn',
 1173        'role_external_id',
 1174        'secret_store_id',
 1175        'session_expiry',
 1176        'subdomain',
 1177        'tags',
 1178    ]
 1179
 1180    def __init__(
 1181        self,
 1182        bind_interface=None,
 1183        egress_filter=None,
 1184        enable_env_variables=None,
 1185        healthy=None,
 1186        id=None,
 1187        identity_alias_healthcheck_username=None,
 1188        identity_set_id=None,
 1189        name=None,
 1190        port_override=None,
 1191        proxy_cluster_id=None,
 1192        region=None,
 1193        role_arn=None,
 1194        role_external_id=None,
 1195        secret_store_id=None,
 1196        session_expiry=None,
 1197        subdomain=None,
 1198        tags=None,
 1199    ):
 1200        self.bind_interface = bind_interface if bind_interface is not None else ''
 1201        '''
 1202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1203        '''
 1204        self.egress_filter = egress_filter if egress_filter is not None else ''
 1205        '''
 1206         A filter applied to the routing logic to pin datasource to nodes.
 1207        '''
 1208        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1209        '''
 1210         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1211        '''
 1212        self.healthy = healthy if healthy is not None else False
 1213        '''
 1214         True if the datasource is reachable and the credentials are valid.
 1215        '''
 1216        self.id = id if id is not None else ''
 1217        '''
 1218         Unique identifier of the Resource.
 1219        '''
 1220        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1221        '''
 1222         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1223        '''
 1224        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1225        '''
 1226         The ID of the identity set to use for identity connections.
 1227        '''
 1228        self.name = name if name is not None else ''
 1229        '''
 1230         Unique human-readable name of the Resource.
 1231        '''
 1232        self.port_override = port_override if port_override is not None else 0
 1233        '''
 1234         The local port used by clients to connect to this resource.
 1235        '''
 1236        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1237        '''
 1238         ID of the proxy cluster for this resource, if any.
 1239        '''
 1240        self.region = region if region is not None else ''
 1241        '''
 1242         The AWS region to connect to.
 1243        '''
 1244        self.role_arn = role_arn if role_arn is not None else ''
 1245        '''
 1246         The role to assume after logging in.
 1247        '''
 1248        self.role_external_id = role_external_id if role_external_id is not None else ''
 1249        '''
 1250         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1251        '''
 1252        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1253        '''
 1254         ID of the secret store containing credentials for this resource, if any.
 1255        '''
 1256        self.session_expiry = session_expiry if session_expiry is not None else 0
 1257        '''
 1258         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1259        '''
 1260        self.subdomain = subdomain if subdomain is not None else ''
 1261        '''
 1262         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1263        '''
 1264        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1265        '''
 1266         Tags is a map of key, value pairs.
 1267        '''
 1268
 1269    def __repr__(self):
 1270        return '<sdm.AWSConsole ' + \
 1271            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1273            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1274            'healthy: ' + repr(self.healthy) + ' ' +\
 1275            'id: ' + repr(self.id) + ' ' +\
 1276            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1277            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1278            'name: ' + repr(self.name) + ' ' +\
 1279            'port_override: ' + repr(self.port_override) + ' ' +\
 1280            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1281            'region: ' + repr(self.region) + ' ' +\
 1282            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1283            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1284            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1285            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1286            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1287            'tags: ' + repr(self.tags) + ' ' +\
 1288            '>'
 1289
 1290    def to_dict(self):
 1291        return {
 1292            'bind_interface': self.bind_interface,
 1293            'egress_filter': self.egress_filter,
 1294            'enable_env_variables': self.enable_env_variables,
 1295            'healthy': self.healthy,
 1296            'id': self.id,
 1297            'identity_alias_healthcheck_username':
 1298            self.identity_alias_healthcheck_username,
 1299            'identity_set_id': self.identity_set_id,
 1300            'name': self.name,
 1301            'port_override': self.port_override,
 1302            'proxy_cluster_id': self.proxy_cluster_id,
 1303            'region': self.region,
 1304            'role_arn': self.role_arn,
 1305            'role_external_id': self.role_external_id,
 1306            'secret_store_id': self.secret_store_id,
 1307            'session_expiry': self.session_expiry,
 1308            'subdomain': self.subdomain,
 1309            'tags': self.tags,
 1310        }
 1311
 1312    @classmethod
 1313    def from_dict(cls, d):
 1314        return cls(
 1315            bind_interface=d.get('bind_interface'),
 1316            egress_filter=d.get('egress_filter'),
 1317            enable_env_variables=d.get('enable_env_variables'),
 1318            healthy=d.get('healthy'),
 1319            id=d.get('id'),
 1320            identity_alias_healthcheck_username=d.get(
 1321                'identity_alias_healthcheck_username'),
 1322            identity_set_id=d.get('identity_set_id'),
 1323            name=d.get('name'),
 1324            port_override=d.get('port_override'),
 1325            proxy_cluster_id=d.get('proxy_cluster_id'),
 1326            region=d.get('region'),
 1327            role_arn=d.get('role_arn'),
 1328            role_external_id=d.get('role_external_id'),
 1329            secret_store_id=d.get('secret_store_id'),
 1330            session_expiry=d.get('session_expiry'),
 1331            subdomain=d.get('subdomain'),
 1332            tags=d.get('tags'),
 1333        )
 1334
 1335
 1336class AWSConsoleStaticKeyPair:
 1337    __slots__ = [
 1338        'access_key',
 1339        'bind_interface',
 1340        'egress_filter',
 1341        'healthy',
 1342        'id',
 1343        'identity_alias_healthcheck_username',
 1344        'identity_set_id',
 1345        'name',
 1346        'port_override',
 1347        'proxy_cluster_id',
 1348        'region',
 1349        'role_arn',
 1350        'role_external_id',
 1351        'secret_access_key',
 1352        'secret_store_id',
 1353        'session_expiry',
 1354        'subdomain',
 1355        'tags',
 1356    ]
 1357
 1358    def __init__(
 1359        self,
 1360        access_key=None,
 1361        bind_interface=None,
 1362        egress_filter=None,
 1363        healthy=None,
 1364        id=None,
 1365        identity_alias_healthcheck_username=None,
 1366        identity_set_id=None,
 1367        name=None,
 1368        port_override=None,
 1369        proxy_cluster_id=None,
 1370        region=None,
 1371        role_arn=None,
 1372        role_external_id=None,
 1373        secret_access_key=None,
 1374        secret_store_id=None,
 1375        session_expiry=None,
 1376        subdomain=None,
 1377        tags=None,
 1378    ):
 1379        self.access_key = access_key if access_key is not None else ''
 1380        '''
 1381         The Access Key ID to authenticate with.
 1382        '''
 1383        self.bind_interface = bind_interface if bind_interface is not None else ''
 1384        '''
 1385         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1386        '''
 1387        self.egress_filter = egress_filter if egress_filter is not None else ''
 1388        '''
 1389         A filter applied to the routing logic to pin datasource to nodes.
 1390        '''
 1391        self.healthy = healthy if healthy is not None else False
 1392        '''
 1393         True if the datasource is reachable and the credentials are valid.
 1394        '''
 1395        self.id = id if id is not None else ''
 1396        '''
 1397         Unique identifier of the Resource.
 1398        '''
 1399        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1400        '''
 1401         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1402        '''
 1403        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1404        '''
 1405         The ID of the identity set to use for identity connections.
 1406        '''
 1407        self.name = name if name is not None else ''
 1408        '''
 1409         Unique human-readable name of the Resource.
 1410        '''
 1411        self.port_override = port_override if port_override is not None else 0
 1412        '''
 1413         The local port used by clients to connect to this resource.
 1414        '''
 1415        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1416        '''
 1417         ID of the proxy cluster for this resource, if any.
 1418        '''
 1419        self.region = region if region is not None else ''
 1420        '''
 1421         The AWS region to connect to.
 1422        '''
 1423        self.role_arn = role_arn if role_arn is not None else ''
 1424        '''
 1425         The role to assume after logging in.
 1426        '''
 1427        self.role_external_id = role_external_id if role_external_id is not None else ''
 1428        '''
 1429         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1430        '''
 1431        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1432        '''
 1433         The Secret Access Key to authenticate with.
 1434        '''
 1435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1436        '''
 1437         ID of the secret store containing credentials for this resource, if any.
 1438        '''
 1439        self.session_expiry = session_expiry if session_expiry is not None else 0
 1440        '''
 1441         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1442        '''
 1443        self.subdomain = subdomain if subdomain is not None else ''
 1444        '''
 1445         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1446        '''
 1447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1448        '''
 1449         Tags is a map of key, value pairs.
 1450        '''
 1451
 1452    def __repr__(self):
 1453        return '<sdm.AWSConsoleStaticKeyPair ' + \
 1454            'access_key: ' + repr(self.access_key) + ' ' +\
 1455            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1456            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1457            'healthy: ' + repr(self.healthy) + ' ' +\
 1458            'id: ' + repr(self.id) + ' ' +\
 1459            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1460            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1461            'name: ' + repr(self.name) + ' ' +\
 1462            'port_override: ' + repr(self.port_override) + ' ' +\
 1463            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1464            'region: ' + repr(self.region) + ' ' +\
 1465            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1466            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1467            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1469            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1470            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1471            'tags: ' + repr(self.tags) + ' ' +\
 1472            '>'
 1473
 1474    def to_dict(self):
 1475        return {
 1476            'access_key': self.access_key,
 1477            'bind_interface': self.bind_interface,
 1478            'egress_filter': self.egress_filter,
 1479            'healthy': self.healthy,
 1480            'id': self.id,
 1481            'identity_alias_healthcheck_username':
 1482            self.identity_alias_healthcheck_username,
 1483            'identity_set_id': self.identity_set_id,
 1484            'name': self.name,
 1485            'port_override': self.port_override,
 1486            'proxy_cluster_id': self.proxy_cluster_id,
 1487            'region': self.region,
 1488            'role_arn': self.role_arn,
 1489            'role_external_id': self.role_external_id,
 1490            'secret_access_key': self.secret_access_key,
 1491            'secret_store_id': self.secret_store_id,
 1492            'session_expiry': self.session_expiry,
 1493            'subdomain': self.subdomain,
 1494            'tags': self.tags,
 1495        }
 1496
 1497    @classmethod
 1498    def from_dict(cls, d):
 1499        return cls(
 1500            access_key=d.get('access_key'),
 1501            bind_interface=d.get('bind_interface'),
 1502            egress_filter=d.get('egress_filter'),
 1503            healthy=d.get('healthy'),
 1504            id=d.get('id'),
 1505            identity_alias_healthcheck_username=d.get(
 1506                'identity_alias_healthcheck_username'),
 1507            identity_set_id=d.get('identity_set_id'),
 1508            name=d.get('name'),
 1509            port_override=d.get('port_override'),
 1510            proxy_cluster_id=d.get('proxy_cluster_id'),
 1511            region=d.get('region'),
 1512            role_arn=d.get('role_arn'),
 1513            role_external_id=d.get('role_external_id'),
 1514            secret_access_key=d.get('secret_access_key'),
 1515            secret_store_id=d.get('secret_store_id'),
 1516            session_expiry=d.get('session_expiry'),
 1517            subdomain=d.get('subdomain'),
 1518            tags=d.get('tags'),
 1519        )
 1520
 1521
 1522class AWSInstanceProfile:
 1523    __slots__ = [
 1524        'bind_interface',
 1525        'egress_filter',
 1526        'enable_env_variables',
 1527        'healthy',
 1528        'id',
 1529        'name',
 1530        'port_override',
 1531        'proxy_cluster_id',
 1532        'region',
 1533        'role_arn',
 1534        'role_external_id',
 1535        'secret_store_id',
 1536        'subdomain',
 1537        'tags',
 1538    ]
 1539
 1540    def __init__(
 1541        self,
 1542        bind_interface=None,
 1543        egress_filter=None,
 1544        enable_env_variables=None,
 1545        healthy=None,
 1546        id=None,
 1547        name=None,
 1548        port_override=None,
 1549        proxy_cluster_id=None,
 1550        region=None,
 1551        role_arn=None,
 1552        role_external_id=None,
 1553        secret_store_id=None,
 1554        subdomain=None,
 1555        tags=None,
 1556    ):
 1557        self.bind_interface = bind_interface if bind_interface is not None else ''
 1558        '''
 1559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1560        '''
 1561        self.egress_filter = egress_filter if egress_filter is not None else ''
 1562        '''
 1563         A filter applied to the routing logic to pin datasource to nodes.
 1564        '''
 1565        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1566        '''
 1567         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1568        '''
 1569        self.healthy = healthy if healthy is not None else False
 1570        '''
 1571         True if the datasource is reachable and the credentials are valid.
 1572        '''
 1573        self.id = id if id is not None else ''
 1574        '''
 1575         Unique identifier of the Resource.
 1576        '''
 1577        self.name = name if name is not None else ''
 1578        '''
 1579         Unique human-readable name of the Resource.
 1580        '''
 1581        self.port_override = port_override if port_override is not None else 0
 1582        '''
 1583         The local port used by clients to connect to this resource.
 1584        '''
 1585        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1586        '''
 1587         ID of the proxy cluster for this resource, if any.
 1588        '''
 1589        self.region = region if region is not None else ''
 1590        '''
 1591         The AWS region to connect to.
 1592        '''
 1593        self.role_arn = role_arn if role_arn is not None else ''
 1594        '''
 1595         The role to assume after logging in.
 1596        '''
 1597        self.role_external_id = role_external_id if role_external_id is not None else ''
 1598        '''
 1599         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1600        '''
 1601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1602        '''
 1603         ID of the secret store containing credentials for this resource, if any.
 1604        '''
 1605        self.subdomain = subdomain if subdomain is not None else ''
 1606        '''
 1607         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1608        '''
 1609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1610        '''
 1611         Tags is a map of key, value pairs.
 1612        '''
 1613
 1614    def __repr__(self):
 1615        return '<sdm.AWSInstanceProfile ' + \
 1616            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1617            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1618            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1619            'healthy: ' + repr(self.healthy) + ' ' +\
 1620            'id: ' + repr(self.id) + ' ' +\
 1621            'name: ' + repr(self.name) + ' ' +\
 1622            'port_override: ' + repr(self.port_override) + ' ' +\
 1623            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1624            'region: ' + repr(self.region) + ' ' +\
 1625            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1626            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1627            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1628            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1629            'tags: ' + repr(self.tags) + ' ' +\
 1630            '>'
 1631
 1632    def to_dict(self):
 1633        return {
 1634            'bind_interface': self.bind_interface,
 1635            'egress_filter': self.egress_filter,
 1636            'enable_env_variables': self.enable_env_variables,
 1637            'healthy': self.healthy,
 1638            'id': self.id,
 1639            'name': self.name,
 1640            'port_override': self.port_override,
 1641            'proxy_cluster_id': self.proxy_cluster_id,
 1642            'region': self.region,
 1643            'role_arn': self.role_arn,
 1644            'role_external_id': self.role_external_id,
 1645            'secret_store_id': self.secret_store_id,
 1646            'subdomain': self.subdomain,
 1647            'tags': self.tags,
 1648        }
 1649
 1650    @classmethod
 1651    def from_dict(cls, d):
 1652        return cls(
 1653            bind_interface=d.get('bind_interface'),
 1654            egress_filter=d.get('egress_filter'),
 1655            enable_env_variables=d.get('enable_env_variables'),
 1656            healthy=d.get('healthy'),
 1657            id=d.get('id'),
 1658            name=d.get('name'),
 1659            port_override=d.get('port_override'),
 1660            proxy_cluster_id=d.get('proxy_cluster_id'),
 1661            region=d.get('region'),
 1662            role_arn=d.get('role_arn'),
 1663            role_external_id=d.get('role_external_id'),
 1664            secret_store_id=d.get('secret_store_id'),
 1665            subdomain=d.get('subdomain'),
 1666            tags=d.get('tags'),
 1667        )
 1668
 1669
 1670class AWSStore:
 1671    __slots__ = [
 1672        'id',
 1673        'name',
 1674        'region',
 1675        'tags',
 1676    ]
 1677
 1678    def __init__(
 1679        self,
 1680        id=None,
 1681        name=None,
 1682        region=None,
 1683        tags=None,
 1684    ):
 1685        self.id = id if id is not None else ''
 1686        '''
 1687         Unique identifier of the SecretStore.
 1688        '''
 1689        self.name = name if name is not None else ''
 1690        '''
 1691         Unique human-readable name of the SecretStore.
 1692        '''
 1693        self.region = region if region is not None else ''
 1694        '''
 1695         The AWS region to target e.g. us-east-1
 1696        '''
 1697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1698        '''
 1699         Tags is a map of key, value pairs.
 1700        '''
 1701
 1702    def __repr__(self):
 1703        return '<sdm.AWSStore ' + \
 1704            'id: ' + repr(self.id) + ' ' +\
 1705            'name: ' + repr(self.name) + ' ' +\
 1706            'region: ' + repr(self.region) + ' ' +\
 1707            'tags: ' + repr(self.tags) + ' ' +\
 1708            '>'
 1709
 1710    def to_dict(self):
 1711        return {
 1712            'id': self.id,
 1713            'name': self.name,
 1714            'region': self.region,
 1715            'tags': self.tags,
 1716        }
 1717
 1718    @classmethod
 1719    def from_dict(cls, d):
 1720        return cls(
 1721            id=d.get('id'),
 1722            name=d.get('name'),
 1723            region=d.get('region'),
 1724            tags=d.get('tags'),
 1725        )
 1726
 1727
 1728class AccessRequest:
 1729    '''
 1730         AccessRequests are requests for access to a resource that may match a Workflow.
 1731    '''
 1732    __slots__ = [
 1733        'account_id',
 1734        'duration',
 1735        'grant_id',
 1736        'id',
 1737        'reason',
 1738        'requestedduration',
 1739        'resource_id',
 1740        'resultduration',
 1741        'start_from',
 1742        'status',
 1743        'status_at',
 1744        'valid_until',
 1745        'workflow_id',
 1746    ]
 1747
 1748    def __init__(
 1749        self,
 1750        account_id=None,
 1751        duration=None,
 1752        grant_id=None,
 1753        id=None,
 1754        reason=None,
 1755        requestedduration=None,
 1756        resource_id=None,
 1757        resultduration=None,
 1758        start_from=None,
 1759        status=None,
 1760        status_at=None,
 1761        valid_until=None,
 1762        workflow_id=None,
 1763    ):
 1764        self.account_id = account_id if account_id is not None else ''
 1765        '''
 1766         The account that initiated the request.
 1767        '''
 1768        self.duration = duration if duration is not None else 0
 1769        '''
 1770         Duration of the access request.
 1771         Deprecated: use requested/result duration instead
 1772        '''
 1773        self.grant_id = grant_id if grant_id is not None else ''
 1774        '''
 1775         The account grant created, if it exists.
 1776        '''
 1777        self.id = id if id is not None else ''
 1778        '''
 1779         The access request id.
 1780        '''
 1781        self.reason = reason if reason is not None else ''
 1782        '''
 1783         The reason the access was requested.
 1784        '''
 1785        self.requestedduration = requestedduration if requestedduration is not None else None
 1786        '''
 1787         The duration that access was requested for, if any.
 1788        '''
 1789        self.resource_id = resource_id if resource_id is not None else ''
 1790        '''
 1791         The resource id.
 1792        '''
 1793        self.resultduration = resultduration if resultduration is not None else None
 1794        '''
 1795         The duration that results from an approved request.
 1796        '''
 1797        self.start_from = start_from if start_from is not None else None
 1798        '''
 1799         The timestamp when the requested access will be granted.
 1800         If this field is not specified it will default to the current time.
 1801        '''
 1802        self.status = status if status is not None else ''
 1803        '''
 1804         The status of the access request.
 1805        '''
 1806        self.status_at = status_at if status_at is not None else None
 1807        '''
 1808         The timestamp when the status changed.
 1809        '''
 1810        self.valid_until = valid_until if valid_until is not None else None
 1811        '''
 1812         The timestamp when the requested access will expire.
 1813        '''
 1814        self.workflow_id = workflow_id if workflow_id is not None else ''
 1815        '''
 1816         The workflow the request bound to.
 1817        '''
 1818
 1819    def __repr__(self):
 1820        return '<sdm.AccessRequest ' + \
 1821            'account_id: ' + repr(self.account_id) + ' ' +\
 1822            'duration: ' + repr(self.duration) + ' ' +\
 1823            'grant_id: ' + repr(self.grant_id) + ' ' +\
 1824            'id: ' + repr(self.id) + ' ' +\
 1825            'reason: ' + repr(self.reason) + ' ' +\
 1826            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
 1827            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1828            'resultduration: ' + repr(self.resultduration) + ' ' +\
 1829            'start_from: ' + repr(self.start_from) + ' ' +\
 1830            'status: ' + repr(self.status) + ' ' +\
 1831            'status_at: ' + repr(self.status_at) + ' ' +\
 1832            'valid_until: ' + repr(self.valid_until) + ' ' +\
 1833            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
 1834            '>'
 1835
 1836    def to_dict(self):
 1837        return {
 1838            'account_id': self.account_id,
 1839            'duration': self.duration,
 1840            'grant_id': self.grant_id,
 1841            'id': self.id,
 1842            'reason': self.reason,
 1843            'requestedduration': self.requestedduration,
 1844            'resource_id': self.resource_id,
 1845            'resultduration': self.resultduration,
 1846            'start_from': self.start_from,
 1847            'status': self.status,
 1848            'status_at': self.status_at,
 1849            'valid_until': self.valid_until,
 1850            'workflow_id': self.workflow_id,
 1851        }
 1852
 1853    @classmethod
 1854    def from_dict(cls, d):
 1855        return cls(
 1856            account_id=d.get('account_id'),
 1857            duration=d.get('duration'),
 1858            grant_id=d.get('grant_id'),
 1859            id=d.get('id'),
 1860            reason=d.get('reason'),
 1861            requestedduration=d.get('requestedduration'),
 1862            resource_id=d.get('resource_id'),
 1863            resultduration=d.get('resultduration'),
 1864            start_from=d.get('start_from'),
 1865            status=d.get('status'),
 1866            status_at=d.get('status_at'),
 1867            valid_until=d.get('valid_until'),
 1868            workflow_id=d.get('workflow_id'),
 1869        )
 1870
 1871
 1872class AccessRequestConfig:
 1873    '''
 1874         AccessRequestConfig holds the information required to request access to a resource
 1875    '''
 1876    __slots__ = [
 1877        'duration',
 1878        'reason',
 1879        'resource_id',
 1880        'start_from',
 1881    ]
 1882
 1883    def __init__(
 1884        self,
 1885        duration=None,
 1886        reason=None,
 1887        resource_id=None,
 1888        start_from=None,
 1889    ):
 1890        self.duration = duration if duration is not None else ''
 1891        '''
 1892         The time access should end, defaults to the next occurance of 5 pm
 1893        '''
 1894        self.reason = reason if reason is not None else ''
 1895        '''
 1896         The reason for access
 1897        '''
 1898        self.resource_id = resource_id if resource_id is not None else ''
 1899        '''
 1900         The resource for which access is being requested
 1901        '''
 1902        self.start_from = start_from if start_from is not None else None
 1903        '''
 1904         The time access should start, defaults to now
 1905        '''
 1906
 1907    def __repr__(self):
 1908        return '<sdm.AccessRequestConfig ' + \
 1909            'duration: ' + repr(self.duration) + ' ' +\
 1910            'reason: ' + repr(self.reason) + ' ' +\
 1911            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1912            'start_from: ' + repr(self.start_from) + ' ' +\
 1913            '>'
 1914
 1915    def to_dict(self):
 1916        return {
 1917            'duration': self.duration,
 1918            'reason': self.reason,
 1919            'resource_id': self.resource_id,
 1920            'start_from': self.start_from,
 1921        }
 1922
 1923    @classmethod
 1924    def from_dict(cls, d):
 1925        return cls(
 1926            duration=d.get('duration'),
 1927            reason=d.get('reason'),
 1928            resource_id=d.get('resource_id'),
 1929            start_from=d.get('start_from'),
 1930        )
 1931
 1932
 1933class AccessRequestEvent:
 1934    '''
 1935         AccessRequestEvents hold information about events related to an access
 1936     request such as creation, approval and denial.
 1937    '''
 1938    __slots__ = [
 1939        'actor_id',
 1940        'id',
 1941        'metadata',
 1942        'request_id',
 1943        'type',
 1944    ]
 1945
 1946    def __init__(
 1947        self,
 1948        actor_id=None,
 1949        id=None,
 1950        metadata=None,
 1951        request_id=None,
 1952        type=None,
 1953    ):
 1954        self.actor_id = actor_id if actor_id is not None else ''
 1955        '''
 1956         The account responsible for the event.
 1957        '''
 1958        self.id = id if id is not None else ''
 1959        '''
 1960         The access request event id.
 1961        '''
 1962        self.metadata = metadata if metadata is not None else ''
 1963        '''
 1964         The metadata about the event
 1965        '''
 1966        self.request_id = request_id if request_id is not None else ''
 1967        '''
 1968         The request that the event is bound to.
 1969        '''
 1970        self.type = type if type is not None else ''
 1971        '''
 1972         The type of event.
 1973        '''
 1974
 1975    def __repr__(self):
 1976        return '<sdm.AccessRequestEvent ' + \
 1977            'actor_id: ' + repr(self.actor_id) + ' ' +\
 1978            'id: ' + repr(self.id) + ' ' +\
 1979            'metadata: ' + repr(self.metadata) + ' ' +\
 1980            'request_id: ' + repr(self.request_id) + ' ' +\
 1981            'type: ' + repr(self.type) + ' ' +\
 1982            '>'
 1983
 1984    def to_dict(self):
 1985        return {
 1986            'actor_id': self.actor_id,
 1987            'id': self.id,
 1988            'metadata': self.metadata,
 1989            'request_id': self.request_id,
 1990            'type': self.type,
 1991        }
 1992
 1993    @classmethod
 1994    def from_dict(cls, d):
 1995        return cls(
 1996            actor_id=d.get('actor_id'),
 1997            id=d.get('id'),
 1998            metadata=d.get('metadata'),
 1999            request_id=d.get('request_id'),
 2000            type=d.get('type'),
 2001        )
 2002
 2003
 2004class AccessRequestEventHistory:
 2005    '''
 2006         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
 2007     where every change (create, update and delete) to a AccessRequest produces an
 2008     AccessRequestEventHistory record.
 2009    '''
 2010    __slots__ = [
 2011        'access_request_event',
 2012        'activity_id',
 2013        'deleted_at',
 2014        'timestamp',
 2015    ]
 2016
 2017    def __init__(
 2018        self,
 2019        access_request_event=None,
 2020        activity_id=None,
 2021        deleted_at=None,
 2022        timestamp=None,
 2023    ):
 2024        self.access_request_event = access_request_event if access_request_event is not None else None
 2025        '''
 2026         The complete AccessRequestEvent state at this time.
 2027        '''
 2028        self.activity_id = activity_id if activity_id is not None else ''
 2029        '''
 2030         The unique identifier of the Activity that produced this change to the AccessRequest.
 2031         May be empty for some system-initiated updates.
 2032        '''
 2033        self.deleted_at = deleted_at if deleted_at is not None else None
 2034        '''
 2035         If this Workflow was deleted, the time it was deleted.
 2036        '''
 2037        self.timestamp = timestamp if timestamp is not None else None
 2038        '''
 2039         The time at which the AccessRequest state was recorded.
 2040        '''
 2041
 2042    def __repr__(self):
 2043        return '<sdm.AccessRequestEventHistory ' + \
 2044            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
 2045            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2046            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2047            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2048            '>'
 2049
 2050    def to_dict(self):
 2051        return {
 2052            'access_request_event': self.access_request_event,
 2053            'activity_id': self.activity_id,
 2054            'deleted_at': self.deleted_at,
 2055            'timestamp': self.timestamp,
 2056        }
 2057
 2058    @classmethod
 2059    def from_dict(cls, d):
 2060        return cls(
 2061            access_request_event=d.get('access_request_event'),
 2062            activity_id=d.get('activity_id'),
 2063            deleted_at=d.get('deleted_at'),
 2064            timestamp=d.get('timestamp'),
 2065        )
 2066
 2067
 2068class AccessRequestHistory:
 2069    '''
 2070         AccessRequestHistory records the state of a AccessRequest at a given point in time,
 2071     where every change (create, update and delete) to a AccessRequest produces an
 2072     AccessRequestHistory record.
 2073    '''
 2074    __slots__ = [
 2075        'access_request',
 2076        'activity_id',
 2077        'deleted_at',
 2078        'timestamp',
 2079    ]
 2080
 2081    def __init__(
 2082        self,
 2083        access_request=None,
 2084        activity_id=None,
 2085        deleted_at=None,
 2086        timestamp=None,
 2087    ):
 2088        self.access_request = access_request if access_request is not None else None
 2089        '''
 2090         The complete AccessRequest state at this time.
 2091        '''
 2092        self.activity_id = activity_id if activity_id is not None else ''
 2093        '''
 2094         The unique identifier of the Activity that produced this change to the AccessRequest.
 2095         May be empty for some system-initiated updates.
 2096        '''
 2097        self.deleted_at = deleted_at if deleted_at is not None else None
 2098        '''
 2099         If this Workflow was deleted, the time it was deleted.
 2100        '''
 2101        self.timestamp = timestamp if timestamp is not None else None
 2102        '''
 2103         The time at which the AccessRequest state was recorded.
 2104        '''
 2105
 2106    def __repr__(self):
 2107        return '<sdm.AccessRequestHistory ' + \
 2108            'access_request: ' + repr(self.access_request) + ' ' +\
 2109            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2110            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2111            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2112            '>'
 2113
 2114    def to_dict(self):
 2115        return {
 2116            'access_request': self.access_request,
 2117            'activity_id': self.activity_id,
 2118            'deleted_at': self.deleted_at,
 2119            'timestamp': self.timestamp,
 2120        }
 2121
 2122    @classmethod
 2123    def from_dict(cls, d):
 2124        return cls(
 2125            access_request=d.get('access_request'),
 2126            activity_id=d.get('activity_id'),
 2127            deleted_at=d.get('deleted_at'),
 2128            timestamp=d.get('timestamp'),
 2129        )
 2130
 2131
 2132class AccessRequestListRequest:
 2133    '''
 2134         AccessRequestListRequest specifies criteria for retrieving a list of
 2135     AccessRequest records
 2136    '''
 2137    __slots__ = [
 2138        'filter',
 2139    ]
 2140
 2141    def __init__(
 2142        self,
 2143        filter=None,
 2144    ):
 2145        self.filter = filter if filter is not None else ''
 2146        '''
 2147         A human-readable filter query string.
 2148        '''
 2149
 2150    def __repr__(self):
 2151        return '<sdm.AccessRequestListRequest ' + \
 2152            'filter: ' + repr(self.filter) + ' ' +\
 2153            '>'
 2154
 2155    def to_dict(self):
 2156        return {
 2157            'filter': self.filter,
 2158        }
 2159
 2160    @classmethod
 2161    def from_dict(cls, d):
 2162        return cls(filter=d.get('filter'), )
 2163
 2164
 2165class AccessRequestListResponse:
 2166    '''
 2167         AccessRequestListResponse returns a list of access requests records that meet
 2168     the criteria of a AccessRequestListRequest.
 2169    '''
 2170    __slots__ = [
 2171        'rate_limit',
 2172    ]
 2173
 2174    def __init__(
 2175        self,
 2176        rate_limit=None,
 2177    ):
 2178        self.rate_limit = rate_limit if rate_limit is not None else None
 2179        '''
 2180         Rate limit information.
 2181        '''
 2182
 2183    def __repr__(self):
 2184        return '<sdm.AccessRequestListResponse ' + \
 2185            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2186            '>'
 2187
 2188    def to_dict(self):
 2189        return {
 2190            'rate_limit': self.rate_limit,
 2191        }
 2192
 2193    @classmethod
 2194    def from_dict(cls, d):
 2195        return cls(rate_limit=d.get('rate_limit'), )
 2196
 2197
 2198class AccountAttachment:
 2199    '''
 2200         AccountAttachments assign an account to a role.
 2201    '''
 2202    __slots__ = [
 2203        'account_id',
 2204        'id',
 2205        'role_id',
 2206    ]
 2207
 2208    def __init__(
 2209        self,
 2210        account_id=None,
 2211        id=None,
 2212        role_id=None,
 2213    ):
 2214        self.account_id = account_id if account_id is not None else ''
 2215        '''
 2216         The id of the account of this AccountAttachment.
 2217        '''
 2218        self.id = id if id is not None else ''
 2219        '''
 2220         Unique identifier of the AccountAttachment.
 2221        '''
 2222        self.role_id = role_id if role_id is not None else ''
 2223        '''
 2224         The id of the attached role of this AccountAttachment.
 2225        '''
 2226
 2227    def __repr__(self):
 2228        return '<sdm.AccountAttachment ' + \
 2229            'account_id: ' + repr(self.account_id) + ' ' +\
 2230            'id: ' + repr(self.id) + ' ' +\
 2231            'role_id: ' + repr(self.role_id) + ' ' +\
 2232            '>'
 2233
 2234    def to_dict(self):
 2235        return {
 2236            'account_id': self.account_id,
 2237            'id': self.id,
 2238            'role_id': self.role_id,
 2239        }
 2240
 2241    @classmethod
 2242    def from_dict(cls, d):
 2243        return cls(
 2244            account_id=d.get('account_id'),
 2245            id=d.get('id'),
 2246            role_id=d.get('role_id'),
 2247        )
 2248
 2249
 2250class AccountAttachmentCreateResponse:
 2251    '''
 2252         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
 2253    '''
 2254    __slots__ = [
 2255        'account_attachment',
 2256        'meta',
 2257        'rate_limit',
 2258    ]
 2259
 2260    def __init__(
 2261        self,
 2262        account_attachment=None,
 2263        meta=None,
 2264        rate_limit=None,
 2265    ):
 2266        self.account_attachment = account_attachment if account_attachment is not None else None
 2267        '''
 2268         The created AccountAttachment.
 2269        '''
 2270        self.meta = meta if meta is not None else None
 2271        '''
 2272         Reserved for future use.
 2273        '''
 2274        self.rate_limit = rate_limit if rate_limit is not None else None
 2275        '''
 2276         Rate limit information.
 2277        '''
 2278
 2279    def __repr__(self):
 2280        return '<sdm.AccountAttachmentCreateResponse ' + \
 2281            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2282            'meta: ' + repr(self.meta) + ' ' +\
 2283            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2284            '>'
 2285
 2286    def to_dict(self):
 2287        return {
 2288            'account_attachment': self.account_attachment,
 2289            'meta': self.meta,
 2290            'rate_limit': self.rate_limit,
 2291        }
 2292
 2293    @classmethod
 2294    def from_dict(cls, d):
 2295        return cls(
 2296            account_attachment=d.get('account_attachment'),
 2297            meta=d.get('meta'),
 2298            rate_limit=d.get('rate_limit'),
 2299        )
 2300
 2301
 2302class AccountAttachmentDeleteResponse:
 2303    '''
 2304         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
 2305    '''
 2306    __slots__ = [
 2307        'meta',
 2308        'rate_limit',
 2309    ]
 2310
 2311    def __init__(
 2312        self,
 2313        meta=None,
 2314        rate_limit=None,
 2315    ):
 2316        self.meta = meta if meta is not None else None
 2317        '''
 2318         Reserved for future use.
 2319        '''
 2320        self.rate_limit = rate_limit if rate_limit is not None else None
 2321        '''
 2322         Rate limit information.
 2323        '''
 2324
 2325    def __repr__(self):
 2326        return '<sdm.AccountAttachmentDeleteResponse ' + \
 2327            'meta: ' + repr(self.meta) + ' ' +\
 2328            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2329            '>'
 2330
 2331    def to_dict(self):
 2332        return {
 2333            'meta': self.meta,
 2334            'rate_limit': self.rate_limit,
 2335        }
 2336
 2337    @classmethod
 2338    def from_dict(cls, d):
 2339        return cls(
 2340            meta=d.get('meta'),
 2341            rate_limit=d.get('rate_limit'),
 2342        )
 2343
 2344
 2345class AccountAttachmentGetResponse:
 2346    '''
 2347         AccountAttachmentGetResponse returns a requested AccountAttachment.
 2348    '''
 2349    __slots__ = [
 2350        'account_attachment',
 2351        'meta',
 2352        'rate_limit',
 2353    ]
 2354
 2355    def __init__(
 2356        self,
 2357        account_attachment=None,
 2358        meta=None,
 2359        rate_limit=None,
 2360    ):
 2361        self.account_attachment = account_attachment if account_attachment is not None else None
 2362        '''
 2363         The requested AccountAttachment.
 2364        '''
 2365        self.meta = meta if meta is not None else None
 2366        '''
 2367         Reserved for future use.
 2368        '''
 2369        self.rate_limit = rate_limit if rate_limit is not None else None
 2370        '''
 2371         Rate limit information.
 2372        '''
 2373
 2374    def __repr__(self):
 2375        return '<sdm.AccountAttachmentGetResponse ' + \
 2376            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2377            'meta: ' + repr(self.meta) + ' ' +\
 2378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2379            '>'
 2380
 2381    def to_dict(self):
 2382        return {
 2383            'account_attachment': self.account_attachment,
 2384            'meta': self.meta,
 2385            'rate_limit': self.rate_limit,
 2386        }
 2387
 2388    @classmethod
 2389    def from_dict(cls, d):
 2390        return cls(
 2391            account_attachment=d.get('account_attachment'),
 2392            meta=d.get('meta'),
 2393            rate_limit=d.get('rate_limit'),
 2394        )
 2395
 2396
 2397class AccountAttachmentHistory:
 2398    '''
 2399         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
 2400     where every change (create or delete) to an AccountAttachment produces an
 2401     AccountAttachmentHistory record.
 2402    '''
 2403    __slots__ = [
 2404        'account_attachment',
 2405        'activity_id',
 2406        'deleted_at',
 2407        'timestamp',
 2408    ]
 2409
 2410    def __init__(
 2411        self,
 2412        account_attachment=None,
 2413        activity_id=None,
 2414        deleted_at=None,
 2415        timestamp=None,
 2416    ):
 2417        self.account_attachment = account_attachment if account_attachment is not None else None
 2418        '''
 2419         The complete AccountAttachment state at this time.
 2420        '''
 2421        self.activity_id = activity_id if activity_id is not None else ''
 2422        '''
 2423         The unique identifier of the Activity that produced this change to the AccountAttachment.
 2424         May be empty for some system-initiated updates.
 2425        '''
 2426        self.deleted_at = deleted_at if deleted_at is not None else None
 2427        '''
 2428         If this AccountAttachment was deleted, the time it was deleted.
 2429        '''
 2430        self.timestamp = timestamp if timestamp is not None else None
 2431        '''
 2432         The time at which the AccountAttachment state was recorded.
 2433        '''
 2434
 2435    def __repr__(self):
 2436        return '<sdm.AccountAttachmentHistory ' + \
 2437            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2438            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2439            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2440            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2441            '>'
 2442
 2443    def to_dict(self):
 2444        return {
 2445            'account_attachment': self.account_attachment,
 2446            'activity_id': self.activity_id,
 2447            'deleted_at': self.deleted_at,
 2448            'timestamp': self.timestamp,
 2449        }
 2450
 2451    @classmethod
 2452    def from_dict(cls, d):
 2453        return cls(
 2454            account_attachment=d.get('account_attachment'),
 2455            activity_id=d.get('activity_id'),
 2456            deleted_at=d.get('deleted_at'),
 2457            timestamp=d.get('timestamp'),
 2458        )
 2459
 2460
 2461class AccountCreateResponse:
 2462    '''
 2463         AccountCreateResponse reports how the Accounts were created in the system.
 2464    '''
 2465    __slots__ = [
 2466        'access_key',
 2467        'account',
 2468        'meta',
 2469        'rate_limit',
 2470        'secret_key',
 2471        'token',
 2472    ]
 2473
 2474    def __init__(
 2475        self,
 2476        access_key=None,
 2477        account=None,
 2478        meta=None,
 2479        rate_limit=None,
 2480        secret_key=None,
 2481        token=None,
 2482    ):
 2483        self.access_key = access_key if access_key is not None else ''
 2484        '''
 2485         ID part of the API key.
 2486        '''
 2487        self.account = account if account is not None else None
 2488        '''
 2489         The created Account.
 2490        '''
 2491        self.meta = meta if meta is not None else None
 2492        '''
 2493         Reserved for future use.
 2494        '''
 2495        self.rate_limit = rate_limit if rate_limit is not None else None
 2496        '''
 2497         Rate limit information.
 2498        '''
 2499        self.secret_key = secret_key if secret_key is not None else ''
 2500        '''
 2501         Secret part of the API key.
 2502        '''
 2503        self.token = token if token is not None else ''
 2504        '''
 2505         The auth token generated for the Account. The Account will use this token to
 2506         authenticate with the strongDM API.
 2507        '''
 2508
 2509    def __repr__(self):
 2510        return '<sdm.AccountCreateResponse ' + \
 2511            'access_key: ' + repr(self.access_key) + ' ' +\
 2512            'account: ' + repr(self.account) + ' ' +\
 2513            'meta: ' + repr(self.meta) + ' ' +\
 2514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2515            'secret_key: ' + repr(self.secret_key) + ' ' +\
 2516            'token: ' + repr(self.token) + ' ' +\
 2517            '>'
 2518
 2519    def to_dict(self):
 2520        return {
 2521            'access_key': self.access_key,
 2522            'account': self.account,
 2523            'meta': self.meta,
 2524            'rate_limit': self.rate_limit,
 2525            'secret_key': self.secret_key,
 2526            'token': self.token,
 2527        }
 2528
 2529    @classmethod
 2530    def from_dict(cls, d):
 2531        return cls(
 2532            access_key=d.get('access_key'),
 2533            account=d.get('account'),
 2534            meta=d.get('meta'),
 2535            rate_limit=d.get('rate_limit'),
 2536            secret_key=d.get('secret_key'),
 2537            token=d.get('token'),
 2538        )
 2539
 2540
 2541class AccountDeleteResponse:
 2542    '''
 2543         AccountDeleteResponse returns information about a Account that was deleted.
 2544    '''
 2545    __slots__ = [
 2546        'meta',
 2547        'rate_limit',
 2548    ]
 2549
 2550    def __init__(
 2551        self,
 2552        meta=None,
 2553        rate_limit=None,
 2554    ):
 2555        self.meta = meta if meta is not None else None
 2556        '''
 2557         Reserved for future use.
 2558        '''
 2559        self.rate_limit = rate_limit if rate_limit is not None else None
 2560        '''
 2561         Rate limit information.
 2562        '''
 2563
 2564    def __repr__(self):
 2565        return '<sdm.AccountDeleteResponse ' + \
 2566            'meta: ' + repr(self.meta) + ' ' +\
 2567            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2568            '>'
 2569
 2570    def to_dict(self):
 2571        return {
 2572            'meta': self.meta,
 2573            'rate_limit': self.rate_limit,
 2574        }
 2575
 2576    @classmethod
 2577    def from_dict(cls, d):
 2578        return cls(
 2579            meta=d.get('meta'),
 2580            rate_limit=d.get('rate_limit'),
 2581        )
 2582
 2583
 2584class AccountGetResponse:
 2585    '''
 2586         AccountGetResponse returns a requested Account.
 2587    '''
 2588    __slots__ = [
 2589        'account',
 2590        'meta',
 2591        'rate_limit',
 2592    ]
 2593
 2594    def __init__(
 2595        self,
 2596        account=None,
 2597        meta=None,
 2598        rate_limit=None,
 2599    ):
 2600        self.account = account if account is not None else None
 2601        '''
 2602         The requested Account.
 2603        '''
 2604        self.meta = meta if meta is not None else None
 2605        '''
 2606         Reserved for future use.
 2607        '''
 2608        self.rate_limit = rate_limit if rate_limit is not None else None
 2609        '''
 2610         Rate limit information.
 2611        '''
 2612
 2613    def __repr__(self):
 2614        return '<sdm.AccountGetResponse ' + \
 2615            'account: ' + repr(self.account) + ' ' +\
 2616            'meta: ' + repr(self.meta) + ' ' +\
 2617            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2618            '>'
 2619
 2620    def to_dict(self):
 2621        return {
 2622            'account': self.account,
 2623            'meta': self.meta,
 2624            'rate_limit': self.rate_limit,
 2625        }
 2626
 2627    @classmethod
 2628    def from_dict(cls, d):
 2629        return cls(
 2630            account=d.get('account'),
 2631            meta=d.get('meta'),
 2632            rate_limit=d.get('rate_limit'),
 2633        )
 2634
 2635
 2636class AccountGrant:
 2637    '''
 2638         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
 2639    '''
 2640    __slots__ = [
 2641        'access_rule',
 2642        'account_id',
 2643        'id',
 2644        'resource_id',
 2645        'start_from',
 2646        'valid_until',
 2647    ]
 2648
 2649    def __init__(
 2650        self,
 2651        access_rule=None,
 2652        account_id=None,
 2653        id=None,
 2654        resource_id=None,
 2655        start_from=None,
 2656        valid_until=None,
 2657    ):
 2658        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
 2659        )
 2660        '''
 2661         The access rule associated with this AccountGrant.
 2662        '''
 2663        self.account_id = account_id if account_id is not None else ''
 2664        '''
 2665         The account ID of this AccountGrant.
 2666        '''
 2667        self.id = id if id is not None else ''
 2668        '''
 2669         Unique identifier of the AccountGrant.
 2670        '''
 2671        self.resource_id = resource_id if resource_id is not None else ''
 2672        '''
 2673         The resource ID of this AccountGrant.
 2674        '''
 2675        self.start_from = start_from if start_from is not None else None
 2676        '''
 2677         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.
 2678        '''
 2679        self.valid_until = valid_until if valid_until is not None else None
 2680        '''
 2681         The timestamp when the resource grant will expire.
 2682        '''
 2683
 2684    def __repr__(self):
 2685        return '<sdm.AccountGrant ' + \
 2686            'access_rule: ' + repr(self.access_rule) + ' ' +\
 2687            'account_id: ' + repr(self.account_id) + ' ' +\
 2688            'id: ' + repr(self.id) + ' ' +\
 2689            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2690            'start_from: ' + repr(self.start_from) + ' ' +\
 2691            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2692            '>'
 2693
 2694    def to_dict(self):
 2695        return {
 2696            'access_rule': self.access_rule,
 2697            'account_id': self.account_id,
 2698            'id': self.id,
 2699            'resource_id': self.resource_id,
 2700            'start_from': self.start_from,
 2701            'valid_until': self.valid_until,
 2702        }
 2703
 2704    @classmethod
 2705    def from_dict(cls, d):
 2706        return cls(
 2707            access_rule=d.get('access_rule'),
 2708            account_id=d.get('account_id'),
 2709            id=d.get('id'),
 2710            resource_id=d.get('resource_id'),
 2711            start_from=d.get('start_from'),
 2712            valid_until=d.get('valid_until'),
 2713        )
 2714
 2715
 2716class AccountGrantCreateResponse:
 2717    '''
 2718         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
 2719    '''
 2720    __slots__ = [
 2721        'account_grant',
 2722        'meta',
 2723        'rate_limit',
 2724    ]
 2725
 2726    def __init__(
 2727        self,
 2728        account_grant=None,
 2729        meta=None,
 2730        rate_limit=None,
 2731    ):
 2732        self.account_grant = account_grant if account_grant is not None else None
 2733        '''
 2734         The created AccountGrant.
 2735        '''
 2736        self.meta = meta if meta is not None else None
 2737        '''
 2738         Reserved for future use.
 2739        '''
 2740        self.rate_limit = rate_limit if rate_limit is not None else None
 2741        '''
 2742         Rate limit information.
 2743        '''
 2744
 2745    def __repr__(self):
 2746        return '<sdm.AccountGrantCreateResponse ' + \
 2747            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2748            'meta: ' + repr(self.meta) + ' ' +\
 2749            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2750            '>'
 2751
 2752    def to_dict(self):
 2753        return {
 2754            'account_grant': self.account_grant,
 2755            'meta': self.meta,
 2756            'rate_limit': self.rate_limit,
 2757        }
 2758
 2759    @classmethod
 2760    def from_dict(cls, d):
 2761        return cls(
 2762            account_grant=d.get('account_grant'),
 2763            meta=d.get('meta'),
 2764            rate_limit=d.get('rate_limit'),
 2765        )
 2766
 2767
 2768class AccountGrantDeleteResponse:
 2769    '''
 2770         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
 2771    '''
 2772    __slots__ = [
 2773        'meta',
 2774        'rate_limit',
 2775    ]
 2776
 2777    def __init__(
 2778        self,
 2779        meta=None,
 2780        rate_limit=None,
 2781    ):
 2782        self.meta = meta if meta is not None else None
 2783        '''
 2784         Reserved for future use.
 2785        '''
 2786        self.rate_limit = rate_limit if rate_limit is not None else None
 2787        '''
 2788         Rate limit information.
 2789        '''
 2790
 2791    def __repr__(self):
 2792        return '<sdm.AccountGrantDeleteResponse ' + \
 2793            'meta: ' + repr(self.meta) + ' ' +\
 2794            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2795            '>'
 2796
 2797    def to_dict(self):
 2798        return {
 2799            'meta': self.meta,
 2800            'rate_limit': self.rate_limit,
 2801        }
 2802
 2803    @classmethod
 2804    def from_dict(cls, d):
 2805        return cls(
 2806            meta=d.get('meta'),
 2807            rate_limit=d.get('rate_limit'),
 2808        )
 2809
 2810
 2811class AccountGrantGetResponse:
 2812    '''
 2813         AccountGrantGetResponse returns a requested AccountGrant.
 2814    '''
 2815    __slots__ = [
 2816        'account_grant',
 2817        'meta',
 2818        'rate_limit',
 2819    ]
 2820
 2821    def __init__(
 2822        self,
 2823        account_grant=None,
 2824        meta=None,
 2825        rate_limit=None,
 2826    ):
 2827        self.account_grant = account_grant if account_grant is not None else None
 2828        '''
 2829         The requested AccountGrant.
 2830        '''
 2831        self.meta = meta if meta is not None else None
 2832        '''
 2833         Reserved for future use.
 2834        '''
 2835        self.rate_limit = rate_limit if rate_limit is not None else None
 2836        '''
 2837         Rate limit information.
 2838        '''
 2839
 2840    def __repr__(self):
 2841        return '<sdm.AccountGrantGetResponse ' + \
 2842            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2843            'meta: ' + repr(self.meta) + ' ' +\
 2844            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2845            '>'
 2846
 2847    def to_dict(self):
 2848        return {
 2849            'account_grant': self.account_grant,
 2850            'meta': self.meta,
 2851            'rate_limit': self.rate_limit,
 2852        }
 2853
 2854    @classmethod
 2855    def from_dict(cls, d):
 2856        return cls(
 2857            account_grant=d.get('account_grant'),
 2858            meta=d.get('meta'),
 2859            rate_limit=d.get('rate_limit'),
 2860        )
 2861
 2862
 2863class AccountGrantHistory:
 2864    '''
 2865         AccountGrantHistory records the state of an AccountGrant at a given point in time,
 2866     where every change (create or delete) to an AccountGrant produces an
 2867     AccountGrantHistory record.
 2868    '''
 2869    __slots__ = [
 2870        'account_grant',
 2871        'activity_id',
 2872        'deleted_at',
 2873        'timestamp',
 2874    ]
 2875
 2876    def __init__(
 2877        self,
 2878        account_grant=None,
 2879        activity_id=None,
 2880        deleted_at=None,
 2881        timestamp=None,
 2882    ):
 2883        self.account_grant = account_grant if account_grant is not None else None
 2884        '''
 2885         The complete AccountGrant state at this time.
 2886        '''
 2887        self.activity_id = activity_id if activity_id is not None else ''
 2888        '''
 2889         The unique identifier of the Activity that produced this change to the AccountGrant.
 2890         May be empty for some system-initiated updates.
 2891        '''
 2892        self.deleted_at = deleted_at if deleted_at is not None else None
 2893        '''
 2894         If this AccountGrant was deleted, the time it was deleted.
 2895        '''
 2896        self.timestamp = timestamp if timestamp is not None else None
 2897        '''
 2898         The time at which the AccountGrant state was recorded.
 2899        '''
 2900
 2901    def __repr__(self):
 2902        return '<sdm.AccountGrantHistory ' + \
 2903            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2904            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2905            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2906            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2907            '>'
 2908
 2909    def to_dict(self):
 2910        return {
 2911            'account_grant': self.account_grant,
 2912            'activity_id': self.activity_id,
 2913            'deleted_at': self.deleted_at,
 2914            'timestamp': self.timestamp,
 2915        }
 2916
 2917    @classmethod
 2918    def from_dict(cls, d):
 2919        return cls(
 2920            account_grant=d.get('account_grant'),
 2921            activity_id=d.get('activity_id'),
 2922            deleted_at=d.get('deleted_at'),
 2923            timestamp=d.get('timestamp'),
 2924        )
 2925
 2926
 2927class AccountHistory:
 2928    '''
 2929         AccountHistory records the state of an Account at a given point in time,
 2930     where every change (create, update and delete) to an Account produces an
 2931     AccountHistory record.
 2932    '''
 2933    __slots__ = [
 2934        'account',
 2935        'activity_id',
 2936        'deleted_at',
 2937        'timestamp',
 2938    ]
 2939
 2940    def __init__(
 2941        self,
 2942        account=None,
 2943        activity_id=None,
 2944        deleted_at=None,
 2945        timestamp=None,
 2946    ):
 2947        self.account = account if account is not None else None
 2948        '''
 2949         The complete Account state at this time.
 2950        '''
 2951        self.activity_id = activity_id if activity_id is not None else ''
 2952        '''
 2953         The unique identifier of the Activity that produced this change to the Account.
 2954         May be empty for some system-initiated updates.
 2955        '''
 2956        self.deleted_at = deleted_at if deleted_at is not None else None
 2957        '''
 2958         If this Account was deleted, the time it was deleted.
 2959        '''
 2960        self.timestamp = timestamp if timestamp is not None else None
 2961        '''
 2962         The time at which the Account state was recorded.
 2963        '''
 2964
 2965    def __repr__(self):
 2966        return '<sdm.AccountHistory ' + \
 2967            'account: ' + repr(self.account) + ' ' +\
 2968            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2969            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2970            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2971            '>'
 2972
 2973    def to_dict(self):
 2974        return {
 2975            'account': self.account,
 2976            'activity_id': self.activity_id,
 2977            'deleted_at': self.deleted_at,
 2978            'timestamp': self.timestamp,
 2979        }
 2980
 2981    @classmethod
 2982    def from_dict(cls, d):
 2983        return cls(
 2984            account=d.get('account'),
 2985            activity_id=d.get('activity_id'),
 2986            deleted_at=d.get('deleted_at'),
 2987            timestamp=d.get('timestamp'),
 2988        )
 2989
 2990
 2991class AccountPermission:
 2992    '''
 2993         AccountPermission represents an individual API action available to an account.
 2994    '''
 2995    __slots__ = [
 2996        'account_id',
 2997        'granted_at',
 2998        'permission',
 2999        'scope',
 3000        'scoped_id',
 3001    ]
 3002
 3003    def __init__(
 3004        self,
 3005        account_id=None,
 3006        granted_at=None,
 3007        permission=None,
 3008        scope=None,
 3009        scoped_id=None,
 3010    ):
 3011        self.account_id = account_id if account_id is not None else ''
 3012        '''
 3013         The unique identifier of the Account this permission belongs to.
 3014        '''
 3015        self.granted_at = granted_at if granted_at is not None else None
 3016        '''
 3017         The most recent time at which the permission was granted. If a permission was
 3018         granted, revoked, and granted again, this will reflect the later time.
 3019        '''
 3020        self.permission = permission if permission is not None else ''
 3021        '''
 3022         The value of this permission, split into vertical and action, one of the Permission constants.
 3023        '''
 3024        self.scope = scope if scope is not None else ''
 3025        '''
 3026         The scope of this permission. A global scope means this action can be taken
 3027         on any entity; otherwise the action can only be taken on or in the scope of
 3028         the scoped id.
 3029        '''
 3030        self.scoped_id = scoped_id if scoped_id is not None else ''
 3031        '''
 3032         The ID to which or in whose context this operation is permitted. e.g. The ID of a
 3033         role that a team leader has the abillity to remove and add accounts to, or the
 3034         ID of a resource that a user has the permission to connect to. If Scope is global,
 3035         scoped id is not populated.
 3036        '''
 3037
 3038    def __repr__(self):
 3039        return '<sdm.AccountPermission ' + \
 3040            'account_id: ' + repr(self.account_id) + ' ' +\
 3041            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3042            'permission: ' + repr(self.permission) + ' ' +\
 3043            'scope: ' + repr(self.scope) + ' ' +\
 3044            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
 3045            '>'
 3046
 3047    def to_dict(self):
 3048        return {
 3049            'account_id': self.account_id,
 3050            'granted_at': self.granted_at,
 3051            'permission': self.permission,
 3052            'scope': self.scope,
 3053            'scoped_id': self.scoped_id,
 3054        }
 3055
 3056    @classmethod
 3057    def from_dict(cls, d):
 3058        return cls(
 3059            account_id=d.get('account_id'),
 3060            granted_at=d.get('granted_at'),
 3061            permission=d.get('permission'),
 3062            scope=d.get('scope'),
 3063            scoped_id=d.get('scoped_id'),
 3064        )
 3065
 3066
 3067class AccountResource:
 3068    '''
 3069         AccountResource represents an individual access grant of a Account to a Resource.
 3070    '''
 3071    __slots__ = [
 3072        'account_grant_id',
 3073        'account_id',
 3074        'created_at',
 3075        'expires_at',
 3076        'granted_at',
 3077        'resource_id',
 3078        'role_id',
 3079    ]
 3080
 3081    def __init__(
 3082        self,
 3083        account_grant_id=None,
 3084        account_id=None,
 3085        created_at=None,
 3086        expires_at=None,
 3087        granted_at=None,
 3088        resource_id=None,
 3089        role_id=None,
 3090    ):
 3091        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
 3092        '''
 3093         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
 3094         If empty, access was not granted through an AccountGrant.
 3095        '''
 3096        self.account_id = account_id if account_id is not None else ''
 3097        '''
 3098         The unique identifier of the Account to which access is granted.
 3099        '''
 3100        self.created_at = created_at if created_at is not None else None
 3101        '''
 3102         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
 3103         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
 3104        '''
 3105        self.expires_at = expires_at if expires_at is not None else None
 3106        '''
 3107         The time at which access will expire. If empty, this access has no expiration.
 3108        '''
 3109        self.granted_at = granted_at if granted_at is not None else None
 3110        '''
 3111         The most recent time at which access was granted. If access was granted,
 3112         revoked, and granted again, this will reflect the later time.
 3113        '''
 3114        self.resource_id = resource_id if resource_id is not None else ''
 3115        '''
 3116         The unique identifier of the Resource to which access is granted.
 3117        '''
 3118        self.role_id = role_id if role_id is not None else ''
 3119        '''
 3120         The unique identifier of the Role through which the Account was granted access to the Resource.
 3121         If empty, access was not granted through an AccountAttachment to a Role.
 3122        '''
 3123
 3124    def __repr__(self):
 3125        return '<sdm.AccountResource ' + \
 3126            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
 3127            'account_id: ' + repr(self.account_id) + ' ' +\
 3128            'created_at: ' + repr(self.created_at) + ' ' +\
 3129            'expires_at: ' + repr(self.expires_at) + ' ' +\
 3130            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3131            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3132            'role_id: ' + repr(self.role_id) + ' ' +\
 3133            '>'
 3134
 3135    def to_dict(self):
 3136        return {
 3137            'account_grant_id': self.account_grant_id,
 3138            'account_id': self.account_id,
 3139            'created_at': self.created_at,
 3140            'expires_at': self.expires_at,
 3141            'granted_at': self.granted_at,
 3142            'resource_id': self.resource_id,
 3143            'role_id': self.role_id,
 3144        }
 3145
 3146    @classmethod
 3147    def from_dict(cls, d):
 3148        return cls(
 3149            account_grant_id=d.get('account_grant_id'),
 3150            account_id=d.get('account_id'),
 3151            created_at=d.get('created_at'),
 3152            expires_at=d.get('expires_at'),
 3153            granted_at=d.get('granted_at'),
 3154            resource_id=d.get('resource_id'),
 3155            role_id=d.get('role_id'),
 3156        )
 3157
 3158
 3159class AccountResourceHistory:
 3160    '''
 3161         AccountResourceHistory records the state of a AccountResource at a given point in time,
 3162     where every change (create or delete) to a AccountResource produces an
 3163     AccountResourceHistory record.
 3164    '''
 3165    __slots__ = [
 3166        'account_resource',
 3167        'activity_id',
 3168        'deleted_at',
 3169        'timestamp',
 3170    ]
 3171
 3172    def __init__(
 3173        self,
 3174        account_resource=None,
 3175        activity_id=None,
 3176        deleted_at=None,
 3177        timestamp=None,
 3178    ):
 3179        self.account_resource = account_resource if account_resource is not None else None
 3180        '''
 3181         The complete AccountResource state at this time.
 3182        '''
 3183        self.activity_id = activity_id if activity_id is not None else ''
 3184        '''
 3185         The unique identifier of the Activity that produced this change to the AccountResource.
 3186         May be empty for some system-initiated updates.
 3187        '''
 3188        self.deleted_at = deleted_at if deleted_at is not None else None
 3189        '''
 3190         If this AccountResource was deleted, the time it was deleted.
 3191        '''
 3192        self.timestamp = timestamp if timestamp is not None else None
 3193        '''
 3194         The time at which the AccountResource state was recorded.
 3195        '''
 3196
 3197    def __repr__(self):
 3198        return '<sdm.AccountResourceHistory ' + \
 3199            'account_resource: ' + repr(self.account_resource) + ' ' +\
 3200            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3201            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3202            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3203            '>'
 3204
 3205    def to_dict(self):
 3206        return {
 3207            'account_resource': self.account_resource,
 3208            'activity_id': self.activity_id,
 3209            'deleted_at': self.deleted_at,
 3210            'timestamp': self.timestamp,
 3211        }
 3212
 3213    @classmethod
 3214    def from_dict(cls, d):
 3215        return cls(
 3216            account_resource=d.get('account_resource'),
 3217            activity_id=d.get('activity_id'),
 3218            deleted_at=d.get('deleted_at'),
 3219            timestamp=d.get('timestamp'),
 3220        )
 3221
 3222
 3223class AccountUpdateResponse:
 3224    '''
 3225         AccountUpdateResponse returns the fields of a Account after it has been updated by
 3226     a AccountUpdateRequest.
 3227    '''
 3228    __slots__ = [
 3229        'account',
 3230        'meta',
 3231        'rate_limit',
 3232    ]
 3233
 3234    def __init__(
 3235        self,
 3236        account=None,
 3237        meta=None,
 3238        rate_limit=None,
 3239    ):
 3240        self.account = account if account is not None else None
 3241        '''
 3242         The updated Account.
 3243        '''
 3244        self.meta = meta if meta is not None else None
 3245        '''
 3246         Reserved for future use.
 3247        '''
 3248        self.rate_limit = rate_limit if rate_limit is not None else None
 3249        '''
 3250         Rate limit information.
 3251        '''
 3252
 3253    def __repr__(self):
 3254        return '<sdm.AccountUpdateResponse ' + \
 3255            'account: ' + repr(self.account) + ' ' +\
 3256            'meta: ' + repr(self.meta) + ' ' +\
 3257            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3258            '>'
 3259
 3260    def to_dict(self):
 3261        return {
 3262            'account': self.account,
 3263            'meta': self.meta,
 3264            'rate_limit': self.rate_limit,
 3265        }
 3266
 3267    @classmethod
 3268    def from_dict(cls, d):
 3269        return cls(
 3270            account=d.get('account'),
 3271            meta=d.get('meta'),
 3272            rate_limit=d.get('rate_limit'),
 3273        )
 3274
 3275
 3276class ActiveDirectoryEngine:
 3277    '''
 3278    ActiveDirectoryEngine is currently unstable, and its API may change, or it may be removed,
 3279    without a major version bump.
 3280    '''
 3281    __slots__ = [
 3282        'after_read_ttl',
 3283        'binddn',
 3284        'bindpass',
 3285        'certificate',
 3286        'connection_timeout',
 3287        'do_not_validate_timestamps',
 3288        'id',
 3289        'insecure_tls',
 3290        'key_rotation_interval_days',
 3291        'max_backoff_duration',
 3292        'name',
 3293        'policy',
 3294        'public_key',
 3295        'request_timeout',
 3296        'secret_store_id',
 3297        'secret_store_root_path',
 3298        'start_tls',
 3299        'tags',
 3300        'ttl',
 3301        'upndomain',
 3302        'url',
 3303        'userdn',
 3304    ]
 3305
 3306    def __init__(
 3307        self,
 3308        after_read_ttl=None,
 3309        binddn=None,
 3310        bindpass=None,
 3311        certificate=None,
 3312        connection_timeout=None,
 3313        do_not_validate_timestamps=None,
 3314        id=None,
 3315        insecure_tls=None,
 3316        key_rotation_interval_days=None,
 3317        max_backoff_duration=None,
 3318        name=None,
 3319        policy=None,
 3320        public_key=None,
 3321        request_timeout=None,
 3322        secret_store_id=None,
 3323        secret_store_root_path=None,
 3324        start_tls=None,
 3325        tags=None,
 3326        ttl=None,
 3327        upndomain=None,
 3328        url=None,
 3329        userdn=None,
 3330    ):
 3331        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
 3332        '''
 3333         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
 3334        '''
 3335        self.binddn = binddn if binddn is not None else ''
 3336        '''
 3337         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
 3338        '''
 3339        self.bindpass = bindpass if bindpass is not None else ''
 3340        '''
 3341         Password to use along with binddn when performing user search.
 3342        '''
 3343        self.certificate = certificate if certificate is not None else ''
 3344        '''
 3345         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
 3346        '''
 3347        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
 3348        '''
 3349         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
 3350        '''
 3351        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
 3352        '''
 3353         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
 3354        '''
 3355        self.id = id if id is not None else ''
 3356        '''
 3357         Unique identifier of the Secret Engine.
 3358        '''
 3359        self.insecure_tls = insecure_tls if insecure_tls is not None else False
 3360        '''
 3361         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
 3362        '''
 3363        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
 3364        '''
 3365         An interval of public/private key rotation for secret engine in days
 3366        '''
 3367        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
 3368        '''
 3369         The maximum retry duration in case of automatic failure.
 3370         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
 3371        '''
 3372        self.name = name if name is not None else ''
 3373        '''
 3374         Unique human-readable name of the Secret Engine.
 3375        '''
 3376        self.policy = policy if policy is not None else None
 3377        '''
 3378         Policy for password creation
 3379        '''
 3380        self.public_key = public_key if public_key is not None else b''
 3381        '''
 3382         Public key linked with a secret engine
 3383        '''
 3384        self.request_timeout = request_timeout if request_timeout is not None else 0
 3385        '''
 3386         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
 3387        '''
 3388        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3389        '''
 3390         Backing secret store identifier
 3391        '''
 3392        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
 3393        '''
 3394         Backing Secret Store root path where managed secrets are going to be stored
 3395        '''
 3396        self.start_tls = start_tls if start_tls is not None else False
 3397        '''
 3398         If true, issues a StartTLS command after establishing an unencrypted connection.
 3399        '''
 3400        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3401        '''
 3402         Tags is a map of key, value pairs.
 3403        '''
 3404        self.ttl = ttl if ttl is not None else None
 3405        '''
 3406         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
 3407        '''
 3408        self.upndomain = upndomain if upndomain is not None else ''
 3409        '''
 3410         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
 3411        '''
 3412        self.url = url if url is not None else ''
 3413        '''
 3414         The LDAP server to connect to.
 3415        '''
 3416        self.userdn = userdn if userdn is not None else ''
 3417        '''
 3418         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
 3419        '''
 3420
 3421    def __repr__(self):
 3422        return '<sdm.ActiveDirectoryEngine ' + \
 3423            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
 3424            'binddn: ' + repr(self.binddn) + ' ' +\
 3425            'bindpass: ' + repr(self.bindpass) + ' ' +\
 3426            'certificate: ' + repr(self.certificate) + ' ' +\
 3427            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
 3428            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
 3429            'id: ' + repr(self.id) + ' ' +\
 3430            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
 3431            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
 3432            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
 3433            'name: ' + repr(self.name) + ' ' +\
 3434            'policy: ' + repr(self.policy) + ' ' +\
 3435            'public_key: ' + repr(self.public_key) + ' ' +\
 3436            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
 3437            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3438            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
 3439            'start_tls: ' + repr(self.start_tls) + ' ' +\
 3440            'tags: ' + repr(self.tags) + ' ' +\
 3441            'ttl: ' + repr(self.ttl) + ' ' +\
 3442            'upndomain: ' + repr(self.upndomain) + ' ' +\
 3443            'url: ' + repr(self.url) + ' ' +\
 3444            'userdn: ' + repr(self.userdn) + ' ' +\
 3445            '>'
 3446
 3447    def to_dict(self):
 3448        return {
 3449            'after_read_ttl': self.after_read_ttl,
 3450            'binddn': self.binddn,
 3451            'bindpass': self.bindpass,
 3452            'certificate': self.certificate,
 3453            'connection_timeout': self.connection_timeout,
 3454            'do_not_validate_timestamps': self.do_not_validate_timestamps,
 3455            'id': self.id,
 3456            'insecure_tls': self.insecure_tls,
 3457            'key_rotation_interval_days': self.key_rotation_interval_days,
 3458            'max_backoff_duration': self.max_backoff_duration,
 3459            'name': self.name,
 3460            'policy': self.policy,
 3461            'public_key': self.public_key,
 3462            'request_timeout': self.request_timeout,
 3463            'secret_store_id': self.secret_store_id,
 3464            'secret_store_root_path': self.secret_store_root_path,
 3465            'start_tls': self.start_tls,
 3466            'tags': self.tags,
 3467            'ttl': self.ttl,
 3468            'upndomain': self.upndomain,
 3469            'url': self.url,
 3470            'userdn': self.userdn,
 3471        }
 3472
 3473    @classmethod
 3474    def from_dict(cls, d):
 3475        return cls(
 3476            after_read_ttl=d.get('after_read_ttl'),
 3477            binddn=d.get('binddn'),
 3478            bindpass=d.get('bindpass'),
 3479            certificate=d.get('certificate'),
 3480            connection_timeout=d.get('connection_timeout'),
 3481            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
 3482            id=d.get('id'),
 3483            insecure_tls=d.get('insecure_tls'),
 3484            key_rotation_interval_days=d.get('key_rotation_interval_days'),
 3485            max_backoff_duration=d.get('max_backoff_duration'),
 3486            name=d.get('name'),
 3487            policy=d.get('policy'),
 3488            public_key=d.get('public_key'),
 3489            request_timeout=d.get('request_timeout'),
 3490            secret_store_id=d.get('secret_store_id'),
 3491            secret_store_root_path=d.get('secret_store_root_path'),
 3492            start_tls=d.get('start_tls'),
 3493            tags=d.get('tags'),
 3494            ttl=d.get('ttl'),
 3495            upndomain=d.get('upndomain'),
 3496            url=d.get('url'),
 3497            userdn=d.get('userdn'),
 3498        )
 3499
 3500
 3501class ActiveDirectoryStore:
 3502    __slots__ = [
 3503        'id',
 3504        'name',
 3505        'server_address',
 3506        'tags',
 3507    ]
 3508
 3509    def __init__(
 3510        self,
 3511        id=None,
 3512        name=None,
 3513        server_address=None,
 3514        tags=None,
 3515    ):
 3516        self.id = id if id is not None else ''
 3517        '''
 3518         Unique identifier of the SecretStore.
 3519        '''
 3520        self.name = name if name is not None else ''
 3521        '''
 3522         Unique human-readable name of the SecretStore.
 3523        '''
 3524        self.server_address = server_address if server_address is not None else ''
 3525        '''
 3526         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 3527         Often this is the same host as Active Directory Certificate Services
 3528        '''
 3529        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3530        '''
 3531         Tags is a map of key, value pairs.
 3532        '''
 3533
 3534    def __repr__(self):
 3535        return '<sdm.ActiveDirectoryStore ' + \
 3536            'id: ' + repr(self.id) + ' ' +\
 3537            'name: ' + repr(self.name) + ' ' +\
 3538            'server_address: ' + repr(self.server_address) + ' ' +\
 3539            'tags: ' + repr(self.tags) + ' ' +\
 3540            '>'
 3541
 3542    def to_dict(self):
 3543        return {
 3544            'id': self.id,
 3545            'name': self.name,
 3546            'server_address': self.server_address,
 3547            'tags': self.tags,
 3548        }
 3549
 3550    @classmethod
 3551    def from_dict(cls, d):
 3552        return cls(
 3553            id=d.get('id'),
 3554            name=d.get('name'),
 3555            server_address=d.get('server_address'),
 3556            tags=d.get('tags'),
 3557        )
 3558
 3559
 3560class Activity:
 3561    '''
 3562         An Activity is a record of an action taken against a strongDM deployment, e.g.
 3563     a user creation, resource deletion, sso configuration change, etc.
 3564    '''
 3565    __slots__ = [
 3566        'actor',
 3567        'completed_at',
 3568        'description',
 3569        'entities',
 3570        'id',
 3571        'ip_address',
 3572        'user_agent',
 3573        'verb',
 3574    ]
 3575
 3576    def __init__(
 3577        self,
 3578        actor=None,
 3579        completed_at=None,
 3580        description=None,
 3581        entities=None,
 3582        id=None,
 3583        ip_address=None,
 3584        user_agent=None,
 3585        verb=None,
 3586    ):
 3587        self.actor = actor if actor is not None else None
 3588        '''
 3589         The account who executed this activity. If the actor later has a name or email change,
 3590         that change is not reflected here. Actor is a snapshot of the executing account at
 3591         the time an activity took place.
 3592        '''
 3593        self.completed_at = completed_at if completed_at is not None else None
 3594        '''
 3595         The time this activity took effect.
 3596        '''
 3597        self.description = description if description is not None else ''
 3598        '''
 3599         A humanized description of the activity.
 3600        '''
 3601        self.entities = entities if entities is not None else []
 3602        '''
 3603         The entities involved in this activity. These entities can be any first class
 3604         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 3605         every activity affects explicit entities.
 3606        '''
 3607        self.id = id if id is not None else ''
 3608        '''
 3609         Unique identifier of the Activity.
 3610        '''
 3611        self.ip_address = ip_address if ip_address is not None else ''
 3612        '''
 3613         The IP from which this action was taken.
 3614        '''
 3615        self.user_agent = user_agent if user_agent is not None else ''
 3616        '''
 3617         The User Agent present when this request was executed. Generally a client type and version
 3618         like strongdm-cli/55.66.77
 3619        '''
 3620        self.verb = verb if verb is not None else ''
 3621        '''
 3622         The kind of activity which has taken place, one of the ActivityVerb constants.
 3623        '''
 3624
 3625    def __repr__(self):
 3626        return '<sdm.Activity ' + \
 3627            'actor: ' + repr(self.actor) + ' ' +\
 3628            'completed_at: ' + repr(self.completed_at) + ' ' +\
 3629            'description: ' + repr(self.description) + ' ' +\
 3630            'entities: ' + repr(self.entities) + ' ' +\
 3631            'id: ' + repr(self.id) + ' ' +\
 3632            'ip_address: ' + repr(self.ip_address) + ' ' +\
 3633            'user_agent: ' + repr(self.user_agent) + ' ' +\
 3634            'verb: ' + repr(self.verb) + ' ' +\
 3635            '>'
 3636
 3637    def to_dict(self):
 3638        return {
 3639            'actor': self.actor,
 3640            'completed_at': self.completed_at,
 3641            'description': self.description,
 3642            'entities': self.entities,
 3643            'id': self.id,
 3644            'ip_address': self.ip_address,
 3645            'user_agent': self.user_agent,
 3646            'verb': self.verb,
 3647        }
 3648
 3649    @classmethod
 3650    def from_dict(cls, d):
 3651        return cls(
 3652            actor=d.get('actor'),
 3653            completed_at=d.get('completed_at'),
 3654            description=d.get('description'),
 3655            entities=d.get('entities'),
 3656            id=d.get('id'),
 3657            ip_address=d.get('ip_address'),
 3658            user_agent=d.get('user_agent'),
 3659            verb=d.get('verb'),
 3660        )
 3661
 3662
 3663class ActivityActor:
 3664    __slots__ = [
 3665        'activity_external_id',
 3666        'email',
 3667        'first_name',
 3668        'id',
 3669        'last_name',
 3670    ]
 3671
 3672    def __init__(
 3673        self,
 3674        activity_external_id=None,
 3675        email=None,
 3676        first_name=None,
 3677        id=None,
 3678        last_name=None,
 3679    ):
 3680        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 3681        '''
 3682         The external ID of the actor at the time this activity occurred.
 3683        '''
 3684        self.email = email if email is not None else ''
 3685        '''
 3686         The email of the actor at the time this activity occurred.
 3687        '''
 3688        self.first_name = first_name if first_name is not None else ''
 3689        '''
 3690         The first name of the actor at the time this activity occurred.
 3691        '''
 3692        self.id = id if id is not None else ''
 3693        '''
 3694         Unique identifier of the actor. Immutable.
 3695        '''
 3696        self.last_name = last_name if last_name is not None else ''
 3697        '''
 3698         The last name of the actor at the time this activity occurred.
 3699        '''
 3700
 3701    def __repr__(self):
 3702        return '<sdm.ActivityActor ' + \
 3703            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 3704            'email: ' + repr(self.email) + ' ' +\
 3705            'first_name: ' + repr(self.first_name) + ' ' +\
 3706            'id: ' + repr(self.id) + ' ' +\
 3707            'last_name: ' + repr(self.last_name) + ' ' +\
 3708            '>'
 3709
 3710    def to_dict(self):
 3711        return {
 3712            'activity_external_id': self.activity_external_id,
 3713            'email': self.email,
 3714            'first_name': self.first_name,
 3715            'id': self.id,
 3716            'last_name': self.last_name,
 3717        }
 3718
 3719    @classmethod
 3720    def from_dict(cls, d):
 3721        return cls(
 3722            activity_external_id=d.get('activity_external_id'),
 3723            email=d.get('email'),
 3724            first_name=d.get('first_name'),
 3725            id=d.get('id'),
 3726            last_name=d.get('last_name'),
 3727        )
 3728
 3729
 3730class ActivityEntity:
 3731    __slots__ = [
 3732        'email',
 3733        'external_id',
 3734        'id',
 3735        'name',
 3736        'type',
 3737    ]
 3738
 3739    def __init__(
 3740        self,
 3741        email=None,
 3742        external_id=None,
 3743        id=None,
 3744        name=None,
 3745        type=None,
 3746    ):
 3747        self.email = email if email is not None else ''
 3748        '''
 3749         The email of the affected entity, if it has one (for example, if it is an account).
 3750        '''
 3751        self.external_id = external_id if external_id is not None else ''
 3752        '''
 3753         The external ID of the affected entity, if it has one (for example, if it is an account).
 3754        '''
 3755        self.id = id if id is not None else ''
 3756        '''
 3757         The unique identifier of the entity this activity affected.
 3758        '''
 3759        self.name = name if name is not None else ''
 3760        '''
 3761         A display name representing the affected entity.
 3762        '''
 3763        self.type = type if type is not None else ''
 3764        '''
 3765         The type of entity affected, one of the ActivityEntityType constants.
 3766        '''
 3767
 3768    def __repr__(self):
 3769        return '<sdm.ActivityEntity ' + \
 3770            'email: ' + repr(self.email) + ' ' +\
 3771            'external_id: ' + repr(self.external_id) + ' ' +\
 3772            'id: ' + repr(self.id) + ' ' +\
 3773            'name: ' + repr(self.name) + ' ' +\
 3774            'type: ' + repr(self.type) + ' ' +\
 3775            '>'
 3776
 3777    def to_dict(self):
 3778        return {
 3779            'email': self.email,
 3780            'external_id': self.external_id,
 3781            'id': self.id,
 3782            'name': self.name,
 3783            'type': self.type,
 3784        }
 3785
 3786    @classmethod
 3787    def from_dict(cls, d):
 3788        return cls(
 3789            email=d.get('email'),
 3790            external_id=d.get('external_id'),
 3791            id=d.get('id'),
 3792            name=d.get('name'),
 3793            type=d.get('type'),
 3794        )
 3795
 3796
 3797class ActivityGetResponse:
 3798    '''
 3799         ActivityGetResponse returns a requested Activity.
 3800    '''
 3801    __slots__ = [
 3802        'activity',
 3803        'meta',
 3804        'rate_limit',
 3805    ]
 3806
 3807    def __init__(
 3808        self,
 3809        activity=None,
 3810        meta=None,
 3811        rate_limit=None,
 3812    ):
 3813        self.activity = activity if activity is not None else None
 3814        '''
 3815         The requested Activity.
 3816        '''
 3817        self.meta = meta if meta is not None else None
 3818        '''
 3819         Reserved for future use.
 3820        '''
 3821        self.rate_limit = rate_limit if rate_limit is not None else None
 3822        '''
 3823         Rate limit information.
 3824        '''
 3825
 3826    def __repr__(self):
 3827        return '<sdm.ActivityGetResponse ' + \
 3828            'activity: ' + repr(self.activity) + ' ' +\
 3829            'meta: ' + repr(self.meta) + ' ' +\
 3830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3831            '>'
 3832
 3833    def to_dict(self):
 3834        return {
 3835            'activity': self.activity,
 3836            'meta': self.meta,
 3837            'rate_limit': self.rate_limit,
 3838        }
 3839
 3840    @classmethod
 3841    def from_dict(cls, d):
 3842        return cls(
 3843            activity=d.get('activity'),
 3844            meta=d.get('meta'),
 3845            rate_limit=d.get('rate_limit'),
 3846        )
 3847
 3848
 3849class Aerospike:
 3850    __slots__ = [
 3851        'bind_interface',
 3852        'egress_filter',
 3853        'healthy',
 3854        'hostname',
 3855        'id',
 3856        'name',
 3857        'password',
 3858        'port',
 3859        'port_override',
 3860        'proxy_cluster_id',
 3861        'secret_store_id',
 3862        'subdomain',
 3863        'tags',
 3864        'use_services_alternate',
 3865        'username',
 3866    ]
 3867
 3868    def __init__(
 3869        self,
 3870        bind_interface=None,
 3871        egress_filter=None,
 3872        healthy=None,
 3873        hostname=None,
 3874        id=None,
 3875        name=None,
 3876        password=None,
 3877        port=None,
 3878        port_override=None,
 3879        proxy_cluster_id=None,
 3880        secret_store_id=None,
 3881        subdomain=None,
 3882        tags=None,
 3883        use_services_alternate=None,
 3884        username=None,
 3885    ):
 3886        self.bind_interface = bind_interface if bind_interface is not None else ''
 3887        '''
 3888         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3889        '''
 3890        self.egress_filter = egress_filter if egress_filter is not None else ''
 3891        '''
 3892         A filter applied to the routing logic to pin datasource to nodes.
 3893        '''
 3894        self.healthy = healthy if healthy is not None else False
 3895        '''
 3896         True if the datasource is reachable and the credentials are valid.
 3897        '''
 3898        self.hostname = hostname if hostname is not None else ''
 3899        '''
 3900         The host to dial to initiate a connection from the egress node to this resource.
 3901        '''
 3902        self.id = id if id is not None else ''
 3903        '''
 3904         Unique identifier of the Resource.
 3905        '''
 3906        self.name = name if name is not None else ''
 3907        '''
 3908         Unique human-readable name of the Resource.
 3909        '''
 3910        self.password = password if password is not None else ''
 3911        '''
 3912         The password to authenticate with.
 3913        '''
 3914        self.port = port if port is not None else 0
 3915        '''
 3916         The port to dial to initiate a connection from the egress node to this resource.
 3917        '''
 3918        self.port_override = port_override if port_override is not None else 0
 3919        '''
 3920         The local port used by clients to connect to this resource.
 3921        '''
 3922        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3923        '''
 3924         ID of the proxy cluster for this resource, if any.
 3925        '''
 3926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3927        '''
 3928         ID of the secret store containing credentials for this resource, if any.
 3929        '''
 3930        self.subdomain = subdomain if subdomain is not None else ''
 3931        '''
 3932         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 3933        '''
 3934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3935        '''
 3936         Tags is a map of key, value pairs.
 3937        '''
 3938        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
 3939        '''
 3940         If true, uses UseServicesAlternates directive for Aerospike connection
 3941        '''
 3942        self.username = username if username is not None else ''
 3943        '''
 3944         The username to authenticate with.
 3945        '''
 3946
 3947    def __repr__(self):
 3948        return '<sdm.Aerospike ' + \
 3949            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 3950            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 3951            'healthy: ' + repr(self.healthy) + ' ' +\
 3952            'hostname: ' + repr(self.hostname) + ' ' +\
 3953            'id: ' + repr(self.id) + ' ' +\
 3954            'name: ' + repr(self.name) + ' ' +\
 3955            'password: ' + repr(self.password) + ' ' +\
 3956            'port: ' + repr(self.port) + ' ' +\
 3957            'port_override: ' + repr(self.port_override) + ' ' +\
 3958            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 3959            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3960            'subdomain: ' + repr(self.subdomain) + ' ' +\
 3961            'tags: ' + repr(self.tags) + ' ' +\
 3962            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
 3963            'username: ' + repr(self.username) + ' ' +\
 3964            '>'
 3965
 3966    def to_dict(self):
 3967        return {
 3968            'bind_interface': self.bind_interface,
 3969            'egress_filter': self.egress_filter,
 3970            'healthy': self.healthy,
 3971            'hostname': self.hostname,
 3972            'id': self.id,
 3973            'name': self.name,
 3974            'password': self.password,
 3975            'port': self.port,
 3976            'port_override': self.port_override,
 3977            'proxy_cluster_id': self.proxy_cluster_id,
 3978            'secret_store_id': self.secret_store_id,
 3979            'subdomain': self.subdomain,
 3980            'tags': self.tags,
 3981            'use_services_alternate': self.use_services_alternate,
 3982            'username': self.username,
 3983        }
 3984
 3985    @classmethod
 3986    def from_dict(cls, d):
 3987        return cls(
 3988            bind_interface=d.get('bind_interface'),
 3989            egress_filter=d.get('egress_filter'),
 3990            healthy=d.get('healthy'),
 3991            hostname=d.get('hostname'),
 3992            id=d.get('id'),
 3993            name=d.get('name'),
 3994            password=d.get('password'),
 3995            port=d.get('port'),
 3996            port_override=d.get('port_override'),
 3997            proxy_cluster_id=d.get('proxy_cluster_id'),
 3998            secret_store_id=d.get('secret_store_id'),
 3999            subdomain=d.get('subdomain'),
 4000            tags=d.get('tags'),
 4001            use_services_alternate=d.get('use_services_alternate'),
 4002            username=d.get('username'),
 4003        )
 4004
 4005
 4006class AmazonEKS:
 4007    __slots__ = [
 4008        'access_key',
 4009        'allow_resource_role_bypass',
 4010        'bind_interface',
 4011        'certificate_authority',
 4012        'cluster_name',
 4013        'discovery_enabled',
 4014        'discovery_username',
 4015        'egress_filter',
 4016        'endpoint',
 4017        'healthcheck_namespace',
 4018        'healthy',
 4019        'id',
 4020        'identity_alias_healthcheck_username',
 4021        'identity_set_id',
 4022        'name',
 4023        'port_override',
 4024        'proxy_cluster_id',
 4025        'region',
 4026        'role_arn',
 4027        'role_external_id',
 4028        'secret_access_key',
 4029        'secret_store_id',
 4030        'subdomain',
 4031        'tags',
 4032    ]
 4033
 4034    def __init__(
 4035        self,
 4036        access_key=None,
 4037        allow_resource_role_bypass=None,
 4038        bind_interface=None,
 4039        certificate_authority=None,
 4040        cluster_name=None,
 4041        discovery_enabled=None,
 4042        discovery_username=None,
 4043        egress_filter=None,
 4044        endpoint=None,
 4045        healthcheck_namespace=None,
 4046        healthy=None,
 4047        id=None,
 4048        identity_alias_healthcheck_username=None,
 4049        identity_set_id=None,
 4050        name=None,
 4051        port_override=None,
 4052        proxy_cluster_id=None,
 4053        region=None,
 4054        role_arn=None,
 4055        role_external_id=None,
 4056        secret_access_key=None,
 4057        secret_store_id=None,
 4058        subdomain=None,
 4059        tags=None,
 4060    ):
 4061        self.access_key = access_key if access_key is not None else ''
 4062        '''
 4063         The Access Key ID to use to authenticate.
 4064        '''
 4065        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4066        '''
 4067         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4068         when a resource role is not provided.
 4069        '''
 4070        self.bind_interface = bind_interface if bind_interface is not None else ''
 4071        '''
 4072         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4073        '''
 4074        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4075        '''
 4076         The CA to authenticate TLS connections with.
 4077        '''
 4078        self.cluster_name = cluster_name if cluster_name is not None else ''
 4079        '''
 4080         The name of the cluster to connect to.
 4081        '''
 4082        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4083        '''
 4084         If true, configures discovery of a cluster to be run from a node.
 4085        '''
 4086        self.discovery_username = discovery_username if discovery_username is not None else ''
 4087        '''
 4088         If a cluster is configured for user impersonation, this is the user to impersonate when
 4089         running discovery.
 4090        '''
 4091        self.egress_filter = egress_filter if egress_filter is not None else ''
 4092        '''
 4093         A filter applied to the routing logic to pin datasource to nodes.
 4094        '''
 4095        self.endpoint = endpoint if endpoint is not None else ''
 4096        '''
 4097         The endpoint to dial.
 4098        '''
 4099        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4100        '''
 4101         The path used to check the health of your connection.  Defaults to `default`.
 4102        '''
 4103        self.healthy = healthy if healthy is not None else False
 4104        '''
 4105         True if the datasource is reachable and the credentials are valid.
 4106        '''
 4107        self.id = id if id is not None else ''
 4108        '''
 4109         Unique identifier of the Resource.
 4110        '''
 4111        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4112        '''
 4113         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4114        '''
 4115        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4116        '''
 4117         The ID of the identity set to use for identity connections.
 4118        '''
 4119        self.name = name if name is not None else ''
 4120        '''
 4121         Unique human-readable name of the Resource.
 4122        '''
 4123        self.port_override = port_override if port_override is not None else 0
 4124        '''
 4125         The local port used by clients to connect to this resource.
 4126        '''
 4127        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4128        '''
 4129         ID of the proxy cluster for this resource, if any.
 4130        '''
 4131        self.region = region if region is not None else ''
 4132        '''
 4133         The AWS region to connect to e.g. us-east-1.
 4134        '''
 4135        self.role_arn = role_arn if role_arn is not None else ''
 4136        '''
 4137         The role to assume after logging in.
 4138        '''
 4139        self.role_external_id = role_external_id if role_external_id is not None else ''
 4140        '''
 4141         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4142        '''
 4143        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4144        '''
 4145         The Secret Access Key to use to authenticate.
 4146        '''
 4147        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4148        '''
 4149         ID of the secret store containing credentials for this resource, if any.
 4150        '''
 4151        self.subdomain = subdomain if subdomain is not None else ''
 4152        '''
 4153         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4154        '''
 4155        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4156        '''
 4157         Tags is a map of key, value pairs.
 4158        '''
 4159
 4160    def __repr__(self):
 4161        return '<sdm.AmazonEKS ' + \
 4162            'access_key: ' + repr(self.access_key) + ' ' +\
 4163            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4164            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4165            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4166            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4167            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4168            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4169            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4170            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4171            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4172            'healthy: ' + repr(self.healthy) + ' ' +\
 4173            'id: ' + repr(self.id) + ' ' +\
 4174            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4175            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4176            'name: ' + repr(self.name) + ' ' +\
 4177            'port_override: ' + repr(self.port_override) + ' ' +\
 4178            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4179            'region: ' + repr(self.region) + ' ' +\
 4180            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4181            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4182            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4183            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4184            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4185            'tags: ' + repr(self.tags) + ' ' +\
 4186            '>'
 4187
 4188    def to_dict(self):
 4189        return {
 4190            'access_key': self.access_key,
 4191            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4192            'bind_interface': self.bind_interface,
 4193            'certificate_authority': self.certificate_authority,
 4194            'cluster_name': self.cluster_name,
 4195            'discovery_enabled': self.discovery_enabled,
 4196            'discovery_username': self.discovery_username,
 4197            'egress_filter': self.egress_filter,
 4198            'endpoint': self.endpoint,
 4199            'healthcheck_namespace': self.healthcheck_namespace,
 4200            'healthy': self.healthy,
 4201            'id': self.id,
 4202            'identity_alias_healthcheck_username':
 4203            self.identity_alias_healthcheck_username,
 4204            'identity_set_id': self.identity_set_id,
 4205            'name': self.name,
 4206            'port_override': self.port_override,
 4207            'proxy_cluster_id': self.proxy_cluster_id,
 4208            'region': self.region,
 4209            'role_arn': self.role_arn,
 4210            'role_external_id': self.role_external_id,
 4211            'secret_access_key': self.secret_access_key,
 4212            'secret_store_id': self.secret_store_id,
 4213            'subdomain': self.subdomain,
 4214            'tags': self.tags,
 4215        }
 4216
 4217    @classmethod
 4218    def from_dict(cls, d):
 4219        return cls(
 4220            access_key=d.get('access_key'),
 4221            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4222            bind_interface=d.get('bind_interface'),
 4223            certificate_authority=d.get('certificate_authority'),
 4224            cluster_name=d.get('cluster_name'),
 4225            discovery_enabled=d.get('discovery_enabled'),
 4226            discovery_username=d.get('discovery_username'),
 4227            egress_filter=d.get('egress_filter'),
 4228            endpoint=d.get('endpoint'),
 4229            healthcheck_namespace=d.get('healthcheck_namespace'),
 4230            healthy=d.get('healthy'),
 4231            id=d.get('id'),
 4232            identity_alias_healthcheck_username=d.get(
 4233                'identity_alias_healthcheck_username'),
 4234            identity_set_id=d.get('identity_set_id'),
 4235            name=d.get('name'),
 4236            port_override=d.get('port_override'),
 4237            proxy_cluster_id=d.get('proxy_cluster_id'),
 4238            region=d.get('region'),
 4239            role_arn=d.get('role_arn'),
 4240            role_external_id=d.get('role_external_id'),
 4241            secret_access_key=d.get('secret_access_key'),
 4242            secret_store_id=d.get('secret_store_id'),
 4243            subdomain=d.get('subdomain'),
 4244            tags=d.get('tags'),
 4245        )
 4246
 4247
 4248class AmazonEKSInstanceProfile:
 4249    __slots__ = [
 4250        'allow_resource_role_bypass',
 4251        'bind_interface',
 4252        'certificate_authority',
 4253        'cluster_name',
 4254        'discovery_enabled',
 4255        'discovery_username',
 4256        'egress_filter',
 4257        'endpoint',
 4258        'healthcheck_namespace',
 4259        'healthy',
 4260        'id',
 4261        'identity_alias_healthcheck_username',
 4262        'identity_set_id',
 4263        'name',
 4264        'port_override',
 4265        'proxy_cluster_id',
 4266        'region',
 4267        'role_arn',
 4268        'role_external_id',
 4269        'secret_store_id',
 4270        'subdomain',
 4271        'tags',
 4272    ]
 4273
 4274    def __init__(
 4275        self,
 4276        allow_resource_role_bypass=None,
 4277        bind_interface=None,
 4278        certificate_authority=None,
 4279        cluster_name=None,
 4280        discovery_enabled=None,
 4281        discovery_username=None,
 4282        egress_filter=None,
 4283        endpoint=None,
 4284        healthcheck_namespace=None,
 4285        healthy=None,
 4286        id=None,
 4287        identity_alias_healthcheck_username=None,
 4288        identity_set_id=None,
 4289        name=None,
 4290        port_override=None,
 4291        proxy_cluster_id=None,
 4292        region=None,
 4293        role_arn=None,
 4294        role_external_id=None,
 4295        secret_store_id=None,
 4296        subdomain=None,
 4297        tags=None,
 4298    ):
 4299        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4300        '''
 4301         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4302         when a resource role is not provided.
 4303        '''
 4304        self.bind_interface = bind_interface if bind_interface is not None else ''
 4305        '''
 4306         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4307        '''
 4308        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4309        '''
 4310         The CA to authenticate TLS connections with.
 4311        '''
 4312        self.cluster_name = cluster_name if cluster_name is not None else ''
 4313        '''
 4314         The name of the cluster to connect to.
 4315        '''
 4316        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4317        '''
 4318         If true, configures discovery of a cluster to be run from a node.
 4319        '''
 4320        self.discovery_username = discovery_username if discovery_username is not None else ''
 4321        '''
 4322         If a cluster is configured for user impersonation, this is the user to impersonate when
 4323         running discovery.
 4324        '''
 4325        self.egress_filter = egress_filter if egress_filter is not None else ''
 4326        '''
 4327         A filter applied to the routing logic to pin datasource to nodes.
 4328        '''
 4329        self.endpoint = endpoint if endpoint is not None else ''
 4330        '''
 4331         The endpoint to dial.
 4332        '''
 4333        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4334        '''
 4335         The path used to check the health of your connection.  Defaults to `default`.
 4336        '''
 4337        self.healthy = healthy if healthy is not None else False
 4338        '''
 4339         True if the datasource is reachable and the credentials are valid.
 4340        '''
 4341        self.id = id if id is not None else ''
 4342        '''
 4343         Unique identifier of the Resource.
 4344        '''
 4345        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4346        '''
 4347         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4348        '''
 4349        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4350        '''
 4351         The ID of the identity set to use for identity connections.
 4352        '''
 4353        self.name = name if name is not None else ''
 4354        '''
 4355         Unique human-readable name of the Resource.
 4356        '''
 4357        self.port_override = port_override if port_override is not None else 0
 4358        '''
 4359         The local port used by clients to connect to this resource.
 4360        '''
 4361        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4362        '''
 4363         ID of the proxy cluster for this resource, if any.
 4364        '''
 4365        self.region = region if region is not None else ''
 4366        '''
 4367         The AWS region to connect to e.g. us-east-1.
 4368        '''
 4369        self.role_arn = role_arn if role_arn is not None else ''
 4370        '''
 4371         The role to assume after logging in.
 4372        '''
 4373        self.role_external_id = role_external_id if role_external_id is not None else ''
 4374        '''
 4375         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4376        '''
 4377        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4378        '''
 4379         ID of the secret store containing credentials for this resource, if any.
 4380        '''
 4381        self.subdomain = subdomain if subdomain is not None else ''
 4382        '''
 4383         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4384        '''
 4385        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4386        '''
 4387         Tags is a map of key, value pairs.
 4388        '''
 4389
 4390    def __repr__(self):
 4391        return '<sdm.AmazonEKSInstanceProfile ' + \
 4392            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4393            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4394            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4395            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4396            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4397            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4398            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4399            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4400            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4401            'healthy: ' + repr(self.healthy) + ' ' +\
 4402            'id: ' + repr(self.id) + ' ' +\
 4403            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4404            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4405            'name: ' + repr(self.name) + ' ' +\
 4406            'port_override: ' + repr(self.port_override) + ' ' +\
 4407            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4408            'region: ' + repr(self.region) + ' ' +\
 4409            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4410            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4411            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4412            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4413            'tags: ' + repr(self.tags) + ' ' +\
 4414            '>'
 4415
 4416    def to_dict(self):
 4417        return {
 4418            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4419            'bind_interface': self.bind_interface,
 4420            'certificate_authority': self.certificate_authority,
 4421            'cluster_name': self.cluster_name,
 4422            'discovery_enabled': self.discovery_enabled,
 4423            'discovery_username': self.discovery_username,
 4424            'egress_filter': self.egress_filter,
 4425            'endpoint': self.endpoint,
 4426            'healthcheck_namespace': self.healthcheck_namespace,
 4427            'healthy': self.healthy,
 4428            'id': self.id,
 4429            'identity_alias_healthcheck_username':
 4430            self.identity_alias_healthcheck_username,
 4431            'identity_set_id': self.identity_set_id,
 4432            'name': self.name,
 4433            'port_override': self.port_override,
 4434            'proxy_cluster_id': self.proxy_cluster_id,
 4435            'region': self.region,
 4436            'role_arn': self.role_arn,
 4437            'role_external_id': self.role_external_id,
 4438            'secret_store_id': self.secret_store_id,
 4439            'subdomain': self.subdomain,
 4440            'tags': self.tags,
 4441        }
 4442
 4443    @classmethod
 4444    def from_dict(cls, d):
 4445        return cls(
 4446            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4447            bind_interface=d.get('bind_interface'),
 4448            certificate_authority=d.get('certificate_authority'),
 4449            cluster_name=d.get('cluster_name'),
 4450            discovery_enabled=d.get('discovery_enabled'),
 4451            discovery_username=d.get('discovery_username'),
 4452            egress_filter=d.get('egress_filter'),
 4453            endpoint=d.get('endpoint'),
 4454            healthcheck_namespace=d.get('healthcheck_namespace'),
 4455            healthy=d.get('healthy'),
 4456            id=d.get('id'),
 4457            identity_alias_healthcheck_username=d.get(
 4458                'identity_alias_healthcheck_username'),
 4459            identity_set_id=d.get('identity_set_id'),
 4460            name=d.get('name'),
 4461            port_override=d.get('port_override'),
 4462            proxy_cluster_id=d.get('proxy_cluster_id'),
 4463            region=d.get('region'),
 4464            role_arn=d.get('role_arn'),
 4465            role_external_id=d.get('role_external_id'),
 4466            secret_store_id=d.get('secret_store_id'),
 4467            subdomain=d.get('subdomain'),
 4468            tags=d.get('tags'),
 4469        )
 4470
 4471
 4472class AmazonEKSInstanceProfileUserImpersonation:
 4473    __slots__ = [
 4474        'bind_interface',
 4475        'certificate_authority',
 4476        'cluster_name',
 4477        'egress_filter',
 4478        'endpoint',
 4479        'healthcheck_namespace',
 4480        'healthy',
 4481        'id',
 4482        'name',
 4483        'port_override',
 4484        'proxy_cluster_id',
 4485        'region',
 4486        'role_arn',
 4487        'role_external_id',
 4488        'secret_store_id',
 4489        'subdomain',
 4490        'tags',
 4491    ]
 4492
 4493    def __init__(
 4494        self,
 4495        bind_interface=None,
 4496        certificate_authority=None,
 4497        cluster_name=None,
 4498        egress_filter=None,
 4499        endpoint=None,
 4500        healthcheck_namespace=None,
 4501        healthy=None,
 4502        id=None,
 4503        name=None,
 4504        port_override=None,
 4505        proxy_cluster_id=None,
 4506        region=None,
 4507        role_arn=None,
 4508        role_external_id=None,
 4509        secret_store_id=None,
 4510        subdomain=None,
 4511        tags=None,
 4512    ):
 4513        self.bind_interface = bind_interface if bind_interface is not None else ''
 4514        '''
 4515         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4516        '''
 4517        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4518        '''
 4519         The CA to authenticate TLS connections with.
 4520        '''
 4521        self.cluster_name = cluster_name if cluster_name is not None else ''
 4522        '''
 4523         The name of the cluster to connect to.
 4524        '''
 4525        self.egress_filter = egress_filter if egress_filter is not None else ''
 4526        '''
 4527         A filter applied to the routing logic to pin datasource to nodes.
 4528        '''
 4529        self.endpoint = endpoint if endpoint is not None else ''
 4530        '''
 4531         The endpoint to dial.
 4532        '''
 4533        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4534        '''
 4535         The path used to check the health of your connection.  Defaults to `default`.
 4536        '''
 4537        self.healthy = healthy if healthy is not None else False
 4538        '''
 4539         True if the datasource is reachable and the credentials are valid.
 4540        '''
 4541        self.id = id if id is not None else ''
 4542        '''
 4543         Unique identifier of the Resource.
 4544        '''
 4545        self.name = name if name is not None else ''
 4546        '''
 4547         Unique human-readable name of the Resource.
 4548        '''
 4549        self.port_override = port_override if port_override is not None else 0
 4550        '''
 4551         The local port used by clients to connect to this resource.
 4552        '''
 4553        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4554        '''
 4555         ID of the proxy cluster for this resource, if any.
 4556        '''
 4557        self.region = region if region is not None else ''
 4558        '''
 4559         The AWS region to connect to e.g. us-east-1.
 4560        '''
 4561        self.role_arn = role_arn if role_arn is not None else ''
 4562        '''
 4563         The role to assume after logging in.
 4564        '''
 4565        self.role_external_id = role_external_id if role_external_id is not None else ''
 4566        '''
 4567         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4568        '''
 4569        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4570        '''
 4571         ID of the secret store containing credentials for this resource, if any.
 4572        '''
 4573        self.subdomain = subdomain if subdomain is not None else ''
 4574        '''
 4575         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4576        '''
 4577        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4578        '''
 4579         Tags is a map of key, value pairs.
 4580        '''
 4581
 4582    def __repr__(self):
 4583        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 4584            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4585            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4586            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4587            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4588            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4589            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4590            'healthy: ' + repr(self.healthy) + ' ' +\
 4591            'id: ' + repr(self.id) + ' ' +\
 4592            'name: ' + repr(self.name) + ' ' +\
 4593            'port_override: ' + repr(self.port_override) + ' ' +\
 4594            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4595            'region: ' + repr(self.region) + ' ' +\
 4596            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4597            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4598            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4599            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4600            'tags: ' + repr(self.tags) + ' ' +\
 4601            '>'
 4602
 4603    def to_dict(self):
 4604        return {
 4605            'bind_interface': self.bind_interface,
 4606            'certificate_authority': self.certificate_authority,
 4607            'cluster_name': self.cluster_name,
 4608            'egress_filter': self.egress_filter,
 4609            'endpoint': self.endpoint,
 4610            'healthcheck_namespace': self.healthcheck_namespace,
 4611            'healthy': self.healthy,
 4612            'id': self.id,
 4613            'name': self.name,
 4614            'port_override': self.port_override,
 4615            'proxy_cluster_id': self.proxy_cluster_id,
 4616            'region': self.region,
 4617            'role_arn': self.role_arn,
 4618            'role_external_id': self.role_external_id,
 4619            'secret_store_id': self.secret_store_id,
 4620            'subdomain': self.subdomain,
 4621            'tags': self.tags,
 4622        }
 4623
 4624    @classmethod
 4625    def from_dict(cls, d):
 4626        return cls(
 4627            bind_interface=d.get('bind_interface'),
 4628            certificate_authority=d.get('certificate_authority'),
 4629            cluster_name=d.get('cluster_name'),
 4630            egress_filter=d.get('egress_filter'),
 4631            endpoint=d.get('endpoint'),
 4632            healthcheck_namespace=d.get('healthcheck_namespace'),
 4633            healthy=d.get('healthy'),
 4634            id=d.get('id'),
 4635            name=d.get('name'),
 4636            port_override=d.get('port_override'),
 4637            proxy_cluster_id=d.get('proxy_cluster_id'),
 4638            region=d.get('region'),
 4639            role_arn=d.get('role_arn'),
 4640            role_external_id=d.get('role_external_id'),
 4641            secret_store_id=d.get('secret_store_id'),
 4642            subdomain=d.get('subdomain'),
 4643            tags=d.get('tags'),
 4644        )
 4645
 4646
 4647class AmazonEKSUserImpersonation:
 4648    __slots__ = [
 4649        'access_key',
 4650        'bind_interface',
 4651        'certificate_authority',
 4652        'cluster_name',
 4653        'egress_filter',
 4654        'endpoint',
 4655        'healthcheck_namespace',
 4656        'healthy',
 4657        'id',
 4658        'name',
 4659        'port_override',
 4660        'proxy_cluster_id',
 4661        'region',
 4662        'role_arn',
 4663        'role_external_id',
 4664        'secret_access_key',
 4665        'secret_store_id',
 4666        'subdomain',
 4667        'tags',
 4668    ]
 4669
 4670    def __init__(
 4671        self,
 4672        access_key=None,
 4673        bind_interface=None,
 4674        certificate_authority=None,
 4675        cluster_name=None,
 4676        egress_filter=None,
 4677        endpoint=None,
 4678        healthcheck_namespace=None,
 4679        healthy=None,
 4680        id=None,
 4681        name=None,
 4682        port_override=None,
 4683        proxy_cluster_id=None,
 4684        region=None,
 4685        role_arn=None,
 4686        role_external_id=None,
 4687        secret_access_key=None,
 4688        secret_store_id=None,
 4689        subdomain=None,
 4690        tags=None,
 4691    ):
 4692        self.access_key = access_key if access_key is not None else ''
 4693        '''
 4694         The Access Key ID to use to authenticate.
 4695        '''
 4696        self.bind_interface = bind_interface if bind_interface is not None else ''
 4697        '''
 4698         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4699        '''
 4700        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4701        '''
 4702         The CA to authenticate TLS connections with.
 4703        '''
 4704        self.cluster_name = cluster_name if cluster_name is not None else ''
 4705        '''
 4706         The name of the cluster to connect to.
 4707        '''
 4708        self.egress_filter = egress_filter if egress_filter is not None else ''
 4709        '''
 4710         A filter applied to the routing logic to pin datasource to nodes.
 4711        '''
 4712        self.endpoint = endpoint if endpoint is not None else ''
 4713        '''
 4714         The endpoint to dial.
 4715        '''
 4716        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4717        '''
 4718         The path used to check the health of your connection.  Defaults to `default`.
 4719        '''
 4720        self.healthy = healthy if healthy is not None else False
 4721        '''
 4722         True if the datasource is reachable and the credentials are valid.
 4723        '''
 4724        self.id = id if id is not None else ''
 4725        '''
 4726         Unique identifier of the Resource.
 4727        '''
 4728        self.name = name if name is not None else ''
 4729        '''
 4730         Unique human-readable name of the Resource.
 4731        '''
 4732        self.port_override = port_override if port_override is not None else 0
 4733        '''
 4734         The local port used by clients to connect to this resource.
 4735        '''
 4736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4737        '''
 4738         ID of the proxy cluster for this resource, if any.
 4739        '''
 4740        self.region = region if region is not None else ''
 4741        '''
 4742         The AWS region to connect to e.g. us-east-1.
 4743        '''
 4744        self.role_arn = role_arn if role_arn is not None else ''
 4745        '''
 4746         The role to assume after logging in.
 4747        '''
 4748        self.role_external_id = role_external_id if role_external_id is not None else ''
 4749        '''
 4750         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4751        '''
 4752        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4753        '''
 4754         The Secret Access Key to use to authenticate.
 4755        '''
 4756        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4757        '''
 4758         ID of the secret store containing credentials for this resource, if any.
 4759        '''
 4760        self.subdomain = subdomain if subdomain is not None else ''
 4761        '''
 4762         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4763        '''
 4764        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4765        '''
 4766         Tags is a map of key, value pairs.
 4767        '''
 4768
 4769    def __repr__(self):
 4770        return '<sdm.AmazonEKSUserImpersonation ' + \
 4771            'access_key: ' + repr(self.access_key) + ' ' +\
 4772            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4773            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4774            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4775            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4776            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4777            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4778            'healthy: ' + repr(self.healthy) + ' ' +\
 4779            'id: ' + repr(self.id) + ' ' +\
 4780            'name: ' + repr(self.name) + ' ' +\
 4781            'port_override: ' + repr(self.port_override) + ' ' +\
 4782            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4783            'region: ' + repr(self.region) + ' ' +\
 4784            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4785            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4786            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4787            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4788            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4789            'tags: ' + repr(self.tags) + ' ' +\
 4790            '>'
 4791
 4792    def to_dict(self):
 4793        return {
 4794            'access_key': self.access_key,
 4795            'bind_interface': self.bind_interface,
 4796            'certificate_authority': self.certificate_authority,
 4797            'cluster_name': self.cluster_name,
 4798            'egress_filter': self.egress_filter,
 4799            'endpoint': self.endpoint,
 4800            'healthcheck_namespace': self.healthcheck_namespace,
 4801            'healthy': self.healthy,
 4802            'id': self.id,
 4803            'name': self.name,
 4804            'port_override': self.port_override,
 4805            'proxy_cluster_id': self.proxy_cluster_id,
 4806            'region': self.region,
 4807            'role_arn': self.role_arn,
 4808            'role_external_id': self.role_external_id,
 4809            'secret_access_key': self.secret_access_key,
 4810            'secret_store_id': self.secret_store_id,
 4811            'subdomain': self.subdomain,
 4812            'tags': self.tags,
 4813        }
 4814
 4815    @classmethod
 4816    def from_dict(cls, d):
 4817        return cls(
 4818            access_key=d.get('access_key'),
 4819            bind_interface=d.get('bind_interface'),
 4820            certificate_authority=d.get('certificate_authority'),
 4821            cluster_name=d.get('cluster_name'),
 4822            egress_filter=d.get('egress_filter'),
 4823            endpoint=d.get('endpoint'),
 4824            healthcheck_namespace=d.get('healthcheck_namespace'),
 4825            healthy=d.get('healthy'),
 4826            id=d.get('id'),
 4827            name=d.get('name'),
 4828            port_override=d.get('port_override'),
 4829            proxy_cluster_id=d.get('proxy_cluster_id'),
 4830            region=d.get('region'),
 4831            role_arn=d.get('role_arn'),
 4832            role_external_id=d.get('role_external_id'),
 4833            secret_access_key=d.get('secret_access_key'),
 4834            secret_store_id=d.get('secret_store_id'),
 4835            subdomain=d.get('subdomain'),
 4836            tags=d.get('tags'),
 4837        )
 4838
 4839
 4840class AmazonES:
 4841    __slots__ = [
 4842        'access_key',
 4843        'bind_interface',
 4844        'egress_filter',
 4845        'endpoint',
 4846        'healthy',
 4847        'id',
 4848        'name',
 4849        'port_override',
 4850        'proxy_cluster_id',
 4851        'region',
 4852        'role_arn',
 4853        'role_external_id',
 4854        'secret_access_key',
 4855        'secret_store_id',
 4856        'subdomain',
 4857        'tags',
 4858    ]
 4859
 4860    def __init__(
 4861        self,
 4862        access_key=None,
 4863        bind_interface=None,
 4864        egress_filter=None,
 4865        endpoint=None,
 4866        healthy=None,
 4867        id=None,
 4868        name=None,
 4869        port_override=None,
 4870        proxy_cluster_id=None,
 4871        region=None,
 4872        role_arn=None,
 4873        role_external_id=None,
 4874        secret_access_key=None,
 4875        secret_store_id=None,
 4876        subdomain=None,
 4877        tags=None,
 4878    ):
 4879        self.access_key = access_key if access_key is not None else ''
 4880        '''
 4881         The Access Key ID to use to authenticate.
 4882        '''
 4883        self.bind_interface = bind_interface if bind_interface is not None else ''
 4884        '''
 4885         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4886        '''
 4887        self.egress_filter = egress_filter if egress_filter is not None else ''
 4888        '''
 4889         A filter applied to the routing logic to pin datasource to nodes.
 4890        '''
 4891        self.endpoint = endpoint if endpoint is not None else ''
 4892        '''
 4893         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 4894        '''
 4895        self.healthy = healthy if healthy is not None else False
 4896        '''
 4897         True if the datasource is reachable and the credentials are valid.
 4898        '''
 4899        self.id = id if id is not None else ''
 4900        '''
 4901         Unique identifier of the Resource.
 4902        '''
 4903        self.name = name if name is not None else ''
 4904        '''
 4905         Unique human-readable name of the Resource.
 4906        '''
 4907        self.port_override = port_override if port_override is not None else 0
 4908        '''
 4909         The local port used by clients to connect to this resource.
 4910        '''
 4911        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4912        '''
 4913         ID of the proxy cluster for this resource, if any.
 4914        '''
 4915        self.region = region if region is not None else ''
 4916        '''
 4917         The AWS region to connect to e.g. us-east-1.
 4918        '''
 4919        self.role_arn = role_arn if role_arn is not None else ''
 4920        '''
 4921         The role to assume after logging in.
 4922        '''
 4923        self.role_external_id = role_external_id if role_external_id is not None else ''
 4924        '''
 4925         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4926        '''
 4927        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4928        '''
 4929         The Secret Access Key to use to authenticate.
 4930        '''
 4931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4932        '''
 4933         ID of the secret store containing credentials for this resource, if any.
 4934        '''
 4935        self.subdomain = subdomain if subdomain is not None else ''
 4936        '''
 4937         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4938        '''
 4939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4940        '''
 4941         Tags is a map of key, value pairs.
 4942        '''
 4943
 4944    def __repr__(self):
 4945        return '<sdm.AmazonES ' + \
 4946            'access_key: ' + repr(self.access_key) + ' ' +\
 4947            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4948            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4949            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4950            'healthy: ' + repr(self.healthy) + ' ' +\
 4951            'id: ' + repr(self.id) + ' ' +\
 4952            'name: ' + repr(self.name) + ' ' +\
 4953            'port_override: ' + repr(self.port_override) + ' ' +\
 4954            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4955            'region: ' + repr(self.region) + ' ' +\
 4956            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4957            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4958            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4959            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4960            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4961            'tags: ' + repr(self.tags) + ' ' +\
 4962            '>'
 4963
 4964    def to_dict(self):
 4965        return {
 4966            'access_key': self.access_key,
 4967            'bind_interface': self.bind_interface,
 4968            'egress_filter': self.egress_filter,
 4969            'endpoint': self.endpoint,
 4970            'healthy': self.healthy,
 4971            'id': self.id,
 4972            'name': self.name,
 4973            'port_override': self.port_override,
 4974            'proxy_cluster_id': self.proxy_cluster_id,
 4975            'region': self.region,
 4976            'role_arn': self.role_arn,
 4977            'role_external_id': self.role_external_id,
 4978            'secret_access_key': self.secret_access_key,
 4979            'secret_store_id': self.secret_store_id,
 4980            'subdomain': self.subdomain,
 4981            'tags': self.tags,
 4982        }
 4983
 4984    @classmethod
 4985    def from_dict(cls, d):
 4986        return cls(
 4987            access_key=d.get('access_key'),
 4988            bind_interface=d.get('bind_interface'),
 4989            egress_filter=d.get('egress_filter'),
 4990            endpoint=d.get('endpoint'),
 4991            healthy=d.get('healthy'),
 4992            id=d.get('id'),
 4993            name=d.get('name'),
 4994            port_override=d.get('port_override'),
 4995            proxy_cluster_id=d.get('proxy_cluster_id'),
 4996            region=d.get('region'),
 4997            role_arn=d.get('role_arn'),
 4998            role_external_id=d.get('role_external_id'),
 4999            secret_access_key=d.get('secret_access_key'),
 5000            secret_store_id=d.get('secret_store_id'),
 5001            subdomain=d.get('subdomain'),
 5002            tags=d.get('tags'),
 5003        )
 5004
 5005
 5006class AmazonESIAM:
 5007    __slots__ = [
 5008        'bind_interface',
 5009        'egress_filter',
 5010        'endpoint',
 5011        'healthy',
 5012        'id',
 5013        'name',
 5014        'port_override',
 5015        'proxy_cluster_id',
 5016        'region',
 5017        'role_arn',
 5018        'role_external_id',
 5019        'secret_store_id',
 5020        'subdomain',
 5021        'tags',
 5022        'tlsrequired',
 5023    ]
 5024
 5025    def __init__(
 5026        self,
 5027        bind_interface=None,
 5028        egress_filter=None,
 5029        endpoint=None,
 5030        healthy=None,
 5031        id=None,
 5032        name=None,
 5033        port_override=None,
 5034        proxy_cluster_id=None,
 5035        region=None,
 5036        role_arn=None,
 5037        role_external_id=None,
 5038        secret_store_id=None,
 5039        subdomain=None,
 5040        tags=None,
 5041        tlsrequired=None,
 5042    ):
 5043        self.bind_interface = bind_interface if bind_interface is not None else ''
 5044        '''
 5045         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5046        '''
 5047        self.egress_filter = egress_filter if egress_filter is not None else ''
 5048        '''
 5049         A filter applied to the routing logic to pin datasource to nodes.
 5050        '''
 5051        self.endpoint = endpoint if endpoint is not None else ''
 5052        '''
 5053         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5054        '''
 5055        self.healthy = healthy if healthy is not None else False
 5056        '''
 5057         True if the datasource is reachable and the credentials are valid.
 5058        '''
 5059        self.id = id if id is not None else ''
 5060        '''
 5061         Unique identifier of the Resource.
 5062        '''
 5063        self.name = name if name is not None else ''
 5064        '''
 5065         Unique human-readable name of the Resource.
 5066        '''
 5067        self.port_override = port_override if port_override is not None else 0
 5068        '''
 5069         The local port used by clients to connect to this resource.
 5070        '''
 5071        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5072        '''
 5073         ID of the proxy cluster for this resource, if any.
 5074        '''
 5075        self.region = region if region is not None else ''
 5076        '''
 5077         The AWS region to connect to.
 5078        '''
 5079        self.role_arn = role_arn if role_arn is not None else ''
 5080        '''
 5081         The role to assume after logging in.
 5082        '''
 5083        self.role_external_id = role_external_id if role_external_id is not None else ''
 5084        '''
 5085         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5086        '''
 5087        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5088        '''
 5089         ID of the secret store containing credentials for this resource, if any.
 5090        '''
 5091        self.subdomain = subdomain if subdomain is not None else ''
 5092        '''
 5093         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5094        '''
 5095        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5096        '''
 5097         Tags is a map of key, value pairs.
 5098        '''
 5099        self.tlsrequired = tlsrequired if tlsrequired is not None else False
 5100        '''
 5101         Use TLS to connect to the OpenSearch server
 5102        '''
 5103
 5104    def __repr__(self):
 5105        return '<sdm.AmazonESIAM ' + \
 5106            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5107            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5108            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5109            'healthy: ' + repr(self.healthy) + ' ' +\
 5110            'id: ' + repr(self.id) + ' ' +\
 5111            'name: ' + repr(self.name) + ' ' +\
 5112            'port_override: ' + repr(self.port_override) + ' ' +\
 5113            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5114            'region: ' + repr(self.region) + ' ' +\
 5115            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5116            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5117            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5118            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5119            'tags: ' + repr(self.tags) + ' ' +\
 5120            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
 5121            '>'
 5122
 5123    def to_dict(self):
 5124        return {
 5125            'bind_interface': self.bind_interface,
 5126            'egress_filter': self.egress_filter,
 5127            'endpoint': self.endpoint,
 5128            'healthy': self.healthy,
 5129            'id': self.id,
 5130            'name': self.name,
 5131            'port_override': self.port_override,
 5132            'proxy_cluster_id': self.proxy_cluster_id,
 5133            'region': self.region,
 5134            'role_arn': self.role_arn,
 5135            'role_external_id': self.role_external_id,
 5136            'secret_store_id': self.secret_store_id,
 5137            'subdomain': self.subdomain,
 5138            'tags': self.tags,
 5139            'tlsrequired': self.tlsrequired,
 5140        }
 5141
 5142    @classmethod
 5143    def from_dict(cls, d):
 5144        return cls(
 5145            bind_interface=d.get('bind_interface'),
 5146            egress_filter=d.get('egress_filter'),
 5147            endpoint=d.get('endpoint'),
 5148            healthy=d.get('healthy'),
 5149            id=d.get('id'),
 5150            name=d.get('name'),
 5151            port_override=d.get('port_override'),
 5152            proxy_cluster_id=d.get('proxy_cluster_id'),
 5153            region=d.get('region'),
 5154            role_arn=d.get('role_arn'),
 5155            role_external_id=d.get('role_external_id'),
 5156            secret_store_id=d.get('secret_store_id'),
 5157            subdomain=d.get('subdomain'),
 5158            tags=d.get('tags'),
 5159            tlsrequired=d.get('tlsrequired'),
 5160        )
 5161
 5162
 5163class AmazonMQAMQP091:
 5164    __slots__ = [
 5165        'bind_interface',
 5166        'egress_filter',
 5167        'healthy',
 5168        'hostname',
 5169        'id',
 5170        'name',
 5171        'password',
 5172        'port',
 5173        'port_override',
 5174        'proxy_cluster_id',
 5175        'secret_store_id',
 5176        'subdomain',
 5177        'tags',
 5178        'tls_required',
 5179        'username',
 5180    ]
 5181
 5182    def __init__(
 5183        self,
 5184        bind_interface=None,
 5185        egress_filter=None,
 5186        healthy=None,
 5187        hostname=None,
 5188        id=None,
 5189        name=None,
 5190        password=None,
 5191        port=None,
 5192        port_override=None,
 5193        proxy_cluster_id=None,
 5194        secret_store_id=None,
 5195        subdomain=None,
 5196        tags=None,
 5197        tls_required=None,
 5198        username=None,
 5199    ):
 5200        self.bind_interface = bind_interface if bind_interface is not None else ''
 5201        '''
 5202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5203        '''
 5204        self.egress_filter = egress_filter if egress_filter is not None else ''
 5205        '''
 5206         A filter applied to the routing logic to pin datasource to nodes.
 5207        '''
 5208        self.healthy = healthy if healthy is not None else False
 5209        '''
 5210         True if the datasource is reachable and the credentials are valid.
 5211        '''
 5212        self.hostname = hostname if hostname is not None else ''
 5213        '''
 5214         The host to dial to initiate a connection from the egress node to this resource.
 5215        '''
 5216        self.id = id if id is not None else ''
 5217        '''
 5218         Unique identifier of the Resource.
 5219        '''
 5220        self.name = name if name is not None else ''
 5221        '''
 5222         Unique human-readable name of the Resource.
 5223        '''
 5224        self.password = password if password is not None else ''
 5225        '''
 5226         The password to authenticate with.
 5227        '''
 5228        self.port = port if port is not None else 0
 5229        '''
 5230         The port to dial to initiate a connection from the egress node to this resource.
 5231        '''
 5232        self.port_override = port_override if port_override is not None else 0
 5233        '''
 5234         The local port used by clients to connect to this resource.
 5235        '''
 5236        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5237        '''
 5238         ID of the proxy cluster for this resource, if any.
 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         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 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        self.tls_required = tls_required if tls_required is not None else False
 5253        '''
 5254         If set, TLS must be used to connect to this resource.
 5255        '''
 5256        self.username = username if username is not None else ''
 5257        '''
 5258         The username to authenticate with.
 5259        '''
 5260
 5261    def __repr__(self):
 5262        return '<sdm.AmazonMQAMQP091 ' + \
 5263            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5264            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5265            'healthy: ' + repr(self.healthy) + ' ' +\
 5266            'hostname: ' + repr(self.hostname) + ' ' +\
 5267            'id: ' + repr(self.id) + ' ' +\
 5268            'name: ' + repr(self.name) + ' ' +\
 5269            'password: ' + repr(self.password) + ' ' +\
 5270            'port: ' + repr(self.port) + ' ' +\
 5271            'port_override: ' + repr(self.port_override) + ' ' +\
 5272            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5273            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5274            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5275            'tags: ' + repr(self.tags) + ' ' +\
 5276            'tls_required: ' + repr(self.tls_required) + ' ' +\
 5277            'username: ' + repr(self.username) + ' ' +\
 5278            '>'
 5279
 5280    def to_dict(self):
 5281        return {
 5282            'bind_interface': self.bind_interface,
 5283            'egress_filter': self.egress_filter,
 5284            'healthy': self.healthy,
 5285            'hostname': self.hostname,
 5286            'id': self.id,
 5287            'name': self.name,
 5288            'password': self.password,
 5289            'port': self.port,
 5290            'port_override': self.port_override,
 5291            'proxy_cluster_id': self.proxy_cluster_id,
 5292            'secret_store_id': self.secret_store_id,
 5293            'subdomain': self.subdomain,
 5294            'tags': self.tags,
 5295            'tls_required': self.tls_required,
 5296            'username': self.username,
 5297        }
 5298
 5299    @classmethod
 5300    def from_dict(cls, d):
 5301        return cls(
 5302            bind_interface=d.get('bind_interface'),
 5303            egress_filter=d.get('egress_filter'),
 5304            healthy=d.get('healthy'),
 5305            hostname=d.get('hostname'),
 5306            id=d.get('id'),
 5307            name=d.get('name'),
 5308            password=d.get('password'),
 5309            port=d.get('port'),
 5310            port_override=d.get('port_override'),
 5311            proxy_cluster_id=d.get('proxy_cluster_id'),
 5312            secret_store_id=d.get('secret_store_id'),
 5313            subdomain=d.get('subdomain'),
 5314            tags=d.get('tags'),
 5315            tls_required=d.get('tls_required'),
 5316            username=d.get('username'),
 5317        )
 5318
 5319
 5320class ApprovalFlowApprover:
 5321    '''
 5322         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
 5323    '''
 5324    __slots__ = [
 5325        'account_id',
 5326        'reference',
 5327        'role_id',
 5328    ]
 5329
 5330    def __init__(
 5331        self,
 5332        account_id=None,
 5333        reference=None,
 5334        role_id=None,
 5335    ):
 5336        self.account_id = account_id if account_id is not None else ''
 5337        '''
 5338         The approver account id.
 5339        '''
 5340        self.reference = reference if reference is not None else ''
 5341        '''
 5342         A reference to an approver. Must be one of ApproverReference constants.
 5343         If set, the account_id and role_id must be empty.
 5344        '''
 5345        self.role_id = role_id if role_id is not None else ''
 5346        '''
 5347         The approver role id
 5348        '''
 5349
 5350    def __repr__(self):
 5351        return '<sdm.ApprovalFlowApprover ' + \
 5352            'account_id: ' + repr(self.account_id) + ' ' +\
 5353            'reference: ' + repr(self.reference) + ' ' +\
 5354            'role_id: ' + repr(self.role_id) + ' ' +\
 5355            '>'
 5356
 5357    def to_dict(self):
 5358        return {
 5359            'account_id': self.account_id,
 5360            'reference': self.reference,
 5361            'role_id': self.role_id,
 5362        }
 5363
 5364    @classmethod
 5365    def from_dict(cls, d):
 5366        return cls(
 5367            account_id=d.get('account_id'),
 5368            reference=d.get('reference'),
 5369            role_id=d.get('role_id'),
 5370        )
 5371
 5372
 5373class ApprovalFlowStep:
 5374    '''
 5375         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
 5376    '''
 5377    __slots__ = [
 5378        'approvers',
 5379        'quantifier',
 5380        'skip_after',
 5381    ]
 5382
 5383    def __init__(
 5384        self,
 5385        approvers=None,
 5386        quantifier=None,
 5387        skip_after=None,
 5388    ):
 5389        self.approvers = approvers if approvers is not None else []
 5390        '''
 5391         The approvers for this approval step
 5392        '''
 5393        self.quantifier = quantifier if quantifier is not None else ''
 5394        '''
 5395         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
 5396        '''
 5397        self.skip_after = skip_after if skip_after is not None else None
 5398        '''
 5399         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.
 5400        '''
 5401
 5402    def __repr__(self):
 5403        return '<sdm.ApprovalFlowStep ' + \
 5404            'approvers: ' + repr(self.approvers) + ' ' +\
 5405            'quantifier: ' + repr(self.quantifier) + ' ' +\
 5406            'skip_after: ' + repr(self.skip_after) + ' ' +\
 5407            '>'
 5408
 5409    def to_dict(self):
 5410        return {
 5411            'approvers': self.approvers,
 5412            'quantifier': self.quantifier,
 5413            'skip_after': self.skip_after,
 5414        }
 5415
 5416    @classmethod
 5417    def from_dict(cls, d):
 5418        return cls(
 5419            approvers=d.get('approvers'),
 5420            quantifier=d.get('quantifier'),
 5421            skip_after=d.get('skip_after'),
 5422        )
 5423
 5424
 5425class ApprovalWorkflow:
 5426    '''
 5427         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 5428     approvers and be approved or denied.
 5429    '''
 5430    __slots__ = [
 5431        'approval_mode',
 5432        'approval_workflow_steps',
 5433        'description',
 5434        'id',
 5435        'name',
 5436    ]
 5437
 5438    def __init__(
 5439        self,
 5440        approval_mode=None,
 5441        approval_workflow_steps=None,
 5442        description=None,
 5443        id=None,
 5444        name=None,
 5445    ):
 5446        self.approval_mode = approval_mode if approval_mode is not None else ''
 5447        '''
 5448         Approval mode of the ApprovalWorkflow
 5449        '''
 5450        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
 5451        '''
 5452         The approval steps of this approval workflow
 5453        '''
 5454        self.description = description if description is not None else ''
 5455        '''
 5456         Optional description of the ApprovalWorkflow.
 5457        '''
 5458        self.id = id if id is not None else ''
 5459        '''
 5460         Unique identifier of the ApprovalWorkflow.
 5461        '''
 5462        self.name = name if name is not None else ''
 5463        '''
 5464         Unique human-readable name of the ApprovalWorkflow.
 5465        '''
 5466
 5467    def __repr__(self):
 5468        return '<sdm.ApprovalWorkflow ' + \
 5469            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 5470            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
 5471            'description: ' + repr(self.description) + ' ' +\
 5472            'id: ' + repr(self.id) + ' ' +\
 5473            'name: ' + repr(self.name) + ' ' +\
 5474            '>'
 5475
 5476    def to_dict(self):
 5477        return {
 5478            'approval_mode': self.approval_mode,
 5479            'approval_workflow_steps': self.approval_workflow_steps,
 5480            'description': self.description,
 5481            'id': self.id,
 5482            'name': self.name,
 5483        }
 5484
 5485    @classmethod
 5486    def from_dict(cls, d):
 5487        return cls(
 5488            approval_mode=d.get('approval_mode'),
 5489            approval_workflow_steps=d.get('approval_workflow_steps'),
 5490            description=d.get('description'),
 5491            id=d.get('id'),
 5492            name=d.get('name'),
 5493        )
 5494
 5495
 5496class ApprovalWorkflowApprover:
 5497    '''
 5498         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 5499    '''
 5500    __slots__ = [
 5501        'account_id',
 5502        'approval_flow_id',
 5503        'approval_step_id',
 5504        'id',
 5505        'reference',
 5506        'role_id',
 5507    ]
 5508
 5509    def __init__(
 5510        self,
 5511        account_id=None,
 5512        approval_flow_id=None,
 5513        approval_step_id=None,
 5514        id=None,
 5515        reference=None,
 5516        role_id=None,
 5517    ):
 5518        self.account_id = account_id if account_id is not None else ''
 5519        '''
 5520         The approver account id.
 5521        '''
 5522        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 5523        '''
 5524         The approval flow id specified the approval workflow that this approver belongs to
 5525        '''
 5526        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 5527        '''
 5528         The approval step id specified the approval flow step that this approver belongs to
 5529        '''
 5530        self.id = id if id is not None else ''
 5531        '''
 5532         Unique identifier of the ApprovalWorkflowApprover.
 5533        '''
 5534        self.reference = reference if reference is not None else ''
 5535        '''
 5536         A reference to an approver. Will be one of ApproverReference constants.
 5537         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
 5538         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
 5539        '''
 5540        self.role_id = role_id if role_id is not None else ''
 5541        '''
 5542         The approver role id
 5543        '''
 5544
 5545    def __repr__(self):
 5546        return '<sdm.ApprovalWorkflowApprover ' + \
 5547            'account_id: ' + repr(self.account_id) + ' ' +\
 5548            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 5549            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 5550            'id: ' + repr(self.id) + ' ' +\
 5551            'reference: ' + repr(self.reference) + ' ' +\
 5552            'role_id: ' + repr(self.role_id) + ' ' +\
 5553            '>'
 5554
 5555    def to_dict(self):
 5556        return {
 5557            'account_id': self.account_id,
 5558            'approval_flow_id': self.approval_flow_id,
 5559            'approval_step_id': self.approval_step_id,
 5560            'id': self.id,
 5561            'reference': self.reference,
 5562            'role_id': self.role_id,
 5563        }
 5564
 5565    @classmethod
 5566    def from_dict(cls, d):
 5567        return cls(
 5568            account_id=d.get('account_id'),
 5569            approval_flow_id=d.get('approval_flow_id'),
 5570            approval_step_id=d.get('approval_step_id'),
 5571            id=d.get('id'),
 5572            reference=d.get('reference'),
 5573            role_id=d.get('role_id'),
 5574        )
 5575
 5576
 5577class ApprovalWorkflowApproverCreateResponse:
 5578    '''
 5579         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 5580    '''
 5581    __slots__ = [
 5582        'approval_workflow_approver',
 5583        'rate_limit',
 5584    ]
 5585
 5586    def __init__(
 5587        self,
 5588        approval_workflow_approver=None,
 5589        rate_limit=None,
 5590    ):
 5591        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5592        '''
 5593         The created approval workflow approver.
 5594        '''
 5595        self.rate_limit = rate_limit if rate_limit is not None else None
 5596        '''
 5597         Rate limit information.
 5598        '''
 5599
 5600    def __repr__(self):
 5601        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 5602            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5603            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5604            '>'
 5605
 5606    def to_dict(self):
 5607        return {
 5608            'approval_workflow_approver': self.approval_workflow_approver,
 5609            'rate_limit': self.rate_limit,
 5610        }
 5611
 5612    @classmethod
 5613    def from_dict(cls, d):
 5614        return cls(
 5615            approval_workflow_approver=d.get('approval_workflow_approver'),
 5616            rate_limit=d.get('rate_limit'),
 5617        )
 5618
 5619
 5620class ApprovalWorkflowApproverDeleteResponse:
 5621    '''
 5622         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 5623    '''
 5624    __slots__ = [
 5625        'id',
 5626        'rate_limit',
 5627    ]
 5628
 5629    def __init__(
 5630        self,
 5631        id=None,
 5632        rate_limit=None,
 5633    ):
 5634        self.id = id if id is not None else ''
 5635        '''
 5636         The deleted approval workflow approver id.
 5637        '''
 5638        self.rate_limit = rate_limit if rate_limit is not None else None
 5639        '''
 5640         Rate limit information.
 5641        '''
 5642
 5643    def __repr__(self):
 5644        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 5645            'id: ' + repr(self.id) + ' ' +\
 5646            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5647            '>'
 5648
 5649    def to_dict(self):
 5650        return {
 5651            'id': self.id,
 5652            'rate_limit': self.rate_limit,
 5653        }
 5654
 5655    @classmethod
 5656    def from_dict(cls, d):
 5657        return cls(
 5658            id=d.get('id'),
 5659            rate_limit=d.get('rate_limit'),
 5660        )
 5661
 5662
 5663class ApprovalWorkflowApproverGetResponse:
 5664    '''
 5665         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 5666    '''
 5667    __slots__ = [
 5668        'approval_workflow_approver',
 5669        'meta',
 5670        'rate_limit',
 5671    ]
 5672
 5673    def __init__(
 5674        self,
 5675        approval_workflow_approver=None,
 5676        meta=None,
 5677        rate_limit=None,
 5678    ):
 5679        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5680        '''
 5681         The requested ApprovalWorkflowApprover.
 5682        '''
 5683        self.meta = meta if meta is not None else None
 5684        '''
 5685         Reserved for future use.
 5686        '''
 5687        self.rate_limit = rate_limit if rate_limit is not None else None
 5688        '''
 5689         Rate limit information.
 5690        '''
 5691
 5692    def __repr__(self):
 5693        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 5694            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5695            'meta: ' + repr(self.meta) + ' ' +\
 5696            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5697            '>'
 5698
 5699    def to_dict(self):
 5700        return {
 5701            'approval_workflow_approver': self.approval_workflow_approver,
 5702            'meta': self.meta,
 5703            'rate_limit': self.rate_limit,
 5704        }
 5705
 5706    @classmethod
 5707    def from_dict(cls, d):
 5708        return cls(
 5709            approval_workflow_approver=d.get('approval_workflow_approver'),
 5710            meta=d.get('meta'),
 5711            rate_limit=d.get('rate_limit'),
 5712        )
 5713
 5714
 5715class ApprovalWorkflowApproverHistory:
 5716    '''
 5717         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 5718     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 5719     ApprovalWorkflowApproverHistory record.
 5720    '''
 5721    __slots__ = [
 5722        'activity_id',
 5723        'approval_workflow_approver',
 5724        'deleted_at',
 5725        'timestamp',
 5726    ]
 5727
 5728    def __init__(
 5729        self,
 5730        activity_id=None,
 5731        approval_workflow_approver=None,
 5732        deleted_at=None,
 5733        timestamp=None,
 5734    ):
 5735        self.activity_id = activity_id if activity_id is not None else ''
 5736        '''
 5737         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 5738         May be empty for some system-initiated updates.
 5739        '''
 5740        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5741        '''
 5742         The complete ApprovalWorkflowApprover state at this time.
 5743        '''
 5744        self.deleted_at = deleted_at if deleted_at is not None else None
 5745        '''
 5746         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 5747        '''
 5748        self.timestamp = timestamp if timestamp is not None else None
 5749        '''
 5750         The time at which the ApprovalWorkflowApprover state was recorded.
 5751        '''
 5752
 5753    def __repr__(self):
 5754        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 5755            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5756            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5757            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5758            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5759            '>'
 5760
 5761    def to_dict(self):
 5762        return {
 5763            'activity_id': self.activity_id,
 5764            'approval_workflow_approver': self.approval_workflow_approver,
 5765            'deleted_at': self.deleted_at,
 5766            'timestamp': self.timestamp,
 5767        }
 5768
 5769    @classmethod
 5770    def from_dict(cls, d):
 5771        return cls(
 5772            activity_id=d.get('activity_id'),
 5773            approval_workflow_approver=d.get('approval_workflow_approver'),
 5774            deleted_at=d.get('deleted_at'),
 5775            timestamp=d.get('timestamp'),
 5776        )
 5777
 5778
 5779class ApprovalWorkflowApproverListResponse:
 5780    '''
 5781         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 5782     the criteria of an ApprovalWorkflowApproverListRequest.
 5783    '''
 5784    __slots__ = [
 5785        'rate_limit',
 5786    ]
 5787
 5788    def __init__(
 5789        self,
 5790        rate_limit=None,
 5791    ):
 5792        self.rate_limit = rate_limit if rate_limit is not None else None
 5793        '''
 5794         Rate limit information.
 5795        '''
 5796
 5797    def __repr__(self):
 5798        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 5799            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5800            '>'
 5801
 5802    def to_dict(self):
 5803        return {
 5804            'rate_limit': self.rate_limit,
 5805        }
 5806
 5807    @classmethod
 5808    def from_dict(cls, d):
 5809        return cls(rate_limit=d.get('rate_limit'), )
 5810
 5811
 5812class ApprovalWorkflowCreateResponse:
 5813    '''
 5814         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 5815    '''
 5816    __slots__ = [
 5817        'approval_workflow',
 5818        'rate_limit',
 5819    ]
 5820
 5821    def __init__(
 5822        self,
 5823        approval_workflow=None,
 5824        rate_limit=None,
 5825    ):
 5826        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5827        '''
 5828         The created approval workflow.
 5829        '''
 5830        self.rate_limit = rate_limit if rate_limit is not None else None
 5831        '''
 5832         Rate limit information.
 5833        '''
 5834
 5835    def __repr__(self):
 5836        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 5837            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5838            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5839            '>'
 5840
 5841    def to_dict(self):
 5842        return {
 5843            'approval_workflow': self.approval_workflow,
 5844            'rate_limit': self.rate_limit,
 5845        }
 5846
 5847    @classmethod
 5848    def from_dict(cls, d):
 5849        return cls(
 5850            approval_workflow=d.get('approval_workflow'),
 5851            rate_limit=d.get('rate_limit'),
 5852        )
 5853
 5854
 5855class ApprovalWorkflowDeleteResponse:
 5856    '''
 5857         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 5858    '''
 5859    __slots__ = [
 5860        'id',
 5861        'rate_limit',
 5862    ]
 5863
 5864    def __init__(
 5865        self,
 5866        id=None,
 5867        rate_limit=None,
 5868    ):
 5869        self.id = id if id is not None else ''
 5870        '''
 5871         The deleted approval workflow id.
 5872        '''
 5873        self.rate_limit = rate_limit if rate_limit is not None else None
 5874        '''
 5875         Rate limit information.
 5876        '''
 5877
 5878    def __repr__(self):
 5879        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 5880            'id: ' + repr(self.id) + ' ' +\
 5881            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5882            '>'
 5883
 5884    def to_dict(self):
 5885        return {
 5886            'id': self.id,
 5887            'rate_limit': self.rate_limit,
 5888        }
 5889
 5890    @classmethod
 5891    def from_dict(cls, d):
 5892        return cls(
 5893            id=d.get('id'),
 5894            rate_limit=d.get('rate_limit'),
 5895        )
 5896
 5897
 5898class ApprovalWorkflowGetResponse:
 5899    '''
 5900         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 5901    '''
 5902    __slots__ = [
 5903        'approval_workflow',
 5904        'meta',
 5905        'rate_limit',
 5906    ]
 5907
 5908    def __init__(
 5909        self,
 5910        approval_workflow=None,
 5911        meta=None,
 5912        rate_limit=None,
 5913    ):
 5914        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5915        '''
 5916         The requested ApprovalWorkflow.
 5917        '''
 5918        self.meta = meta if meta is not None else None
 5919        '''
 5920         Reserved for future use.
 5921        '''
 5922        self.rate_limit = rate_limit if rate_limit is not None else None
 5923        '''
 5924         Rate limit information.
 5925        '''
 5926
 5927    def __repr__(self):
 5928        return '<sdm.ApprovalWorkflowGetResponse ' + \
 5929            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5930            'meta: ' + repr(self.meta) + ' ' +\
 5931            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5932            '>'
 5933
 5934    def to_dict(self):
 5935        return {
 5936            'approval_workflow': self.approval_workflow,
 5937            'meta': self.meta,
 5938            'rate_limit': self.rate_limit,
 5939        }
 5940
 5941    @classmethod
 5942    def from_dict(cls, d):
 5943        return cls(
 5944            approval_workflow=d.get('approval_workflow'),
 5945            meta=d.get('meta'),
 5946            rate_limit=d.get('rate_limit'),
 5947        )
 5948
 5949
 5950class ApprovalWorkflowHistory:
 5951    '''
 5952         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 5953     where every change (create, update and delete) to an ApprovalWorkflow produces an
 5954     ApprovalWorkflowHistory record.
 5955    '''
 5956    __slots__ = [
 5957        'activity_id',
 5958        'approval_workflow',
 5959        'deleted_at',
 5960        'timestamp',
 5961    ]
 5962
 5963    def __init__(
 5964        self,
 5965        activity_id=None,
 5966        approval_workflow=None,
 5967        deleted_at=None,
 5968        timestamp=None,
 5969    ):
 5970        self.activity_id = activity_id if activity_id is not None else ''
 5971        '''
 5972         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 5973         May be empty for some system-initiated updates.
 5974        '''
 5975        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5976        '''
 5977         The complete ApprovalWorkflow state at this time.
 5978        '''
 5979        self.deleted_at = deleted_at if deleted_at is not None else None
 5980        '''
 5981         If this ApprovalWorkflow was deleted, the time it was deleted.
 5982        '''
 5983        self.timestamp = timestamp if timestamp is not None else None
 5984        '''
 5985         The time at which the ApprovalWorkflow state was recorded.
 5986        '''
 5987
 5988    def __repr__(self):
 5989        return '<sdm.ApprovalWorkflowHistory ' + \
 5990            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5991            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5992            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5993            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5994            '>'
 5995
 5996    def to_dict(self):
 5997        return {
 5998            'activity_id': self.activity_id,
 5999            'approval_workflow': self.approval_workflow,
 6000            'deleted_at': self.deleted_at,
 6001            'timestamp': self.timestamp,
 6002        }
 6003
 6004    @classmethod
 6005    def from_dict(cls, d):
 6006        return cls(
 6007            activity_id=d.get('activity_id'),
 6008            approval_workflow=d.get('approval_workflow'),
 6009            deleted_at=d.get('deleted_at'),
 6010            timestamp=d.get('timestamp'),
 6011        )
 6012
 6013
 6014class ApprovalWorkflowListResponse:
 6015    '''
 6016         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 6017     the criteria of an ApprovalWorkflowListRequest.
 6018    '''
 6019    __slots__ = [
 6020        'rate_limit',
 6021    ]
 6022
 6023    def __init__(
 6024        self,
 6025        rate_limit=None,
 6026    ):
 6027        self.rate_limit = rate_limit if rate_limit is not None else None
 6028        '''
 6029         Rate limit information.
 6030        '''
 6031
 6032    def __repr__(self):
 6033        return '<sdm.ApprovalWorkflowListResponse ' + \
 6034            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6035            '>'
 6036
 6037    def to_dict(self):
 6038        return {
 6039            'rate_limit': self.rate_limit,
 6040        }
 6041
 6042    @classmethod
 6043    def from_dict(cls, d):
 6044        return cls(rate_limit=d.get('rate_limit'), )
 6045
 6046
 6047class ApprovalWorkflowStep:
 6048    '''
 6049         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 6050    '''
 6051    __slots__ = [
 6052        'approval_flow_id',
 6053        'id',
 6054        'quantifier',
 6055        'skip_after',
 6056        'step_order',
 6057    ]
 6058
 6059    def __init__(
 6060        self,
 6061        approval_flow_id=None,
 6062        id=None,
 6063        quantifier=None,
 6064        skip_after=None,
 6065        step_order=None,
 6066    ):
 6067        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6068        '''
 6069         The approval flow id specified the approval workflow that this step belongs to
 6070        '''
 6071        self.id = id if id is not None else ''
 6072        '''
 6073         Unique identifier of the ApprovalWorkflowStep.
 6074        '''
 6075        self.quantifier = quantifier if quantifier is not None else ''
 6076        '''
 6077         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
 6078        '''
 6079        self.skip_after = skip_after if skip_after is not None else None
 6080        '''
 6081         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
 6082        '''
 6083        self.step_order = step_order if step_order is not None else 0
 6084        '''
 6085         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
 6086        '''
 6087
 6088    def __repr__(self):
 6089        return '<sdm.ApprovalWorkflowStep ' + \
 6090            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6091            'id: ' + repr(self.id) + ' ' +\
 6092            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6093            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6094            'step_order: ' + repr(self.step_order) + ' ' +\
 6095            '>'
 6096
 6097    def to_dict(self):
 6098        return {
 6099            'approval_flow_id': self.approval_flow_id,
 6100            'id': self.id,
 6101            'quantifier': self.quantifier,
 6102            'skip_after': self.skip_after,
 6103            'step_order': self.step_order,
 6104        }
 6105
 6106    @classmethod
 6107    def from_dict(cls, d):
 6108        return cls(
 6109            approval_flow_id=d.get('approval_flow_id'),
 6110            id=d.get('id'),
 6111            quantifier=d.get('quantifier'),
 6112            skip_after=d.get('skip_after'),
 6113            step_order=d.get('step_order'),
 6114        )
 6115
 6116
 6117class ApprovalWorkflowStepCreateResponse:
 6118    '''
 6119         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 6120    '''
 6121    __slots__ = [
 6122        'approval_workflow_step',
 6123        'rate_limit',
 6124    ]
 6125
 6126    def __init__(
 6127        self,
 6128        approval_workflow_step=None,
 6129        rate_limit=None,
 6130    ):
 6131        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6132        '''
 6133         The created approval workflow step.
 6134        '''
 6135        self.rate_limit = rate_limit if rate_limit is not None else None
 6136        '''
 6137         Rate limit information.
 6138        '''
 6139
 6140    def __repr__(self):
 6141        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 6142            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6143            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6144            '>'
 6145
 6146    def to_dict(self):
 6147        return {
 6148            'approval_workflow_step': self.approval_workflow_step,
 6149            'rate_limit': self.rate_limit,
 6150        }
 6151
 6152    @classmethod
 6153    def from_dict(cls, d):
 6154        return cls(
 6155            approval_workflow_step=d.get('approval_workflow_step'),
 6156            rate_limit=d.get('rate_limit'),
 6157        )
 6158
 6159
 6160class ApprovalWorkflowStepDeleteResponse:
 6161    '''
 6162         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 6163    '''
 6164    __slots__ = [
 6165        'id',
 6166        'rate_limit',
 6167    ]
 6168
 6169    def __init__(
 6170        self,
 6171        id=None,
 6172        rate_limit=None,
 6173    ):
 6174        self.id = id if id is not None else ''
 6175        '''
 6176         The deleted approval workflow step id.
 6177        '''
 6178        self.rate_limit = rate_limit if rate_limit is not None else None
 6179        '''
 6180         Rate limit information.
 6181        '''
 6182
 6183    def __repr__(self):
 6184        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 6185            'id: ' + repr(self.id) + ' ' +\
 6186            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6187            '>'
 6188
 6189    def to_dict(self):
 6190        return {
 6191            'id': self.id,
 6192            'rate_limit': self.rate_limit,
 6193        }
 6194
 6195    @classmethod
 6196    def from_dict(cls, d):
 6197        return cls(
 6198            id=d.get('id'),
 6199            rate_limit=d.get('rate_limit'),
 6200        )
 6201
 6202
 6203class ApprovalWorkflowStepGetResponse:
 6204    '''
 6205         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 6206    '''
 6207    __slots__ = [
 6208        'approval_workflow_step',
 6209        'meta',
 6210        'rate_limit',
 6211    ]
 6212
 6213    def __init__(
 6214        self,
 6215        approval_workflow_step=None,
 6216        meta=None,
 6217        rate_limit=None,
 6218    ):
 6219        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6220        '''
 6221         The requested ApprovalWorkflowStep.
 6222        '''
 6223        self.meta = meta if meta is not None else None
 6224        '''
 6225         Reserved for future use.
 6226        '''
 6227        self.rate_limit = rate_limit if rate_limit is not None else None
 6228        '''
 6229         Rate limit information.
 6230        '''
 6231
 6232    def __repr__(self):
 6233        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 6234            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6235            'meta: ' + repr(self.meta) + ' ' +\
 6236            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6237            '>'
 6238
 6239    def to_dict(self):
 6240        return {
 6241            'approval_workflow_step': self.approval_workflow_step,
 6242            'meta': self.meta,
 6243            'rate_limit': self.rate_limit,
 6244        }
 6245
 6246    @classmethod
 6247    def from_dict(cls, d):
 6248        return cls(
 6249            approval_workflow_step=d.get('approval_workflow_step'),
 6250            meta=d.get('meta'),
 6251            rate_limit=d.get('rate_limit'),
 6252        )
 6253
 6254
 6255class ApprovalWorkflowStepHistory:
 6256    '''
 6257         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 6258     where every change (create or delete) to an ApprovalWorkflowStep produces an
 6259     ApprovalWorkflowStepHistory record.
 6260    '''
 6261    __slots__ = [
 6262        'activity_id',
 6263        'approval_workflow_step',
 6264        'deleted_at',
 6265        'timestamp',
 6266    ]
 6267
 6268    def __init__(
 6269        self,
 6270        activity_id=None,
 6271        approval_workflow_step=None,
 6272        deleted_at=None,
 6273        timestamp=None,
 6274    ):
 6275        self.activity_id = activity_id if activity_id is not None else ''
 6276        '''
 6277         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 6278         May be empty for some system-initiated updates.
 6279        '''
 6280        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6281        '''
 6282         The complete ApprovalWorkflowStep state at this time.
 6283        '''
 6284        self.deleted_at = deleted_at if deleted_at is not None else None
 6285        '''
 6286         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 6287        '''
 6288        self.timestamp = timestamp if timestamp is not None else None
 6289        '''
 6290         The time at which the ApprovalWorkflowStep state was recorded.
 6291        '''
 6292
 6293    def __repr__(self):
 6294        return '<sdm.ApprovalWorkflowStepHistory ' + \
 6295            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6296            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6297            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6298            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6299            '>'
 6300
 6301    def to_dict(self):
 6302        return {
 6303            'activity_id': self.activity_id,
 6304            'approval_workflow_step': self.approval_workflow_step,
 6305            'deleted_at': self.deleted_at,
 6306            'timestamp': self.timestamp,
 6307        }
 6308
 6309    @classmethod
 6310    def from_dict(cls, d):
 6311        return cls(
 6312            activity_id=d.get('activity_id'),
 6313            approval_workflow_step=d.get('approval_workflow_step'),
 6314            deleted_at=d.get('deleted_at'),
 6315            timestamp=d.get('timestamp'),
 6316        )
 6317
 6318
 6319class ApprovalWorkflowStepListResponse:
 6320    '''
 6321         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 6322     the criteria of an ApprovalWorkflowStepListRequest.
 6323    '''
 6324    __slots__ = [
 6325        'rate_limit',
 6326    ]
 6327
 6328    def __init__(
 6329        self,
 6330        rate_limit=None,
 6331    ):
 6332        self.rate_limit = rate_limit if rate_limit is not None else None
 6333        '''
 6334         Rate limit information.
 6335        '''
 6336
 6337    def __repr__(self):
 6338        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 6339            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6340            '>'
 6341
 6342    def to_dict(self):
 6343        return {
 6344            'rate_limit': self.rate_limit,
 6345        }
 6346
 6347    @classmethod
 6348    def from_dict(cls, d):
 6349        return cls(rate_limit=d.get('rate_limit'), )
 6350
 6351
 6352class ApprovalWorkflowUpdateResponse:
 6353    '''
 6354         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 6355     an ApprovalWorkflowUpdateRequest.
 6356    '''
 6357    __slots__ = [
 6358        'approval_workflow',
 6359        'rate_limit',
 6360    ]
 6361
 6362    def __init__(
 6363        self,
 6364        approval_workflow=None,
 6365        rate_limit=None,
 6366    ):
 6367        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6368        '''
 6369         The updated approval workflow.
 6370        '''
 6371        self.rate_limit = rate_limit if rate_limit is not None else None
 6372        '''
 6373         Rate limit information.
 6374        '''
 6375
 6376    def __repr__(self):
 6377        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 6378            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6379            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6380            '>'
 6381
 6382    def to_dict(self):
 6383        return {
 6384            'approval_workflow': self.approval_workflow,
 6385            'rate_limit': self.rate_limit,
 6386        }
 6387
 6388    @classmethod
 6389    def from_dict(cls, d):
 6390        return cls(
 6391            approval_workflow=d.get('approval_workflow'),
 6392            rate_limit=d.get('rate_limit'),
 6393        )
 6394
 6395
 6396class Athena:
 6397    __slots__ = [
 6398        'access_key',
 6399        'bind_interface',
 6400        'egress_filter',
 6401        'healthy',
 6402        'id',
 6403        'name',
 6404        'output',
 6405        'port_override',
 6406        'proxy_cluster_id',
 6407        'region',
 6408        'role_arn',
 6409        'role_external_id',
 6410        'secret_access_key',
 6411        'secret_store_id',
 6412        'subdomain',
 6413        'tags',
 6414    ]
 6415
 6416    def __init__(
 6417        self,
 6418        access_key=None,
 6419        bind_interface=None,
 6420        egress_filter=None,
 6421        healthy=None,
 6422        id=None,
 6423        name=None,
 6424        output=None,
 6425        port_override=None,
 6426        proxy_cluster_id=None,
 6427        region=None,
 6428        role_arn=None,
 6429        role_external_id=None,
 6430        secret_access_key=None,
 6431        secret_store_id=None,
 6432        subdomain=None,
 6433        tags=None,
 6434    ):
 6435        self.access_key = access_key if access_key is not None else ''
 6436        '''
 6437         The Access Key ID to use to authenticate.
 6438        '''
 6439        self.bind_interface = bind_interface if bind_interface is not None else ''
 6440        '''
 6441         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6442        '''
 6443        self.egress_filter = egress_filter if egress_filter is not None else ''
 6444        '''
 6445         A filter applied to the routing logic to pin datasource to nodes.
 6446        '''
 6447        self.healthy = healthy if healthy is not None else False
 6448        '''
 6449         True if the datasource is reachable and the credentials are valid.
 6450        '''
 6451        self.id = id if id is not None else ''
 6452        '''
 6453         Unique identifier of the Resource.
 6454        '''
 6455        self.name = name if name is not None else ''
 6456        '''
 6457         Unique human-readable name of the Resource.
 6458        '''
 6459        self.output = output if output is not None else ''
 6460        '''
 6461         The AWS S3 output location.
 6462        '''
 6463        self.port_override = port_override if port_override is not None else 0
 6464        '''
 6465         The local port used by clients to connect to this resource.
 6466        '''
 6467        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6468        '''
 6469         ID of the proxy cluster for this resource, if any.
 6470        '''
 6471        self.region = region if region is not None else ''
 6472        '''
 6473         The AWS region to connect to e.g. us-east-1.
 6474        '''
 6475        self.role_arn = role_arn if role_arn is not None else ''
 6476        '''
 6477         The role to assume after logging in.
 6478        '''
 6479        self.role_external_id = role_external_id if role_external_id is not None else ''
 6480        '''
 6481         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6482        '''
 6483        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 6484        '''
 6485         The Secret Access Key to use to authenticate.
 6486        '''
 6487        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6488        '''
 6489         ID of the secret store containing credentials for this resource, if any.
 6490        '''
 6491        self.subdomain = subdomain if subdomain is not None else ''
 6492        '''
 6493         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6494        '''
 6495        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6496        '''
 6497         Tags is a map of key, value pairs.
 6498        '''
 6499
 6500    def __repr__(self):
 6501        return '<sdm.Athena ' + \
 6502            'access_key: ' + repr(self.access_key) + ' ' +\
 6503            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6504            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6505            'healthy: ' + repr(self.healthy) + ' ' +\
 6506            'id: ' + repr(self.id) + ' ' +\
 6507            'name: ' + repr(self.name) + ' ' +\
 6508            'output: ' + repr(self.output) + ' ' +\
 6509            'port_override: ' + repr(self.port_override) + ' ' +\
 6510            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6511            'region: ' + repr(self.region) + ' ' +\
 6512            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6513            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6514            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 6515            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6516            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6517            'tags: ' + repr(self.tags) + ' ' +\
 6518            '>'
 6519
 6520    def to_dict(self):
 6521        return {
 6522            'access_key': self.access_key,
 6523            'bind_interface': self.bind_interface,
 6524            'egress_filter': self.egress_filter,
 6525            'healthy': self.healthy,
 6526            'id': self.id,
 6527            'name': self.name,
 6528            'output': self.output,
 6529            'port_override': self.port_override,
 6530            'proxy_cluster_id': self.proxy_cluster_id,
 6531            'region': self.region,
 6532            'role_arn': self.role_arn,
 6533            'role_external_id': self.role_external_id,
 6534            'secret_access_key': self.secret_access_key,
 6535            'secret_store_id': self.secret_store_id,
 6536            'subdomain': self.subdomain,
 6537            'tags': self.tags,
 6538        }
 6539
 6540    @classmethod
 6541    def from_dict(cls, d):
 6542        return cls(
 6543            access_key=d.get('access_key'),
 6544            bind_interface=d.get('bind_interface'),
 6545            egress_filter=d.get('egress_filter'),
 6546            healthy=d.get('healthy'),
 6547            id=d.get('id'),
 6548            name=d.get('name'),
 6549            output=d.get('output'),
 6550            port_override=d.get('port_override'),
 6551            proxy_cluster_id=d.get('proxy_cluster_id'),
 6552            region=d.get('region'),
 6553            role_arn=d.get('role_arn'),
 6554            role_external_id=d.get('role_external_id'),
 6555            secret_access_key=d.get('secret_access_key'),
 6556            secret_store_id=d.get('secret_store_id'),
 6557            subdomain=d.get('subdomain'),
 6558            tags=d.get('tags'),
 6559        )
 6560
 6561
 6562class AthenaIAM:
 6563    __slots__ = [
 6564        'bind_interface',
 6565        'egress_filter',
 6566        'healthy',
 6567        'id',
 6568        'name',
 6569        'output',
 6570        'port_override',
 6571        'proxy_cluster_id',
 6572        'region',
 6573        'role_arn',
 6574        'role_external_id',
 6575        'secret_store_id',
 6576        'subdomain',
 6577        'tags',
 6578    ]
 6579
 6580    def __init__(
 6581        self,
 6582        bind_interface=None,
 6583        egress_filter=None,
 6584        healthy=None,
 6585        id=None,
 6586        name=None,
 6587        output=None,
 6588        port_override=None,
 6589        proxy_cluster_id=None,
 6590        region=None,
 6591        role_arn=None,
 6592        role_external_id=None,
 6593        secret_store_id=None,
 6594        subdomain=None,
 6595        tags=None,
 6596    ):
 6597        self.bind_interface = bind_interface if bind_interface is not None else ''
 6598        '''
 6599         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6600        '''
 6601        self.egress_filter = egress_filter if egress_filter is not None else ''
 6602        '''
 6603         A filter applied to the routing logic to pin datasource to nodes.
 6604        '''
 6605        self.healthy = healthy if healthy is not None else False
 6606        '''
 6607         True if the datasource is reachable and the credentials are valid.
 6608        '''
 6609        self.id = id if id is not None else ''
 6610        '''
 6611         Unique identifier of the Resource.
 6612        '''
 6613        self.name = name if name is not None else ''
 6614        '''
 6615         Unique human-readable name of the Resource.
 6616        '''
 6617        self.output = output if output is not None else ''
 6618        '''
 6619         The AWS S3 output location.
 6620        '''
 6621        self.port_override = port_override if port_override is not None else 0
 6622        '''
 6623         The local port used by clients to connect to this resource.
 6624        '''
 6625        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6626        '''
 6627         ID of the proxy cluster for this resource, if any.
 6628        '''
 6629        self.region = region if region is not None else ''
 6630        '''
 6631         The AWS region to connect to e.g. us-east-1.
 6632        '''
 6633        self.role_arn = role_arn if role_arn is not None else ''
 6634        '''
 6635         The role to assume after logging in.
 6636        '''
 6637        self.role_external_id = role_external_id if role_external_id is not None else ''
 6638        '''
 6639         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6640        '''
 6641        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6642        '''
 6643         ID of the secret store containing credentials for this resource, if any.
 6644        '''
 6645        self.subdomain = subdomain if subdomain is not None else ''
 6646        '''
 6647         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6648        '''
 6649        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6650        '''
 6651         Tags is a map of key, value pairs.
 6652        '''
 6653
 6654    def __repr__(self):
 6655        return '<sdm.AthenaIAM ' + \
 6656            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6657            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6658            'healthy: ' + repr(self.healthy) + ' ' +\
 6659            'id: ' + repr(self.id) + ' ' +\
 6660            'name: ' + repr(self.name) + ' ' +\
 6661            'output: ' + repr(self.output) + ' ' +\
 6662            'port_override: ' + repr(self.port_override) + ' ' +\
 6663            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6664            'region: ' + repr(self.region) + ' ' +\
 6665            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6666            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6667            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6668            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6669            'tags: ' + repr(self.tags) + ' ' +\
 6670            '>'
 6671
 6672    def to_dict(self):
 6673        return {
 6674            'bind_interface': self.bind_interface,
 6675            'egress_filter': self.egress_filter,
 6676            'healthy': self.healthy,
 6677            'id': self.id,
 6678            'name': self.name,
 6679            'output': self.output,
 6680            'port_override': self.port_override,
 6681            'proxy_cluster_id': self.proxy_cluster_id,
 6682            'region': self.region,
 6683            'role_arn': self.role_arn,
 6684            'role_external_id': self.role_external_id,
 6685            'secret_store_id': self.secret_store_id,
 6686            'subdomain': self.subdomain,
 6687            'tags': self.tags,
 6688        }
 6689
 6690    @classmethod
 6691    def from_dict(cls, d):
 6692        return cls(
 6693            bind_interface=d.get('bind_interface'),
 6694            egress_filter=d.get('egress_filter'),
 6695            healthy=d.get('healthy'),
 6696            id=d.get('id'),
 6697            name=d.get('name'),
 6698            output=d.get('output'),
 6699            port_override=d.get('port_override'),
 6700            proxy_cluster_id=d.get('proxy_cluster_id'),
 6701            region=d.get('region'),
 6702            role_arn=d.get('role_arn'),
 6703            role_external_id=d.get('role_external_id'),
 6704            secret_store_id=d.get('secret_store_id'),
 6705            subdomain=d.get('subdomain'),
 6706            tags=d.get('tags'),
 6707        )
 6708
 6709
 6710class AuroraMysql:
 6711    __slots__ = [
 6712        'bind_interface',
 6713        'database',
 6714        'egress_filter',
 6715        'healthy',
 6716        'hostname',
 6717        'id',
 6718        'name',
 6719        'password',
 6720        'port',
 6721        'port_override',
 6722        'proxy_cluster_id',
 6723        'require_native_auth',
 6724        'secret_store_id',
 6725        'subdomain',
 6726        'tags',
 6727        'use_azure_single_server_usernames',
 6728        'username',
 6729    ]
 6730
 6731    def __init__(
 6732        self,
 6733        bind_interface=None,
 6734        database=None,
 6735        egress_filter=None,
 6736        healthy=None,
 6737        hostname=None,
 6738        id=None,
 6739        name=None,
 6740        password=None,
 6741        port=None,
 6742        port_override=None,
 6743        proxy_cluster_id=None,
 6744        require_native_auth=None,
 6745        secret_store_id=None,
 6746        subdomain=None,
 6747        tags=None,
 6748        use_azure_single_server_usernames=None,
 6749        username=None,
 6750    ):
 6751        self.bind_interface = bind_interface if bind_interface is not None else ''
 6752        '''
 6753         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6754        '''
 6755        self.database = database if database is not None else ''
 6756        '''
 6757         The database for healthchecks. Does not affect client requests
 6758        '''
 6759        self.egress_filter = egress_filter if egress_filter is not None else ''
 6760        '''
 6761         A filter applied to the routing logic to pin datasource to nodes.
 6762        '''
 6763        self.healthy = healthy if healthy is not None else False
 6764        '''
 6765         True if the datasource is reachable and the credentials are valid.
 6766        '''
 6767        self.hostname = hostname if hostname is not None else ''
 6768        '''
 6769         The host to dial to initiate a connection from the egress node to this resource.
 6770        '''
 6771        self.id = id if id is not None else ''
 6772        '''
 6773         Unique identifier of the Resource.
 6774        '''
 6775        self.name = name if name is not None else ''
 6776        '''
 6777         Unique human-readable name of the Resource.
 6778        '''
 6779        self.password = password if password is not None else ''
 6780        '''
 6781         The password to authenticate with.
 6782        '''
 6783        self.port = port if port is not None else 0
 6784        '''
 6785         The port to dial to initiate a connection from the egress node to this resource.
 6786        '''
 6787        self.port_override = port_override if port_override is not None else 0
 6788        '''
 6789         The local port used by clients to connect to this resource.
 6790        '''
 6791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6792        '''
 6793         ID of the proxy cluster for this resource, if any.
 6794        '''
 6795        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 6796        '''
 6797         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 6798        '''
 6799        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6800        '''
 6801         ID of the secret store containing credentials for this resource, if any.
 6802        '''
 6803        self.subdomain = subdomain if subdomain is not None else ''
 6804        '''
 6805         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6806        '''
 6807        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6808        '''
 6809         Tags is a map of key, value pairs.
 6810        '''
 6811        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 6812        '''
 6813         If true, appends the hostname to the username when hitting a database.azure.com address
 6814        '''
 6815        self.username = username if username is not None else ''
 6816        '''
 6817         The username to authenticate with.
 6818        '''
 6819
 6820    def __repr__(self):
 6821        return '<sdm.AuroraMysql ' + \
 6822            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6823            'database: ' + repr(self.database) + ' ' +\
 6824            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6825            'healthy: ' + repr(self.healthy) + ' ' +\
 6826            'hostname: ' + repr(self.hostname) + ' ' +\
 6827            'id: ' + repr(self.id) + ' ' +\
 6828            'name: ' + repr(self.name) + ' ' +\
 6829            'password: ' + repr(self.password) + ' ' +\
 6830            'port: ' + repr(self.port) + ' ' +\
 6831            'port_override: ' + repr(self.port_override) + ' ' +\
 6832            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6833            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 6834            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6835            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6836            'tags: ' + repr(self.tags) + ' ' +\
 6837            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 6838            'username: ' + repr(self.username) + ' ' +\
 6839            '>'
 6840
 6841    def to_dict(self):
 6842        return {
 6843            'bind_interface': self.bind_interface,
 6844            'database': self.database,
 6845            'egress_filter': self.egress_filter,
 6846            'healthy': self.healthy,
 6847            'hostname': self.hostname,
 6848            'id': self.id,
 6849            'name': self.name,
 6850            'password': self.password,
 6851            'port': self.port,
 6852            'port_override': self.port_override,
 6853            'proxy_cluster_id': self.proxy_cluster_id,
 6854            'require_native_auth': self.require_native_auth,
 6855            'secret_store_id': self.secret_store_id,
 6856            'subdomain': self.subdomain,
 6857            'tags': self.tags,
 6858            'use_azure_single_server_usernames':
 6859            self.use_azure_single_server_usernames,
 6860            'username': self.username,
 6861        }
 6862
 6863    @classmethod
 6864    def from_dict(cls, d):
 6865        return cls(
 6866            bind_interface=d.get('bind_interface'),
 6867            database=d.get('database'),
 6868            egress_filter=d.get('egress_filter'),
 6869            healthy=d.get('healthy'),
 6870            hostname=d.get('hostname'),
 6871            id=d.get('id'),
 6872            name=d.get('name'),
 6873            password=d.get('password'),
 6874            port=d.get('port'),
 6875            port_override=d.get('port_override'),
 6876            proxy_cluster_id=d.get('proxy_cluster_id'),
 6877            require_native_auth=d.get('require_native_auth'),
 6878            secret_store_id=d.get('secret_store_id'),
 6879            subdomain=d.get('subdomain'),
 6880            tags=d.get('tags'),
 6881            use_azure_single_server_usernames=d.get(
 6882                'use_azure_single_server_usernames'),
 6883            username=d.get('username'),
 6884        )
 6885
 6886
 6887class AuroraMysqlIAM:
 6888    __slots__ = [
 6889        'bind_interface',
 6890        'database',
 6891        'egress_filter',
 6892        'healthy',
 6893        'hostname',
 6894        'id',
 6895        'name',
 6896        'port',
 6897        'port_override',
 6898        'proxy_cluster_id',
 6899        'region',
 6900        'role_assumption_arn',
 6901        'secret_store_id',
 6902        'subdomain',
 6903        'tags',
 6904        'username',
 6905    ]
 6906
 6907    def __init__(
 6908        self,
 6909        bind_interface=None,
 6910        database=None,
 6911        egress_filter=None,
 6912        healthy=None,
 6913        hostname=None,
 6914        id=None,
 6915        name=None,
 6916        port=None,
 6917        port_override=None,
 6918        proxy_cluster_id=None,
 6919        region=None,
 6920        role_assumption_arn=None,
 6921        secret_store_id=None,
 6922        subdomain=None,
 6923        tags=None,
 6924        username=None,
 6925    ):
 6926        self.bind_interface = bind_interface if bind_interface is not None else ''
 6927        '''
 6928         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6929        '''
 6930        self.database = database if database is not None else ''
 6931        '''
 6932         The database for healthchecks. Does not affect client requests
 6933        '''
 6934        self.egress_filter = egress_filter if egress_filter is not None else ''
 6935        '''
 6936         A filter applied to the routing logic to pin datasource to nodes.
 6937        '''
 6938        self.healthy = healthy if healthy is not None else False
 6939        '''
 6940         True if the datasource is reachable and the credentials are valid.
 6941        '''
 6942        self.hostname = hostname if hostname is not None else ''
 6943        '''
 6944         The host to dial to initiate a connection from the egress node to this resource.
 6945        '''
 6946        self.id = id if id is not None else ''
 6947        '''
 6948         Unique identifier of the Resource.
 6949        '''
 6950        self.name = name if name is not None else ''
 6951        '''
 6952         Unique human-readable name of the Resource.
 6953        '''
 6954        self.port = port if port is not None else 0
 6955        '''
 6956         The port to dial to initiate a connection from the egress node to this resource.
 6957        '''
 6958        self.port_override = port_override if port_override is not None else 0
 6959        '''
 6960         The local port used by clients to connect to this resource.
 6961        '''
 6962        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6963        '''
 6964         ID of the proxy cluster for this resource, if any.
 6965        '''
 6966        self.region = region if region is not None else ''
 6967        '''
 6968         The AWS region to connect to.
 6969        '''
 6970        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 6971        '''
 6972         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 6973        '''
 6974        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6975        '''
 6976         ID of the secret store containing credentials for this resource, if any.
 6977        '''
 6978        self.subdomain = subdomain if subdomain is not None else ''
 6979        '''
 6980         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6981        '''
 6982        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6983        '''
 6984         Tags is a map of key, value pairs.
 6985        '''
 6986        self.username = username if username is not None else ''
 6987        '''
 6988         The username to authenticate with.
 6989        '''
 6990
 6991    def __repr__(self):
 6992        return '<sdm.AuroraMysqlIAM ' + \
 6993            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6994            'database: ' + repr(self.database) + ' ' +\
 6995            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6996            'healthy: ' + repr(self.healthy) + ' ' +\
 6997            'hostname: ' + repr(self.hostname) + ' ' +\
 6998            'id: ' + repr(self.id) + ' ' +\
 6999            'name: ' + repr(self.name) + ' ' +\
 7000            'port: ' + repr(self.port) + ' ' +\
 7001            'port_override: ' + repr(self.port_override) + ' ' +\
 7002            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7003            'region: ' + repr(self.region) + ' ' +\
 7004            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7005            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7006            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7007            'tags: ' + repr(self.tags) + ' ' +\
 7008            'username: ' + repr(self.username) + ' ' +\
 7009            '>'
 7010
 7011    def to_dict(self):
 7012        return {
 7013            'bind_interface': self.bind_interface,
 7014            'database': self.database,
 7015            'egress_filter': self.egress_filter,
 7016            'healthy': self.healthy,
 7017            'hostname': self.hostname,
 7018            'id': self.id,
 7019            'name': self.name,
 7020            'port': self.port,
 7021            'port_override': self.port_override,
 7022            'proxy_cluster_id': self.proxy_cluster_id,
 7023            'region': self.region,
 7024            'role_assumption_arn': self.role_assumption_arn,
 7025            'secret_store_id': self.secret_store_id,
 7026            'subdomain': self.subdomain,
 7027            'tags': self.tags,
 7028            'username': self.username,
 7029        }
 7030
 7031    @classmethod
 7032    def from_dict(cls, d):
 7033        return cls(
 7034            bind_interface=d.get('bind_interface'),
 7035            database=d.get('database'),
 7036            egress_filter=d.get('egress_filter'),
 7037            healthy=d.get('healthy'),
 7038            hostname=d.get('hostname'),
 7039            id=d.get('id'),
 7040            name=d.get('name'),
 7041            port=d.get('port'),
 7042            port_override=d.get('port_override'),
 7043            proxy_cluster_id=d.get('proxy_cluster_id'),
 7044            region=d.get('region'),
 7045            role_assumption_arn=d.get('role_assumption_arn'),
 7046            secret_store_id=d.get('secret_store_id'),
 7047            subdomain=d.get('subdomain'),
 7048            tags=d.get('tags'),
 7049            username=d.get('username'),
 7050        )
 7051
 7052
 7053class AuroraPostgres:
 7054    __slots__ = [
 7055        'bind_interface',
 7056        'database',
 7057        'egress_filter',
 7058        'healthy',
 7059        'hostname',
 7060        'id',
 7061        'name',
 7062        'override_database',
 7063        'password',
 7064        'port',
 7065        'port_override',
 7066        'proxy_cluster_id',
 7067        'secret_store_id',
 7068        'subdomain',
 7069        'tags',
 7070        'username',
 7071    ]
 7072
 7073    def __init__(
 7074        self,
 7075        bind_interface=None,
 7076        database=None,
 7077        egress_filter=None,
 7078        healthy=None,
 7079        hostname=None,
 7080        id=None,
 7081        name=None,
 7082        override_database=None,
 7083        password=None,
 7084        port=None,
 7085        port_override=None,
 7086        proxy_cluster_id=None,
 7087        secret_store_id=None,
 7088        subdomain=None,
 7089        tags=None,
 7090        username=None,
 7091    ):
 7092        self.bind_interface = bind_interface if bind_interface is not None else ''
 7093        '''
 7094         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7095        '''
 7096        self.database = database if database is not None else ''
 7097        '''
 7098         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7099        '''
 7100        self.egress_filter = egress_filter if egress_filter is not None else ''
 7101        '''
 7102         A filter applied to the routing logic to pin datasource to nodes.
 7103        '''
 7104        self.healthy = healthy if healthy is not None else False
 7105        '''
 7106         True if the datasource is reachable and the credentials are valid.
 7107        '''
 7108        self.hostname = hostname if hostname is not None else ''
 7109        '''
 7110         The host to dial to initiate a connection from the egress node to this resource.
 7111        '''
 7112        self.id = id if id is not None else ''
 7113        '''
 7114         Unique identifier of the Resource.
 7115        '''
 7116        self.name = name if name is not None else ''
 7117        '''
 7118         Unique human-readable name of the Resource.
 7119        '''
 7120        self.override_database = override_database if override_database is not None else False
 7121        '''
 7122         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.
 7123        '''
 7124        self.password = password if password is not None else ''
 7125        '''
 7126         The password to authenticate with.
 7127        '''
 7128        self.port = port if port is not None else 0
 7129        '''
 7130         The port to dial to initiate a connection from the egress node to this resource.
 7131        '''
 7132        self.port_override = port_override if port_override is not None else 0
 7133        '''
 7134         The local port used by clients to connect to this resource.
 7135        '''
 7136        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7137        '''
 7138         ID of the proxy cluster for this resource, if any.
 7139        '''
 7140        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7141        '''
 7142         ID of the secret store containing credentials for this resource, if any.
 7143        '''
 7144        self.subdomain = subdomain if subdomain is not None else ''
 7145        '''
 7146         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7147        '''
 7148        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7149        '''
 7150         Tags is a map of key, value pairs.
 7151        '''
 7152        self.username = username if username is not None else ''
 7153        '''
 7154         The username to authenticate with.
 7155        '''
 7156
 7157    def __repr__(self):
 7158        return '<sdm.AuroraPostgres ' + \
 7159            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7160            'database: ' + repr(self.database) + ' ' +\
 7161            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7162            'healthy: ' + repr(self.healthy) + ' ' +\
 7163            'hostname: ' + repr(self.hostname) + ' ' +\
 7164            'id: ' + repr(self.id) + ' ' +\
 7165            'name: ' + repr(self.name) + ' ' +\
 7166            'override_database: ' + repr(self.override_database) + ' ' +\
 7167            'password: ' + repr(self.password) + ' ' +\
 7168            'port: ' + repr(self.port) + ' ' +\
 7169            'port_override: ' + repr(self.port_override) + ' ' +\
 7170            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7171            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7172            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7173            'tags: ' + repr(self.tags) + ' ' +\
 7174            'username: ' + repr(self.username) + ' ' +\
 7175            '>'
 7176
 7177    def to_dict(self):
 7178        return {
 7179            'bind_interface': self.bind_interface,
 7180            'database': self.database,
 7181            'egress_filter': self.egress_filter,
 7182            'healthy': self.healthy,
 7183            'hostname': self.hostname,
 7184            'id': self.id,
 7185            'name': self.name,
 7186            'override_database': self.override_database,
 7187            'password': self.password,
 7188            'port': self.port,
 7189            'port_override': self.port_override,
 7190            'proxy_cluster_id': self.proxy_cluster_id,
 7191            'secret_store_id': self.secret_store_id,
 7192            'subdomain': self.subdomain,
 7193            'tags': self.tags,
 7194            'username': self.username,
 7195        }
 7196
 7197    @classmethod
 7198    def from_dict(cls, d):
 7199        return cls(
 7200            bind_interface=d.get('bind_interface'),
 7201            database=d.get('database'),
 7202            egress_filter=d.get('egress_filter'),
 7203            healthy=d.get('healthy'),
 7204            hostname=d.get('hostname'),
 7205            id=d.get('id'),
 7206            name=d.get('name'),
 7207            override_database=d.get('override_database'),
 7208            password=d.get('password'),
 7209            port=d.get('port'),
 7210            port_override=d.get('port_override'),
 7211            proxy_cluster_id=d.get('proxy_cluster_id'),
 7212            secret_store_id=d.get('secret_store_id'),
 7213            subdomain=d.get('subdomain'),
 7214            tags=d.get('tags'),
 7215            username=d.get('username'),
 7216        )
 7217
 7218
 7219class AuroraPostgresIAM:
 7220    __slots__ = [
 7221        'bind_interface',
 7222        'database',
 7223        'egress_filter',
 7224        'healthy',
 7225        'hostname',
 7226        'id',
 7227        'name',
 7228        'override_database',
 7229        'port',
 7230        'port_override',
 7231        'proxy_cluster_id',
 7232        'region',
 7233        'role_assumption_arn',
 7234        'secret_store_id',
 7235        'subdomain',
 7236        'tags',
 7237        'username',
 7238    ]
 7239
 7240    def __init__(
 7241        self,
 7242        bind_interface=None,
 7243        database=None,
 7244        egress_filter=None,
 7245        healthy=None,
 7246        hostname=None,
 7247        id=None,
 7248        name=None,
 7249        override_database=None,
 7250        port=None,
 7251        port_override=None,
 7252        proxy_cluster_id=None,
 7253        region=None,
 7254        role_assumption_arn=None,
 7255        secret_store_id=None,
 7256        subdomain=None,
 7257        tags=None,
 7258        username=None,
 7259    ):
 7260        self.bind_interface = bind_interface if bind_interface is not None else ''
 7261        '''
 7262         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7263        '''
 7264        self.database = database if database is not None else ''
 7265        '''
 7266         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7267        '''
 7268        self.egress_filter = egress_filter if egress_filter is not None else ''
 7269        '''
 7270         A filter applied to the routing logic to pin datasource to nodes.
 7271        '''
 7272        self.healthy = healthy if healthy is not None else False
 7273        '''
 7274         True if the datasource is reachable and the credentials are valid.
 7275        '''
 7276        self.hostname = hostname if hostname is not None else ''
 7277        '''
 7278         The host to dial to initiate a connection from the egress node to this resource.
 7279        '''
 7280        self.id = id if id is not None else ''
 7281        '''
 7282         Unique identifier of the Resource.
 7283        '''
 7284        self.name = name if name is not None else ''
 7285        '''
 7286         Unique human-readable name of the Resource.
 7287        '''
 7288        self.override_database = override_database if override_database is not None else False
 7289        '''
 7290         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.
 7291        '''
 7292        self.port = port if port is not None else 0
 7293        '''
 7294         The port to dial to initiate a connection from the egress node to this resource.
 7295        '''
 7296        self.port_override = port_override if port_override is not None else 0
 7297        '''
 7298         The local port used by clients to connect to this resource.
 7299        '''
 7300        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7301        '''
 7302         ID of the proxy cluster for this resource, if any.
 7303        '''
 7304        self.region = region if region is not None else ''
 7305        '''
 7306         The AWS region to connect to.
 7307        '''
 7308        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 7309        '''
 7310         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 7311        '''
 7312        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7313        '''
 7314         ID of the secret store containing credentials for this resource, if any.
 7315        '''
 7316        self.subdomain = subdomain if subdomain is not None else ''
 7317        '''
 7318         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7319        '''
 7320        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7321        '''
 7322         Tags is a map of key, value pairs.
 7323        '''
 7324        self.username = username if username is not None else ''
 7325        '''
 7326         The username to authenticate with.
 7327        '''
 7328
 7329    def __repr__(self):
 7330        return '<sdm.AuroraPostgresIAM ' + \
 7331            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7332            'database: ' + repr(self.database) + ' ' +\
 7333            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7334            'healthy: ' + repr(self.healthy) + ' ' +\
 7335            'hostname: ' + repr(self.hostname) + ' ' +\
 7336            'id: ' + repr(self.id) + ' ' +\
 7337            'name: ' + repr(self.name) + ' ' +\
 7338            'override_database: ' + repr(self.override_database) + ' ' +\
 7339            'port: ' + repr(self.port) + ' ' +\
 7340            'port_override: ' + repr(self.port_override) + ' ' +\
 7341            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7342            'region: ' + repr(self.region) + ' ' +\
 7343            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7344            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7345            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7346            'tags: ' + repr(self.tags) + ' ' +\
 7347            'username: ' + repr(self.username) + ' ' +\
 7348            '>'
 7349
 7350    def to_dict(self):
 7351        return {
 7352            'bind_interface': self.bind_interface,
 7353            'database': self.database,
 7354            'egress_filter': self.egress_filter,
 7355            'healthy': self.healthy,
 7356            'hostname': self.hostname,
 7357            'id': self.id,
 7358            'name': self.name,
 7359            'override_database': self.override_database,
 7360            'port': self.port,
 7361            'port_override': self.port_override,
 7362            'proxy_cluster_id': self.proxy_cluster_id,
 7363            'region': self.region,
 7364            'role_assumption_arn': self.role_assumption_arn,
 7365            'secret_store_id': self.secret_store_id,
 7366            'subdomain': self.subdomain,
 7367            'tags': self.tags,
 7368            'username': self.username,
 7369        }
 7370
 7371    @classmethod
 7372    def from_dict(cls, d):
 7373        return cls(
 7374            bind_interface=d.get('bind_interface'),
 7375            database=d.get('database'),
 7376            egress_filter=d.get('egress_filter'),
 7377            healthy=d.get('healthy'),
 7378            hostname=d.get('hostname'),
 7379            id=d.get('id'),
 7380            name=d.get('name'),
 7381            override_database=d.get('override_database'),
 7382            port=d.get('port'),
 7383            port_override=d.get('port_override'),
 7384            proxy_cluster_id=d.get('proxy_cluster_id'),
 7385            region=d.get('region'),
 7386            role_assumption_arn=d.get('role_assumption_arn'),
 7387            secret_store_id=d.get('secret_store_id'),
 7388            subdomain=d.get('subdomain'),
 7389            tags=d.get('tags'),
 7390            username=d.get('username'),
 7391        )
 7392
 7393
 7394class Azure:
 7395    __slots__ = [
 7396        'app_id',
 7397        'bind_interface',
 7398        'egress_filter',
 7399        'healthy',
 7400        'id',
 7401        'name',
 7402        'password',
 7403        'port_override',
 7404        'proxy_cluster_id',
 7405        'secret_store_id',
 7406        'subdomain',
 7407        'tags',
 7408        'tenant_id',
 7409    ]
 7410
 7411    def __init__(
 7412        self,
 7413        app_id=None,
 7414        bind_interface=None,
 7415        egress_filter=None,
 7416        healthy=None,
 7417        id=None,
 7418        name=None,
 7419        password=None,
 7420        port_override=None,
 7421        proxy_cluster_id=None,
 7422        secret_store_id=None,
 7423        subdomain=None,
 7424        tags=None,
 7425        tenant_id=None,
 7426    ):
 7427        self.app_id = app_id if app_id is not None else ''
 7428        '''
 7429         The application ID to authenticate with.
 7430        '''
 7431        self.bind_interface = bind_interface if bind_interface is not None else ''
 7432        '''
 7433         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7434        '''
 7435        self.egress_filter = egress_filter if egress_filter is not None else ''
 7436        '''
 7437         A filter applied to the routing logic to pin datasource to nodes.
 7438        '''
 7439        self.healthy = healthy if healthy is not None else False
 7440        '''
 7441         True if the datasource is reachable and the credentials are valid.
 7442        '''
 7443        self.id = id if id is not None else ''
 7444        '''
 7445         Unique identifier of the Resource.
 7446        '''
 7447        self.name = name if name is not None else ''
 7448        '''
 7449         Unique human-readable name of the Resource.
 7450        '''
 7451        self.password = password if password is not None else ''
 7452        '''
 7453         The password to authenticate with.
 7454        '''
 7455        self.port_override = port_override if port_override is not None else 0
 7456        '''
 7457         The local port used by clients to connect to this resource.
 7458        '''
 7459        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7460        '''
 7461         ID of the proxy cluster for this resource, if any.
 7462        '''
 7463        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7464        '''
 7465         ID of the secret store containing credentials for this resource, if any.
 7466        '''
 7467        self.subdomain = subdomain if subdomain is not None else ''
 7468        '''
 7469         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7470        '''
 7471        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7472        '''
 7473         Tags is a map of key, value pairs.
 7474        '''
 7475        self.tenant_id = tenant_id if tenant_id is not None else ''
 7476        '''
 7477         The tenant ID to authenticate to.
 7478        '''
 7479
 7480    def __repr__(self):
 7481        return '<sdm.Azure ' + \
 7482            'app_id: ' + repr(self.app_id) + ' ' +\
 7483            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7484            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7485            'healthy: ' + repr(self.healthy) + ' ' +\
 7486            'id: ' + repr(self.id) + ' ' +\
 7487            'name: ' + repr(self.name) + ' ' +\
 7488            'password: ' + repr(self.password) + ' ' +\
 7489            'port_override: ' + repr(self.port_override) + ' ' +\
 7490            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7491            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7492            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7493            'tags: ' + repr(self.tags) + ' ' +\
 7494            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7495            '>'
 7496
 7497    def to_dict(self):
 7498        return {
 7499            'app_id': self.app_id,
 7500            'bind_interface': self.bind_interface,
 7501            'egress_filter': self.egress_filter,
 7502            'healthy': self.healthy,
 7503            'id': self.id,
 7504            'name': self.name,
 7505            'password': self.password,
 7506            'port_override': self.port_override,
 7507            'proxy_cluster_id': self.proxy_cluster_id,
 7508            'secret_store_id': self.secret_store_id,
 7509            'subdomain': self.subdomain,
 7510            'tags': self.tags,
 7511            'tenant_id': self.tenant_id,
 7512        }
 7513
 7514    @classmethod
 7515    def from_dict(cls, d):
 7516        return cls(
 7517            app_id=d.get('app_id'),
 7518            bind_interface=d.get('bind_interface'),
 7519            egress_filter=d.get('egress_filter'),
 7520            healthy=d.get('healthy'),
 7521            id=d.get('id'),
 7522            name=d.get('name'),
 7523            password=d.get('password'),
 7524            port_override=d.get('port_override'),
 7525            proxy_cluster_id=d.get('proxy_cluster_id'),
 7526            secret_store_id=d.get('secret_store_id'),
 7527            subdomain=d.get('subdomain'),
 7528            tags=d.get('tags'),
 7529            tenant_id=d.get('tenant_id'),
 7530        )
 7531
 7532
 7533class AzureCertificate:
 7534    __slots__ = [
 7535        'app_id',
 7536        'bind_interface',
 7537        'client_certificate',
 7538        'egress_filter',
 7539        'healthy',
 7540        'id',
 7541        'name',
 7542        'port_override',
 7543        'proxy_cluster_id',
 7544        'secret_store_id',
 7545        'subdomain',
 7546        'tags',
 7547        'tenant_id',
 7548    ]
 7549
 7550    def __init__(
 7551        self,
 7552        app_id=None,
 7553        bind_interface=None,
 7554        client_certificate=None,
 7555        egress_filter=None,
 7556        healthy=None,
 7557        id=None,
 7558        name=None,
 7559        port_override=None,
 7560        proxy_cluster_id=None,
 7561        secret_store_id=None,
 7562        subdomain=None,
 7563        tags=None,
 7564        tenant_id=None,
 7565    ):
 7566        self.app_id = app_id if app_id is not None else ''
 7567        '''
 7568         The application ID to authenticate with.
 7569        '''
 7570        self.bind_interface = bind_interface if bind_interface is not None else ''
 7571        '''
 7572         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7573        '''
 7574        self.client_certificate = client_certificate if client_certificate is not None else ''
 7575        '''
 7576         The service Principal certificate file, both private and public key included.
 7577        '''
 7578        self.egress_filter = egress_filter if egress_filter is not None else ''
 7579        '''
 7580         A filter applied to the routing logic to pin datasource to nodes.
 7581        '''
 7582        self.healthy = healthy if healthy is not None else False
 7583        '''
 7584         True if the datasource is reachable and the credentials are valid.
 7585        '''
 7586        self.id = id if id is not None else ''
 7587        '''
 7588         Unique identifier of the Resource.
 7589        '''
 7590        self.name = name if name is not None else ''
 7591        '''
 7592         Unique human-readable name of the Resource.
 7593        '''
 7594        self.port_override = port_override if port_override is not None else 0
 7595        '''
 7596         The local port used by clients to connect to this resource.
 7597        '''
 7598        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7599        '''
 7600         ID of the proxy cluster for this resource, if any.
 7601        '''
 7602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7603        '''
 7604         ID of the secret store containing credentials for this resource, if any.
 7605        '''
 7606        self.subdomain = subdomain if subdomain is not None else ''
 7607        '''
 7608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7609        '''
 7610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7611        '''
 7612         Tags is a map of key, value pairs.
 7613        '''
 7614        self.tenant_id = tenant_id if tenant_id is not None else ''
 7615        '''
 7616         The tenant ID to authenticate to.
 7617        '''
 7618
 7619    def __repr__(self):
 7620        return '<sdm.AzureCertificate ' + \
 7621            'app_id: ' + repr(self.app_id) + ' ' +\
 7622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7623            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 7624            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7625            'healthy: ' + repr(self.healthy) + ' ' +\
 7626            'id: ' + repr(self.id) + ' ' +\
 7627            'name: ' + repr(self.name) + ' ' +\
 7628            'port_override: ' + repr(self.port_override) + ' ' +\
 7629            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7630            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7631            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7632            'tags: ' + repr(self.tags) + ' ' +\
 7633            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7634            '>'
 7635
 7636    def to_dict(self):
 7637        return {
 7638            'app_id': self.app_id,
 7639            'bind_interface': self.bind_interface,
 7640            'client_certificate': self.client_certificate,
 7641            'egress_filter': self.egress_filter,
 7642            'healthy': self.healthy,
 7643            'id': self.id,
 7644            'name': self.name,
 7645            'port_override': self.port_override,
 7646            'proxy_cluster_id': self.proxy_cluster_id,
 7647            'secret_store_id': self.secret_store_id,
 7648            'subdomain': self.subdomain,
 7649            'tags': self.tags,
 7650            'tenant_id': self.tenant_id,
 7651        }
 7652
 7653    @classmethod
 7654    def from_dict(cls, d):
 7655        return cls(
 7656            app_id=d.get('app_id'),
 7657            bind_interface=d.get('bind_interface'),
 7658            client_certificate=d.get('client_certificate'),
 7659            egress_filter=d.get('egress_filter'),
 7660            healthy=d.get('healthy'),
 7661            id=d.get('id'),
 7662            name=d.get('name'),
 7663            port_override=d.get('port_override'),
 7664            proxy_cluster_id=d.get('proxy_cluster_id'),
 7665            secret_store_id=d.get('secret_store_id'),
 7666            subdomain=d.get('subdomain'),
 7667            tags=d.get('tags'),
 7668            tenant_id=d.get('tenant_id'),
 7669        )
 7670
 7671
 7672class AzureConsole:
 7673    '''
 7674    AzureConsole is currently unstable, and its API may change, or it may be removed,
 7675    without a major version bump.
 7676    '''
 7677    __slots__ = [
 7678        'bind_interface',
 7679        'connector_id',
 7680        'egress_filter',
 7681        'healthy',
 7682        'id',
 7683        'identity_set_id',
 7684        'management_group_id',
 7685        'name',
 7686        'privilege_levels',
 7687        'proxy_cluster_id',
 7688        'secret_store_id',
 7689        'subdomain',
 7690        'subscription_id',
 7691        'tags',
 7692    ]
 7693
 7694    def __init__(
 7695        self,
 7696        bind_interface=None,
 7697        connector_id=None,
 7698        egress_filter=None,
 7699        healthy=None,
 7700        id=None,
 7701        identity_set_id=None,
 7702        management_group_id=None,
 7703        name=None,
 7704        privilege_levels=None,
 7705        proxy_cluster_id=None,
 7706        secret_store_id=None,
 7707        subdomain=None,
 7708        subscription_id=None,
 7709        tags=None,
 7710    ):
 7711        self.bind_interface = bind_interface if bind_interface is not None else ''
 7712        '''
 7713         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7714        '''
 7715        self.connector_id = connector_id if connector_id is not None else ''
 7716        '''
 7717         The connector ID to authenticate through.
 7718        '''
 7719        self.egress_filter = egress_filter if egress_filter is not None else ''
 7720        '''
 7721         A filter applied to the routing logic to pin datasource to nodes.
 7722        '''
 7723        self.healthy = healthy if healthy is not None else False
 7724        '''
 7725         True if the datasource is reachable and the credentials are valid.
 7726        '''
 7727        self.id = id if id is not None else ''
 7728        '''
 7729         Unique identifier of the Resource.
 7730        '''
 7731        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 7732        '''
 7733         The ID of the identity set to use for identity connections.
 7734        '''
 7735        self.management_group_id = management_group_id if management_group_id is not None else ''
 7736        '''
 7737         The management group ID to authenticate scope Privileges to.
 7738        '''
 7739        self.name = name if name is not None else ''
 7740        '''
 7741         Unique human-readable name of the Resource.
 7742        '''
 7743        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
 7744        '''
 7745         The privilege levels specify which Groups are managed externally
 7746        '''
 7747        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7748        '''
 7749         ID of the proxy cluster for this resource, if any.
 7750        '''
 7751        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7752        '''
 7753         ID of the secret store containing credentials for this resource, if any.
 7754        '''
 7755        self.subdomain = subdomain if subdomain is not None else ''
 7756        '''
 7757         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7758        '''
 7759        self.subscription_id = subscription_id if subscription_id is not None else ''
 7760        '''
 7761         The subscription ID to authenticate scope Privileges to.
 7762        '''
 7763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7764        '''
 7765         Tags is a map of key, value pairs.
 7766        '''
 7767
 7768    def __repr__(self):
 7769        return '<sdm.AzureConsole ' + \
 7770            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7771            'connector_id: ' + repr(self.connector_id) + ' ' +\
 7772            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7773            'healthy: ' + repr(self.healthy) + ' ' +\
 7774            'id: ' + repr(self.id) + ' ' +\
 7775            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 7776            'management_group_id: ' + repr(self.management_group_id) + ' ' +\
 7777            'name: ' + repr(self.name) + ' ' +\
 7778            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
 7779            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7780            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7781            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7782            'subscription_id: ' + repr(self.subscription_id) + ' ' +\
 7783            'tags: ' + repr(self.tags) + ' ' +\
 7784            '>'
 7785
 7786    def to_dict(self):
 7787        return {
 7788            'bind_interface': self.bind_interface,
 7789            'connector_id': self.connector_id,
 7790            'egress_filter': self.egress_filter,
 7791            'healthy': self.healthy,
 7792            'id': self.id,
 7793            'identity_set_id': self.identity_set_id,
 7794            'management_group_id': self.management_group_id,
 7795            'name': self.name,
 7796            'privilege_levels': self.privilege_levels,
 7797            'proxy_cluster_id': self.proxy_cluster_id,
 7798            'secret_store_id': self.secret_store_id,
 7799            'subdomain': self.subdomain,
 7800            'subscription_id': self.subscription_id,
 7801            'tags': self.tags,
 7802        }
 7803
 7804    @classmethod
 7805    def from_dict(cls, d):
 7806        return cls(
 7807            bind_interface=d.get('bind_interface'),
 7808            connector_id=d.get('connector_id'),
 7809            egress_filter=d.get('egress_filter'),
 7810            healthy=d.get('healthy'),
 7811            id=d.get('id'),
 7812            identity_set_id=d.get('identity_set_id'),
 7813            management_group_id=d.get('management_group_id'),
 7814            name=d.get('name'),
 7815            privilege_levels=d.get('privilege_levels'),
 7816            proxy_cluster_id=d.get('proxy_cluster_id'),
 7817            secret_store_id=d.get('secret_store_id'),
 7818            subdomain=d.get('subdomain'),
 7819            subscription_id=d.get('subscription_id'),
 7820            tags=d.get('tags'),
 7821        )
 7822
 7823
 7824class AzureMysql:
 7825    __slots__ = [
 7826        'bind_interface',
 7827        'database',
 7828        'egress_filter',
 7829        'healthy',
 7830        'hostname',
 7831        'id',
 7832        'name',
 7833        'password',
 7834        'port',
 7835        'port_override',
 7836        'proxy_cluster_id',
 7837        'require_native_auth',
 7838        'secret_store_id',
 7839        'subdomain',
 7840        'tags',
 7841        'use_azure_single_server_usernames',
 7842        'username',
 7843    ]
 7844
 7845    def __init__(
 7846        self,
 7847        bind_interface=None,
 7848        database=None,
 7849        egress_filter=None,
 7850        healthy=None,
 7851        hostname=None,
 7852        id=None,
 7853        name=None,
 7854        password=None,
 7855        port=None,
 7856        port_override=None,
 7857        proxy_cluster_id=None,
 7858        require_native_auth=None,
 7859        secret_store_id=None,
 7860        subdomain=None,
 7861        tags=None,
 7862        use_azure_single_server_usernames=None,
 7863        username=None,
 7864    ):
 7865        self.bind_interface = bind_interface if bind_interface is not None else ''
 7866        '''
 7867         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7868        '''
 7869        self.database = database if database is not None else ''
 7870        '''
 7871         The database for healthchecks. Does not affect client requests.
 7872        '''
 7873        self.egress_filter = egress_filter if egress_filter is not None else ''
 7874        '''
 7875         A filter applied to the routing logic to pin datasource to nodes.
 7876        '''
 7877        self.healthy = healthy if healthy is not None else False
 7878        '''
 7879         True if the datasource is reachable and the credentials are valid.
 7880        '''
 7881        self.hostname = hostname if hostname is not None else ''
 7882        '''
 7883         The host to dial to initiate a connection from the egress node to this resource.
 7884        '''
 7885        self.id = id if id is not None else ''
 7886        '''
 7887         Unique identifier of the Resource.
 7888        '''
 7889        self.name = name if name is not None else ''
 7890        '''
 7891         Unique human-readable name of the Resource.
 7892        '''
 7893        self.password = password if password is not None else ''
 7894        '''
 7895         The password to authenticate with.
 7896        '''
 7897        self.port = port if port is not None else 0
 7898        '''
 7899         The port to dial to initiate a connection from the egress node to this resource.
 7900        '''
 7901        self.port_override = port_override if port_override is not None else 0
 7902        '''
 7903         The local port used by clients to connect to this resource.
 7904        '''
 7905        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7906        '''
 7907         ID of the proxy cluster for this resource, if any.
 7908        '''
 7909        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 7910        '''
 7911         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 7912        '''
 7913        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7914        '''
 7915         ID of the secret store containing credentials for this resource, if any.
 7916        '''
 7917        self.subdomain = subdomain if subdomain is not None else ''
 7918        '''
 7919         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7920        '''
 7921        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7922        '''
 7923         Tags is a map of key, value pairs.
 7924        '''
 7925        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7926        '''
 7927         If true, appends the hostname to the username when hitting a database.azure.com address
 7928        '''
 7929        self.username = username if username is not None else ''
 7930        '''
 7931         The username to authenticate with.
 7932        '''
 7933
 7934    def __repr__(self):
 7935        return '<sdm.AzureMysql ' + \
 7936            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7937            'database: ' + repr(self.database) + ' ' +\
 7938            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7939            'healthy: ' + repr(self.healthy) + ' ' +\
 7940            'hostname: ' + repr(self.hostname) + ' ' +\
 7941            'id: ' + repr(self.id) + ' ' +\
 7942            'name: ' + repr(self.name) + ' ' +\
 7943            'password: ' + repr(self.password) + ' ' +\
 7944            'port: ' + repr(self.port) + ' ' +\
 7945            'port_override: ' + repr(self.port_override) + ' ' +\
 7946            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7947            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7948            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7949            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7950            'tags: ' + repr(self.tags) + ' ' +\
 7951            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7952            'username: ' + repr(self.username) + ' ' +\
 7953            '>'
 7954
 7955    def to_dict(self):
 7956        return {
 7957            'bind_interface': self.bind_interface,
 7958            'database': self.database,
 7959            'egress_filter': self.egress_filter,
 7960            'healthy': self.healthy,
 7961            'hostname': self.hostname,
 7962            'id': self.id,
 7963            'name': self.name,
 7964            'password': self.password,
 7965            'port': self.port,
 7966            'port_override': self.port_override,
 7967            'proxy_cluster_id': self.proxy_cluster_id,
 7968            'require_native_auth': self.require_native_auth,
 7969            'secret_store_id': self.secret_store_id,
 7970            'subdomain': self.subdomain,
 7971            'tags': self.tags,
 7972            'use_azure_single_server_usernames':
 7973            self.use_azure_single_server_usernames,
 7974            'username': self.username,
 7975        }
 7976
 7977    @classmethod
 7978    def from_dict(cls, d):
 7979        return cls(
 7980            bind_interface=d.get('bind_interface'),
 7981            database=d.get('database'),
 7982            egress_filter=d.get('egress_filter'),
 7983            healthy=d.get('healthy'),
 7984            hostname=d.get('hostname'),
 7985            id=d.get('id'),
 7986            name=d.get('name'),
 7987            password=d.get('password'),
 7988            port=d.get('port'),
 7989            port_override=d.get('port_override'),
 7990            proxy_cluster_id=d.get('proxy_cluster_id'),
 7991            require_native_auth=d.get('require_native_auth'),
 7992            secret_store_id=d.get('secret_store_id'),
 7993            subdomain=d.get('subdomain'),
 7994            tags=d.get('tags'),
 7995            use_azure_single_server_usernames=d.get(
 7996                'use_azure_single_server_usernames'),
 7997            username=d.get('username'),
 7998        )
 7999
 8000
 8001class AzurePostgres:
 8002    __slots__ = [
 8003        'bind_interface',
 8004        'database',
 8005        'egress_filter',
 8006        'healthy',
 8007        'hostname',
 8008        'id',
 8009        'name',
 8010        'override_database',
 8011        'password',
 8012        'port',
 8013        'port_override',
 8014        'proxy_cluster_id',
 8015        'secret_store_id',
 8016        'subdomain',
 8017        'tags',
 8018        'username',
 8019    ]
 8020
 8021    def __init__(
 8022        self,
 8023        bind_interface=None,
 8024        database=None,
 8025        egress_filter=None,
 8026        healthy=None,
 8027        hostname=None,
 8028        id=None,
 8029        name=None,
 8030        override_database=None,
 8031        password=None,
 8032        port=None,
 8033        port_override=None,
 8034        proxy_cluster_id=None,
 8035        secret_store_id=None,
 8036        subdomain=None,
 8037        tags=None,
 8038        username=None,
 8039    ):
 8040        self.bind_interface = bind_interface if bind_interface is not None else ''
 8041        '''
 8042         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8043        '''
 8044        self.database = database if database is not None else ''
 8045        '''
 8046         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8047        '''
 8048        self.egress_filter = egress_filter if egress_filter is not None else ''
 8049        '''
 8050         A filter applied to the routing logic to pin datasource to nodes.
 8051        '''
 8052        self.healthy = healthy if healthy is not None else False
 8053        '''
 8054         True if the datasource is reachable and the credentials are valid.
 8055        '''
 8056        self.hostname = hostname if hostname is not None else ''
 8057        '''
 8058         The host to dial to initiate a connection from the egress node to this resource.
 8059        '''
 8060        self.id = id if id is not None else ''
 8061        '''
 8062         Unique identifier of the Resource.
 8063        '''
 8064        self.name = name if name is not None else ''
 8065        '''
 8066         Unique human-readable name of the Resource.
 8067        '''
 8068        self.override_database = override_database if override_database is not None else False
 8069        '''
 8070         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.
 8071        '''
 8072        self.password = password if password is not None else ''
 8073        '''
 8074         The password to authenticate with.
 8075        '''
 8076        self.port = port if port is not None else 0
 8077        '''
 8078         The port to dial to initiate a connection from the egress node to this resource.
 8079        '''
 8080        self.port_override = port_override if port_override is not None else 0
 8081        '''
 8082         The local port used by clients to connect to this resource.
 8083        '''
 8084        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8085        '''
 8086         ID of the proxy cluster for this resource, if any.
 8087        '''
 8088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8089        '''
 8090         ID of the secret store containing credentials for this resource, if any.
 8091        '''
 8092        self.subdomain = subdomain if subdomain is not None else ''
 8093        '''
 8094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8095        '''
 8096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8097        '''
 8098         Tags is a map of key, value pairs.
 8099        '''
 8100        self.username = username if username is not None else ''
 8101        '''
 8102         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.
 8103        '''
 8104
 8105    def __repr__(self):
 8106        return '<sdm.AzurePostgres ' + \
 8107            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8108            'database: ' + repr(self.database) + ' ' +\
 8109            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8110            'healthy: ' + repr(self.healthy) + ' ' +\
 8111            'hostname: ' + repr(self.hostname) + ' ' +\
 8112            'id: ' + repr(self.id) + ' ' +\
 8113            'name: ' + repr(self.name) + ' ' +\
 8114            'override_database: ' + repr(self.override_database) + ' ' +\
 8115            'password: ' + repr(self.password) + ' ' +\
 8116            'port: ' + repr(self.port) + ' ' +\
 8117            'port_override: ' + repr(self.port_override) + ' ' +\
 8118            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8119            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8120            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8121            'tags: ' + repr(self.tags) + ' ' +\
 8122            'username: ' + repr(self.username) + ' ' +\
 8123            '>'
 8124
 8125    def to_dict(self):
 8126        return {
 8127            'bind_interface': self.bind_interface,
 8128            'database': self.database,
 8129            'egress_filter': self.egress_filter,
 8130            'healthy': self.healthy,
 8131            'hostname': self.hostname,
 8132            'id': self.id,
 8133            'name': self.name,
 8134            'override_database': self.override_database,
 8135            'password': self.password,
 8136            'port': self.port,
 8137            'port_override': self.port_override,
 8138            'proxy_cluster_id': self.proxy_cluster_id,
 8139            'secret_store_id': self.secret_store_id,
 8140            'subdomain': self.subdomain,
 8141            'tags': self.tags,
 8142            'username': self.username,
 8143        }
 8144
 8145    @classmethod
 8146    def from_dict(cls, d):
 8147        return cls(
 8148            bind_interface=d.get('bind_interface'),
 8149            database=d.get('database'),
 8150            egress_filter=d.get('egress_filter'),
 8151            healthy=d.get('healthy'),
 8152            hostname=d.get('hostname'),
 8153            id=d.get('id'),
 8154            name=d.get('name'),
 8155            override_database=d.get('override_database'),
 8156            password=d.get('password'),
 8157            port=d.get('port'),
 8158            port_override=d.get('port_override'),
 8159            proxy_cluster_id=d.get('proxy_cluster_id'),
 8160            secret_store_id=d.get('secret_store_id'),
 8161            subdomain=d.get('subdomain'),
 8162            tags=d.get('tags'),
 8163            username=d.get('username'),
 8164        )
 8165
 8166
 8167class AzurePostgresManagedIdentity:
 8168    __slots__ = [
 8169        'bind_interface',
 8170        'database',
 8171        'egress_filter',
 8172        'healthy',
 8173        'hostname',
 8174        'id',
 8175        'name',
 8176        'override_database',
 8177        'password',
 8178        'port',
 8179        'port_override',
 8180        'proxy_cluster_id',
 8181        'secret_store_id',
 8182        'subdomain',
 8183        'tags',
 8184        'use_azure_single_server_usernames',
 8185        'username',
 8186    ]
 8187
 8188    def __init__(
 8189        self,
 8190        bind_interface=None,
 8191        database=None,
 8192        egress_filter=None,
 8193        healthy=None,
 8194        hostname=None,
 8195        id=None,
 8196        name=None,
 8197        override_database=None,
 8198        password=None,
 8199        port=None,
 8200        port_override=None,
 8201        proxy_cluster_id=None,
 8202        secret_store_id=None,
 8203        subdomain=None,
 8204        tags=None,
 8205        use_azure_single_server_usernames=None,
 8206        username=None,
 8207    ):
 8208        self.bind_interface = bind_interface if bind_interface is not None else ''
 8209        '''
 8210         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8211        '''
 8212        self.database = database if database is not None else ''
 8213        '''
 8214         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8215        '''
 8216        self.egress_filter = egress_filter if egress_filter is not None else ''
 8217        '''
 8218         A filter applied to the routing logic to pin datasource to nodes.
 8219        '''
 8220        self.healthy = healthy if healthy is not None else False
 8221        '''
 8222         True if the datasource is reachable and the credentials are valid.
 8223        '''
 8224        self.hostname = hostname if hostname is not None else ''
 8225        '''
 8226         The host to dial to initiate a connection from the egress node to this resource.
 8227        '''
 8228        self.id = id if id is not None else ''
 8229        '''
 8230         Unique identifier of the Resource.
 8231        '''
 8232        self.name = name if name is not None else ''
 8233        '''
 8234         Unique human-readable name of the Resource.
 8235        '''
 8236        self.override_database = override_database if override_database is not None else False
 8237        '''
 8238         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.
 8239        '''
 8240        self.password = password if password is not None else ''
 8241        '''
 8242         The password to authenticate with.
 8243        '''
 8244        self.port = port if port is not None else 0
 8245        '''
 8246         The port to dial to initiate a connection from the egress node to this resource.
 8247        '''
 8248        self.port_override = port_override if port_override is not None else 0
 8249        '''
 8250         The local port used by clients to connect to this resource.
 8251        '''
 8252        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8253        '''
 8254         ID of the proxy cluster for this resource, if any.
 8255        '''
 8256        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8257        '''
 8258         ID of the secret store containing credentials for this resource, if any.
 8259        '''
 8260        self.subdomain = subdomain if subdomain is not None else ''
 8261        '''
 8262         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8263        '''
 8264        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8265        '''
 8266         Tags is a map of key, value pairs.
 8267        '''
 8268        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8269        '''
 8270         If true, appends the hostname to the username when hitting a database.azure.com address
 8271        '''
 8272        self.username = username if username is not None else ''
 8273        '''
 8274         The username to authenticate with.
 8275        '''
 8276
 8277    def __repr__(self):
 8278        return '<sdm.AzurePostgresManagedIdentity ' + \
 8279            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8280            'database: ' + repr(self.database) + ' ' +\
 8281            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8282            'healthy: ' + repr(self.healthy) + ' ' +\
 8283            'hostname: ' + repr(self.hostname) + ' ' +\
 8284            'id: ' + repr(self.id) + ' ' +\
 8285            'name: ' + repr(self.name) + ' ' +\
 8286            'override_database: ' + repr(self.override_database) + ' ' +\
 8287            'password: ' + repr(self.password) + ' ' +\
 8288            'port: ' + repr(self.port) + ' ' +\
 8289            'port_override: ' + repr(self.port_override) + ' ' +\
 8290            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8291            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8292            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8293            'tags: ' + repr(self.tags) + ' ' +\
 8294            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8295            'username: ' + repr(self.username) + ' ' +\
 8296            '>'
 8297
 8298    def to_dict(self):
 8299        return {
 8300            'bind_interface': self.bind_interface,
 8301            'database': self.database,
 8302            'egress_filter': self.egress_filter,
 8303            'healthy': self.healthy,
 8304            'hostname': self.hostname,
 8305            'id': self.id,
 8306            'name': self.name,
 8307            'override_database': self.override_database,
 8308            'password': self.password,
 8309            'port': self.port,
 8310            'port_override': self.port_override,
 8311            'proxy_cluster_id': self.proxy_cluster_id,
 8312            'secret_store_id': self.secret_store_id,
 8313            'subdomain': self.subdomain,
 8314            'tags': self.tags,
 8315            'use_azure_single_server_usernames':
 8316            self.use_azure_single_server_usernames,
 8317            'username': self.username,
 8318        }
 8319
 8320    @classmethod
 8321    def from_dict(cls, d):
 8322        return cls(
 8323            bind_interface=d.get('bind_interface'),
 8324            database=d.get('database'),
 8325            egress_filter=d.get('egress_filter'),
 8326            healthy=d.get('healthy'),
 8327            hostname=d.get('hostname'),
 8328            id=d.get('id'),
 8329            name=d.get('name'),
 8330            override_database=d.get('override_database'),
 8331            password=d.get('password'),
 8332            port=d.get('port'),
 8333            port_override=d.get('port_override'),
 8334            proxy_cluster_id=d.get('proxy_cluster_id'),
 8335            secret_store_id=d.get('secret_store_id'),
 8336            subdomain=d.get('subdomain'),
 8337            tags=d.get('tags'),
 8338            use_azure_single_server_usernames=d.get(
 8339                'use_azure_single_server_usernames'),
 8340            username=d.get('username'),
 8341        )
 8342
 8343
 8344class AzureStore:
 8345    __slots__ = [
 8346        'id',
 8347        'name',
 8348        'tags',
 8349        'vault_uri',
 8350    ]
 8351
 8352    def __init__(
 8353        self,
 8354        id=None,
 8355        name=None,
 8356        tags=None,
 8357        vault_uri=None,
 8358    ):
 8359        self.id = id if id is not None else ''
 8360        '''
 8361         Unique identifier of the SecretStore.
 8362        '''
 8363        self.name = name if name is not None else ''
 8364        '''
 8365         Unique human-readable name of the SecretStore.
 8366        '''
 8367        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8368        '''
 8369         Tags is a map of key, value pairs.
 8370        '''
 8371        self.vault_uri = vault_uri if vault_uri is not None else ''
 8372        '''
 8373         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 8374        '''
 8375
 8376    def __repr__(self):
 8377        return '<sdm.AzureStore ' + \
 8378            'id: ' + repr(self.id) + ' ' +\
 8379            'name: ' + repr(self.name) + ' ' +\
 8380            'tags: ' + repr(self.tags) + ' ' +\
 8381            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 8382            '>'
 8383
 8384    def to_dict(self):
 8385        return {
 8386            'id': self.id,
 8387            'name': self.name,
 8388            'tags': self.tags,
 8389            'vault_uri': self.vault_uri,
 8390        }
 8391
 8392    @classmethod
 8393    def from_dict(cls, d):
 8394        return cls(
 8395            id=d.get('id'),
 8396            name=d.get('name'),
 8397            tags=d.get('tags'),
 8398            vault_uri=d.get('vault_uri'),
 8399        )
 8400
 8401
 8402class BigQuery:
 8403    __slots__ = [
 8404        'bind_interface',
 8405        'egress_filter',
 8406        'endpoint',
 8407        'healthy',
 8408        'id',
 8409        'name',
 8410        'port_override',
 8411        'private_key',
 8412        'project',
 8413        'proxy_cluster_id',
 8414        'secret_store_id',
 8415        'subdomain',
 8416        'tags',
 8417        'username',
 8418    ]
 8419
 8420    def __init__(
 8421        self,
 8422        bind_interface=None,
 8423        egress_filter=None,
 8424        endpoint=None,
 8425        healthy=None,
 8426        id=None,
 8427        name=None,
 8428        port_override=None,
 8429        private_key=None,
 8430        project=None,
 8431        proxy_cluster_id=None,
 8432        secret_store_id=None,
 8433        subdomain=None,
 8434        tags=None,
 8435        username=None,
 8436    ):
 8437        self.bind_interface = bind_interface if bind_interface is not None else ''
 8438        '''
 8439         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8440        '''
 8441        self.egress_filter = egress_filter if egress_filter is not None else ''
 8442        '''
 8443         A filter applied to the routing logic to pin datasource to nodes.
 8444        '''
 8445        self.endpoint = endpoint if endpoint is not None else ''
 8446        '''
 8447         The endpoint to dial.
 8448        '''
 8449        self.healthy = healthy if healthy is not None else False
 8450        '''
 8451         True if the datasource is reachable and the credentials are valid.
 8452        '''
 8453        self.id = id if id is not None else ''
 8454        '''
 8455         Unique identifier of the Resource.
 8456        '''
 8457        self.name = name if name is not None else ''
 8458        '''
 8459         Unique human-readable name of the Resource.
 8460        '''
 8461        self.port_override = port_override if port_override is not None else 0
 8462        '''
 8463         The local port used by clients to connect to this resource.
 8464        '''
 8465        self.private_key = private_key if private_key is not None else ''
 8466        '''
 8467         The JSON Private key to authenticate with.
 8468        '''
 8469        self.project = project if project is not None else ''
 8470        '''
 8471         The project to connect to.
 8472        '''
 8473        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8474        '''
 8475         ID of the proxy cluster for this resource, if any.
 8476        '''
 8477        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8478        '''
 8479         ID of the secret store containing credentials for this resource, if any.
 8480        '''
 8481        self.subdomain = subdomain if subdomain is not None else ''
 8482        '''
 8483         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8484        '''
 8485        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8486        '''
 8487         Tags is a map of key, value pairs.
 8488        '''
 8489        self.username = username if username is not None else ''
 8490        '''
 8491         The username to authenticate with.
 8492        '''
 8493
 8494    def __repr__(self):
 8495        return '<sdm.BigQuery ' + \
 8496            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8497            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8498            'endpoint: ' + repr(self.endpoint) + ' ' +\
 8499            'healthy: ' + repr(self.healthy) + ' ' +\
 8500            'id: ' + repr(self.id) + ' ' +\
 8501            'name: ' + repr(self.name) + ' ' +\
 8502            'port_override: ' + repr(self.port_override) + ' ' +\
 8503            'private_key: ' + repr(self.private_key) + ' ' +\
 8504            'project: ' + repr(self.project) + ' ' +\
 8505            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8506            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8507            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8508            'tags: ' + repr(self.tags) + ' ' +\
 8509            'username: ' + repr(self.username) + ' ' +\
 8510            '>'
 8511
 8512    def to_dict(self):
 8513        return {
 8514            'bind_interface': self.bind_interface,
 8515            'egress_filter': self.egress_filter,
 8516            'endpoint': self.endpoint,
 8517            'healthy': self.healthy,
 8518            'id': self.id,
 8519            'name': self.name,
 8520            'port_override': self.port_override,
 8521            'private_key': self.private_key,
 8522            'project': self.project,
 8523            'proxy_cluster_id': self.proxy_cluster_id,
 8524            'secret_store_id': self.secret_store_id,
 8525            'subdomain': self.subdomain,
 8526            'tags': self.tags,
 8527            'username': self.username,
 8528        }
 8529
 8530    @classmethod
 8531    def from_dict(cls, d):
 8532        return cls(
 8533            bind_interface=d.get('bind_interface'),
 8534            egress_filter=d.get('egress_filter'),
 8535            endpoint=d.get('endpoint'),
 8536            healthy=d.get('healthy'),
 8537            id=d.get('id'),
 8538            name=d.get('name'),
 8539            port_override=d.get('port_override'),
 8540            private_key=d.get('private_key'),
 8541            project=d.get('project'),
 8542            proxy_cluster_id=d.get('proxy_cluster_id'),
 8543            secret_store_id=d.get('secret_store_id'),
 8544            subdomain=d.get('subdomain'),
 8545            tags=d.get('tags'),
 8546            username=d.get('username'),
 8547        )
 8548
 8549
 8550class Cassandra:
 8551    __slots__ = [
 8552        'bind_interface',
 8553        'egress_filter',
 8554        'healthy',
 8555        'hostname',
 8556        'id',
 8557        'name',
 8558        'password',
 8559        'port',
 8560        'port_override',
 8561        'proxy_cluster_id',
 8562        'secret_store_id',
 8563        'subdomain',
 8564        'tags',
 8565        'tls_required',
 8566        'username',
 8567    ]
 8568
 8569    def __init__(
 8570        self,
 8571        bind_interface=None,
 8572        egress_filter=None,
 8573        healthy=None,
 8574        hostname=None,
 8575        id=None,
 8576        name=None,
 8577        password=None,
 8578        port=None,
 8579        port_override=None,
 8580        proxy_cluster_id=None,
 8581        secret_store_id=None,
 8582        subdomain=None,
 8583        tags=None,
 8584        tls_required=None,
 8585        username=None,
 8586    ):
 8587        self.bind_interface = bind_interface if bind_interface is not None else ''
 8588        '''
 8589         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8590        '''
 8591        self.egress_filter = egress_filter if egress_filter is not None else ''
 8592        '''
 8593         A filter applied to the routing logic to pin datasource to nodes.
 8594        '''
 8595        self.healthy = healthy if healthy is not None else False
 8596        '''
 8597         True if the datasource is reachable and the credentials are valid.
 8598        '''
 8599        self.hostname = hostname if hostname is not None else ''
 8600        '''
 8601         The host to dial to initiate a connection from the egress node to this resource.
 8602        '''
 8603        self.id = id if id is not None else ''
 8604        '''
 8605         Unique identifier of the Resource.
 8606        '''
 8607        self.name = name if name is not None else ''
 8608        '''
 8609         Unique human-readable name of the Resource.
 8610        '''
 8611        self.password = password if password is not None else ''
 8612        '''
 8613         The password to authenticate with.
 8614        '''
 8615        self.port = port if port is not None else 0
 8616        '''
 8617         The port to dial to initiate a connection from the egress node to this resource.
 8618        '''
 8619        self.port_override = port_override if port_override is not None else 0
 8620        '''
 8621         The local port used by clients to connect to this resource.
 8622        '''
 8623        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8624        '''
 8625         ID of the proxy cluster for this resource, if any.
 8626        '''
 8627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8628        '''
 8629         ID of the secret store containing credentials for this resource, if any.
 8630        '''
 8631        self.subdomain = subdomain if subdomain is not None else ''
 8632        '''
 8633         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8634        '''
 8635        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8636        '''
 8637         Tags is a map of key, value pairs.
 8638        '''
 8639        self.tls_required = tls_required if tls_required is not None else False
 8640        '''
 8641         If set, TLS must be used to connect to this resource.
 8642        '''
 8643        self.username = username if username is not None else ''
 8644        '''
 8645         The username to authenticate with.
 8646        '''
 8647
 8648    def __repr__(self):
 8649        return '<sdm.Cassandra ' + \
 8650            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8651            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8652            'healthy: ' + repr(self.healthy) + ' ' +\
 8653            'hostname: ' + repr(self.hostname) + ' ' +\
 8654            'id: ' + repr(self.id) + ' ' +\
 8655            'name: ' + repr(self.name) + ' ' +\
 8656            'password: ' + repr(self.password) + ' ' +\
 8657            'port: ' + repr(self.port) + ' ' +\
 8658            'port_override: ' + repr(self.port_override) + ' ' +\
 8659            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8660            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8661            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8662            'tags: ' + repr(self.tags) + ' ' +\
 8663            'tls_required: ' + repr(self.tls_required) + ' ' +\
 8664            'username: ' + repr(self.username) + ' ' +\
 8665            '>'
 8666
 8667    def to_dict(self):
 8668        return {
 8669            'bind_interface': self.bind_interface,
 8670            'egress_filter': self.egress_filter,
 8671            'healthy': self.healthy,
 8672            'hostname': self.hostname,
 8673            'id': self.id,
 8674            'name': self.name,
 8675            'password': self.password,
 8676            'port': self.port,
 8677            'port_override': self.port_override,
 8678            'proxy_cluster_id': self.proxy_cluster_id,
 8679            'secret_store_id': self.secret_store_id,
 8680            'subdomain': self.subdomain,
 8681            'tags': self.tags,
 8682            'tls_required': self.tls_required,
 8683            'username': self.username,
 8684        }
 8685
 8686    @classmethod
 8687    def from_dict(cls, d):
 8688        return cls(
 8689            bind_interface=d.get('bind_interface'),
 8690            egress_filter=d.get('egress_filter'),
 8691            healthy=d.get('healthy'),
 8692            hostname=d.get('hostname'),
 8693            id=d.get('id'),
 8694            name=d.get('name'),
 8695            password=d.get('password'),
 8696            port=d.get('port'),
 8697            port_override=d.get('port_override'),
 8698            proxy_cluster_id=d.get('proxy_cluster_id'),
 8699            secret_store_id=d.get('secret_store_id'),
 8700            subdomain=d.get('subdomain'),
 8701            tags=d.get('tags'),
 8702            tls_required=d.get('tls_required'),
 8703            username=d.get('username'),
 8704        )
 8705
 8706
 8707class Citus:
 8708    __slots__ = [
 8709        'bind_interface',
 8710        'database',
 8711        'egress_filter',
 8712        'healthy',
 8713        'hostname',
 8714        'id',
 8715        'name',
 8716        'override_database',
 8717        'password',
 8718        'port',
 8719        'port_override',
 8720        'proxy_cluster_id',
 8721        'secret_store_id',
 8722        'subdomain',
 8723        'tags',
 8724        'username',
 8725    ]
 8726
 8727    def __init__(
 8728        self,
 8729        bind_interface=None,
 8730        database=None,
 8731        egress_filter=None,
 8732        healthy=None,
 8733        hostname=None,
 8734        id=None,
 8735        name=None,
 8736        override_database=None,
 8737        password=None,
 8738        port=None,
 8739        port_override=None,
 8740        proxy_cluster_id=None,
 8741        secret_store_id=None,
 8742        subdomain=None,
 8743        tags=None,
 8744        username=None,
 8745    ):
 8746        self.bind_interface = bind_interface if bind_interface is not None else ''
 8747        '''
 8748         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8749        '''
 8750        self.database = database if database is not None else ''
 8751        '''
 8752         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8753        '''
 8754        self.egress_filter = egress_filter if egress_filter is not None else ''
 8755        '''
 8756         A filter applied to the routing logic to pin datasource to nodes.
 8757        '''
 8758        self.healthy = healthy if healthy is not None else False
 8759        '''
 8760         True if the datasource is reachable and the credentials are valid.
 8761        '''
 8762        self.hostname = hostname if hostname is not None else ''
 8763        '''
 8764         The host to dial to initiate a connection from the egress node to this resource.
 8765        '''
 8766        self.id = id if id is not None else ''
 8767        '''
 8768         Unique identifier of the Resource.
 8769        '''
 8770        self.name = name if name is not None else ''
 8771        '''
 8772         Unique human-readable name of the Resource.
 8773        '''
 8774        self.override_database = override_database if override_database is not None else False
 8775        '''
 8776         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.
 8777        '''
 8778        self.password = password if password is not None else ''
 8779        '''
 8780         The password to authenticate with.
 8781        '''
 8782        self.port = port if port is not None else 0
 8783        '''
 8784         The port to dial to initiate a connection from the egress node to this resource.
 8785        '''
 8786        self.port_override = port_override if port_override is not None else 0
 8787        '''
 8788         The local port used by clients to connect to this resource.
 8789        '''
 8790        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8791        '''
 8792         ID of the proxy cluster for this resource, if any.
 8793        '''
 8794        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8795        '''
 8796         ID of the secret store containing credentials for this resource, if any.
 8797        '''
 8798        self.subdomain = subdomain if subdomain is not None else ''
 8799        '''
 8800         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8801        '''
 8802        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8803        '''
 8804         Tags is a map of key, value pairs.
 8805        '''
 8806        self.username = username if username is not None else ''
 8807        '''
 8808         The username to authenticate with.
 8809        '''
 8810
 8811    def __repr__(self):
 8812        return '<sdm.Citus ' + \
 8813            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8814            'database: ' + repr(self.database) + ' ' +\
 8815            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8816            'healthy: ' + repr(self.healthy) + ' ' +\
 8817            'hostname: ' + repr(self.hostname) + ' ' +\
 8818            'id: ' + repr(self.id) + ' ' +\
 8819            'name: ' + repr(self.name) + ' ' +\
 8820            'override_database: ' + repr(self.override_database) + ' ' +\
 8821            'password: ' + repr(self.password) + ' ' +\
 8822            'port: ' + repr(self.port) + ' ' +\
 8823            'port_override: ' + repr(self.port_override) + ' ' +\
 8824            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8825            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8826            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8827            'tags: ' + repr(self.tags) + ' ' +\
 8828            'username: ' + repr(self.username) + ' ' +\
 8829            '>'
 8830
 8831    def to_dict(self):
 8832        return {
 8833            'bind_interface': self.bind_interface,
 8834            'database': self.database,
 8835            'egress_filter': self.egress_filter,
 8836            'healthy': self.healthy,
 8837            'hostname': self.hostname,
 8838            'id': self.id,
 8839            'name': self.name,
 8840            'override_database': self.override_database,
 8841            'password': self.password,
 8842            'port': self.port,
 8843            'port_override': self.port_override,
 8844            'proxy_cluster_id': self.proxy_cluster_id,
 8845            'secret_store_id': self.secret_store_id,
 8846            'subdomain': self.subdomain,
 8847            'tags': self.tags,
 8848            'username': self.username,
 8849        }
 8850
 8851    @classmethod
 8852    def from_dict(cls, d):
 8853        return cls(
 8854            bind_interface=d.get('bind_interface'),
 8855            database=d.get('database'),
 8856            egress_filter=d.get('egress_filter'),
 8857            healthy=d.get('healthy'),
 8858            hostname=d.get('hostname'),
 8859            id=d.get('id'),
 8860            name=d.get('name'),
 8861            override_database=d.get('override_database'),
 8862            password=d.get('password'),
 8863            port=d.get('port'),
 8864            port_override=d.get('port_override'),
 8865            proxy_cluster_id=d.get('proxy_cluster_id'),
 8866            secret_store_id=d.get('secret_store_id'),
 8867            subdomain=d.get('subdomain'),
 8868            tags=d.get('tags'),
 8869            username=d.get('username'),
 8870        )
 8871
 8872
 8873class ClickHouseHTTP:
 8874    __slots__ = [
 8875        'bind_interface',
 8876        'database',
 8877        'egress_filter',
 8878        'healthy',
 8879        'id',
 8880        'name',
 8881        'password',
 8882        'port_override',
 8883        'proxy_cluster_id',
 8884        'secret_store_id',
 8885        'tags',
 8886        'url',
 8887        'username',
 8888    ]
 8889
 8890    def __init__(
 8891        self,
 8892        bind_interface=None,
 8893        database=None,
 8894        egress_filter=None,
 8895        healthy=None,
 8896        id=None,
 8897        name=None,
 8898        password=None,
 8899        port_override=None,
 8900        proxy_cluster_id=None,
 8901        secret_store_id=None,
 8902        tags=None,
 8903        url=None,
 8904        username=None,
 8905    ):
 8906        self.bind_interface = bind_interface if bind_interface is not None else ''
 8907        '''
 8908         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8909        '''
 8910        self.database = database if database is not None else ''
 8911        '''
 8912         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8913        '''
 8914        self.egress_filter = egress_filter if egress_filter is not None else ''
 8915        '''
 8916         A filter applied to the routing logic to pin datasource to nodes.
 8917        '''
 8918        self.healthy = healthy if healthy is not None else False
 8919        '''
 8920         True if the datasource is reachable and the credentials are valid.
 8921        '''
 8922        self.id = id if id is not None else ''
 8923        '''
 8924         Unique identifier of the Resource.
 8925        '''
 8926        self.name = name if name is not None else ''
 8927        '''
 8928         Unique human-readable name of the Resource.
 8929        '''
 8930        self.password = password if password is not None else ''
 8931        '''
 8932         The password to authenticate with.
 8933        '''
 8934        self.port_override = port_override if port_override is not None else 0
 8935        '''
 8936         The local port used by clients to connect to this resource.
 8937        '''
 8938        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8939        '''
 8940         ID of the proxy cluster for this resource, if any.
 8941        '''
 8942        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8943        '''
 8944         ID of the secret store containing credentials for this resource, if any.
 8945        '''
 8946        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8947        '''
 8948         Tags is a map of key, value pairs.
 8949        '''
 8950        self.url = url if url is not None else ''
 8951        '''
 8952         The URL to dial to initiate a connection from the egress node to this resource.
 8953        '''
 8954        self.username = username if username is not None else ''
 8955        '''
 8956         The username to authenticate with.
 8957        '''
 8958
 8959    def __repr__(self):
 8960        return '<sdm.ClickHouseHTTP ' + \
 8961            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8962            'database: ' + repr(self.database) + ' ' +\
 8963            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8964            'healthy: ' + repr(self.healthy) + ' ' +\
 8965            'id: ' + repr(self.id) + ' ' +\
 8966            'name: ' + repr(self.name) + ' ' +\
 8967            'password: ' + repr(self.password) + ' ' +\
 8968            'port_override: ' + repr(self.port_override) + ' ' +\
 8969            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8970            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8971            'tags: ' + repr(self.tags) + ' ' +\
 8972            'url: ' + repr(self.url) + ' ' +\
 8973            'username: ' + repr(self.username) + ' ' +\
 8974            '>'
 8975
 8976    def to_dict(self):
 8977        return {
 8978            'bind_interface': self.bind_interface,
 8979            'database': self.database,
 8980            'egress_filter': self.egress_filter,
 8981            'healthy': self.healthy,
 8982            'id': self.id,
 8983            'name': self.name,
 8984            'password': self.password,
 8985            'port_override': self.port_override,
 8986            'proxy_cluster_id': self.proxy_cluster_id,
 8987            'secret_store_id': self.secret_store_id,
 8988            'tags': self.tags,
 8989            'url': self.url,
 8990            'username': self.username,
 8991        }
 8992
 8993    @classmethod
 8994    def from_dict(cls, d):
 8995        return cls(
 8996            bind_interface=d.get('bind_interface'),
 8997            database=d.get('database'),
 8998            egress_filter=d.get('egress_filter'),
 8999            healthy=d.get('healthy'),
 9000            id=d.get('id'),
 9001            name=d.get('name'),
 9002            password=d.get('password'),
 9003            port_override=d.get('port_override'),
 9004            proxy_cluster_id=d.get('proxy_cluster_id'),
 9005            secret_store_id=d.get('secret_store_id'),
 9006            tags=d.get('tags'),
 9007            url=d.get('url'),
 9008            username=d.get('username'),
 9009        )
 9010
 9011
 9012class ClickHouseMySQL:
 9013    __slots__ = [
 9014        'bind_interface',
 9015        'database',
 9016        'egress_filter',
 9017        'healthy',
 9018        'hostname',
 9019        'id',
 9020        'name',
 9021        'password',
 9022        'port',
 9023        'port_override',
 9024        'proxy_cluster_id',
 9025        'require_native_auth',
 9026        'secret_store_id',
 9027        'subdomain',
 9028        'tags',
 9029        'username',
 9030    ]
 9031
 9032    def __init__(
 9033        self,
 9034        bind_interface=None,
 9035        database=None,
 9036        egress_filter=None,
 9037        healthy=None,
 9038        hostname=None,
 9039        id=None,
 9040        name=None,
 9041        password=None,
 9042        port=None,
 9043        port_override=None,
 9044        proxy_cluster_id=None,
 9045        require_native_auth=None,
 9046        secret_store_id=None,
 9047        subdomain=None,
 9048        tags=None,
 9049        username=None,
 9050    ):
 9051        self.bind_interface = bind_interface if bind_interface is not None else ''
 9052        '''
 9053         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9054        '''
 9055        self.database = database if database is not None else ''
 9056        '''
 9057         The database for healthchecks. Does not affect client requests.
 9058        '''
 9059        self.egress_filter = egress_filter if egress_filter is not None else ''
 9060        '''
 9061         A filter applied to the routing logic to pin datasource to nodes.
 9062        '''
 9063        self.healthy = healthy if healthy is not None else False
 9064        '''
 9065         True if the datasource is reachable and the credentials are valid.
 9066        '''
 9067        self.hostname = hostname if hostname is not None else ''
 9068        '''
 9069         The host to dial to initiate a connection from the egress node to this resource.
 9070        '''
 9071        self.id = id if id is not None else ''
 9072        '''
 9073         Unique identifier of the Resource.
 9074        '''
 9075        self.name = name if name is not None else ''
 9076        '''
 9077         Unique human-readable name of the Resource.
 9078        '''
 9079        self.password = password if password is not None else ''
 9080        '''
 9081         The password to authenticate with.
 9082        '''
 9083        self.port = port if port is not None else 0
 9084        '''
 9085         The port to dial to initiate a connection from the egress node to this resource.
 9086        '''
 9087        self.port_override = port_override if port_override is not None else 0
 9088        '''
 9089         The local port used by clients to connect to this resource.
 9090        '''
 9091        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9092        '''
 9093         ID of the proxy cluster for this resource, if any.
 9094        '''
 9095        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 9096        '''
 9097         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 9098        '''
 9099        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9100        '''
 9101         ID of the secret store containing credentials for this resource, if any.
 9102        '''
 9103        self.subdomain = subdomain if subdomain is not None else ''
 9104        '''
 9105         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9106        '''
 9107        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9108        '''
 9109         Tags is a map of key, value pairs.
 9110        '''
 9111        self.username = username if username is not None else ''
 9112        '''
 9113         The username to authenticate with.
 9114        '''
 9115
 9116    def __repr__(self):
 9117        return '<sdm.ClickHouseMySQL ' + \
 9118            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9119            'database: ' + repr(self.database) + ' ' +\
 9120            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9121            'healthy: ' + repr(self.healthy) + ' ' +\
 9122            'hostname: ' + repr(self.hostname) + ' ' +\
 9123            'id: ' + repr(self.id) + ' ' +\
 9124            'name: ' + repr(self.name) + ' ' +\
 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            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 9130            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9131            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9132            'tags: ' + repr(self.tags) + ' ' +\
 9133            'username: ' + repr(self.username) + ' ' +\
 9134            '>'
 9135
 9136    def to_dict(self):
 9137        return {
 9138            'bind_interface': self.bind_interface,
 9139            'database': self.database,
 9140            'egress_filter': self.egress_filter,
 9141            'healthy': self.healthy,
 9142            'hostname': self.hostname,
 9143            'id': self.id,
 9144            'name': self.name,
 9145            'password': self.password,
 9146            'port': self.port,
 9147            'port_override': self.port_override,
 9148            'proxy_cluster_id': self.proxy_cluster_id,
 9149            'require_native_auth': self.require_native_auth,
 9150            'secret_store_id': self.secret_store_id,
 9151            'subdomain': self.subdomain,
 9152            'tags': self.tags,
 9153            'username': self.username,
 9154        }
 9155
 9156    @classmethod
 9157    def from_dict(cls, d):
 9158        return cls(
 9159            bind_interface=d.get('bind_interface'),
 9160            database=d.get('database'),
 9161            egress_filter=d.get('egress_filter'),
 9162            healthy=d.get('healthy'),
 9163            hostname=d.get('hostname'),
 9164            id=d.get('id'),
 9165            name=d.get('name'),
 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            require_native_auth=d.get('require_native_auth'),
 9171            secret_store_id=d.get('secret_store_id'),
 9172            subdomain=d.get('subdomain'),
 9173            tags=d.get('tags'),
 9174            username=d.get('username'),
 9175        )
 9176
 9177
 9178class ClickHouseTCP:
 9179    __slots__ = [
 9180        'bind_interface',
 9181        'database',
 9182        'egress_filter',
 9183        'healthy',
 9184        'hostname',
 9185        'id',
 9186        'name',
 9187        'password',
 9188        'port',
 9189        'port_override',
 9190        'proxy_cluster_id',
 9191        'secret_store_id',
 9192        'subdomain',
 9193        'tags',
 9194        'tls_required',
 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        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        tls_required=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.
 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.password = password if password is not None else ''
 9246        '''
 9247         The password to authenticate with.
 9248        '''
 9249        self.port = port if port is not None else 0
 9250        '''
 9251         The port to dial to initiate a connection from the egress node to this resource.
 9252        '''
 9253        self.port_override = port_override if port_override is not None else 0
 9254        '''
 9255         The local port used by clients to connect to this resource.
 9256        '''
 9257        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9258        '''
 9259         ID of the proxy cluster for this resource, if any.
 9260        '''
 9261        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9262        '''
 9263         ID of the secret store containing credentials for this resource, if any.
 9264        '''
 9265        self.subdomain = subdomain if subdomain is not None else ''
 9266        '''
 9267         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9268        '''
 9269        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9270        '''
 9271         Tags is a map of key, value pairs.
 9272        '''
 9273        self.tls_required = tls_required if tls_required is not None else False
 9274        '''
 9275         If set, TLS must be used to connect to this resource.
 9276        '''
 9277        self.username = username if username is not None else ''
 9278        '''
 9279         The username to authenticate with.
 9280        '''
 9281
 9282    def __repr__(self):
 9283        return '<sdm.ClickHouseTCP ' + \
 9284            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9285            'database: ' + repr(self.database) + ' ' +\
 9286            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9287            'healthy: ' + repr(self.healthy) + ' ' +\
 9288            'hostname: ' + repr(self.hostname) + ' ' +\
 9289            'id: ' + repr(self.id) + ' ' +\
 9290            'name: ' + repr(self.name) + ' ' +\
 9291            'password: ' + repr(self.password) + ' ' +\
 9292            'port: ' + repr(self.port) + ' ' +\
 9293            'port_override: ' + repr(self.port_override) + ' ' +\
 9294            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9295            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9296            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9297            'tags: ' + repr(self.tags) + ' ' +\
 9298            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9299            'username: ' + repr(self.username) + ' ' +\
 9300            '>'
 9301
 9302    def to_dict(self):
 9303        return {
 9304            'bind_interface': self.bind_interface,
 9305            'database': self.database,
 9306            'egress_filter': self.egress_filter,
 9307            'healthy': self.healthy,
 9308            'hostname': self.hostname,
 9309            'id': self.id,
 9310            'name': self.name,
 9311            'password': self.password,
 9312            'port': self.port,
 9313            'port_override': self.port_override,
 9314            'proxy_cluster_id': self.proxy_cluster_id,
 9315            'secret_store_id': self.secret_store_id,
 9316            'subdomain': self.subdomain,
 9317            'tags': self.tags,
 9318            'tls_required': self.tls_required,
 9319            'username': self.username,
 9320        }
 9321
 9322    @classmethod
 9323    def from_dict(cls, d):
 9324        return cls(
 9325            bind_interface=d.get('bind_interface'),
 9326            database=d.get('database'),
 9327            egress_filter=d.get('egress_filter'),
 9328            healthy=d.get('healthy'),
 9329            hostname=d.get('hostname'),
 9330            id=d.get('id'),
 9331            name=d.get('name'),
 9332            password=d.get('password'),
 9333            port=d.get('port'),
 9334            port_override=d.get('port_override'),
 9335            proxy_cluster_id=d.get('proxy_cluster_id'),
 9336            secret_store_id=d.get('secret_store_id'),
 9337            subdomain=d.get('subdomain'),
 9338            tags=d.get('tags'),
 9339            tls_required=d.get('tls_required'),
 9340            username=d.get('username'),
 9341        )
 9342
 9343
 9344class Clustrix:
 9345    __slots__ = [
 9346        'bind_interface',
 9347        'database',
 9348        'egress_filter',
 9349        'healthy',
 9350        'hostname',
 9351        'id',
 9352        'name',
 9353        'password',
 9354        'port',
 9355        'port_override',
 9356        'proxy_cluster_id',
 9357        'require_native_auth',
 9358        'secret_store_id',
 9359        'subdomain',
 9360        'tags',
 9361        'use_azure_single_server_usernames',
 9362        'username',
 9363    ]
 9364
 9365    def __init__(
 9366        self,
 9367        bind_interface=None,
 9368        database=None,
 9369        egress_filter=None,
 9370        healthy=None,
 9371        hostname=None,
 9372        id=None,
 9373        name=None,
 9374        password=None,
 9375        port=None,
 9376        port_override=None,
 9377        proxy_cluster_id=None,
 9378        require_native_auth=None,
 9379        secret_store_id=None,
 9380        subdomain=None,
 9381        tags=None,
 9382        use_azure_single_server_usernames=None,
 9383        username=None,
 9384    ):
 9385        self.bind_interface = bind_interface if bind_interface is not None else ''
 9386        '''
 9387         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9388        '''
 9389        self.database = database if database is not None else ''
 9390        '''
 9391         The database for healthchecks. Does not affect client requests.
 9392        '''
 9393        self.egress_filter = egress_filter if egress_filter is not None else ''
 9394        '''
 9395         A filter applied to the routing logic to pin datasource to nodes.
 9396        '''
 9397        self.healthy = healthy if healthy is not None else False
 9398        '''
 9399         True if the datasource is reachable and the credentials are valid.
 9400        '''
 9401        self.hostname = hostname if hostname is not None else ''
 9402        '''
 9403         The host to dial to initiate a connection from the egress node to this resource.
 9404        '''
 9405        self.id = id if id is not None else ''
 9406        '''
 9407         Unique identifier of the Resource.
 9408        '''
 9409        self.name = name if name is not None else ''
 9410        '''
 9411         Unique human-readable name of the Resource.
 9412        '''
 9413        self.password = password if password is not None else ''
 9414        '''
 9415         The password to authenticate with.
 9416        '''
 9417        self.port = port if port is not None else 0
 9418        '''
 9419         The port to dial to initiate a connection from the egress node to this resource.
 9420        '''
 9421        self.port_override = port_override if port_override is not None else 0
 9422        '''
 9423         The local port used by clients to connect to this resource.
 9424        '''
 9425        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9426        '''
 9427         ID of the proxy cluster for this resource, if any.
 9428        '''
 9429        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 9430        '''
 9431         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 9432        '''
 9433        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9434        '''
 9435         ID of the secret store containing credentials for this resource, if any.
 9436        '''
 9437        self.subdomain = subdomain if subdomain is not None else ''
 9438        '''
 9439         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9440        '''
 9441        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9442        '''
 9443         Tags is a map of key, value pairs.
 9444        '''
 9445        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 9446        '''
 9447         If true, appends the hostname to the username when hitting a database.azure.com address
 9448        '''
 9449        self.username = username if username is not None else ''
 9450        '''
 9451         The username to authenticate with.
 9452        '''
 9453
 9454    def __repr__(self):
 9455        return '<sdm.Clustrix ' + \
 9456            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9457            'database: ' + repr(self.database) + ' ' +\
 9458            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9459            'healthy: ' + repr(self.healthy) + ' ' +\
 9460            'hostname: ' + repr(self.hostname) + ' ' +\
 9461            'id: ' + repr(self.id) + ' ' +\
 9462            'name: ' + repr(self.name) + ' ' +\
 9463            'password: ' + repr(self.password) + ' ' +\
 9464            'port: ' + repr(self.port) + ' ' +\
 9465            'port_override: ' + repr(self.port_override) + ' ' +\
 9466            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9467            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 9468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9469            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9470            'tags: ' + repr(self.tags) + ' ' +\
 9471            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 9472            'username: ' + repr(self.username) + ' ' +\
 9473            '>'
 9474
 9475    def to_dict(self):
 9476        return {
 9477            'bind_interface': self.bind_interface,
 9478            'database': self.database,
 9479            'egress_filter': self.egress_filter,
 9480            'healthy': self.healthy,
 9481            'hostname': self.hostname,
 9482            'id': self.id,
 9483            'name': self.name,
 9484            'password': self.password,
 9485            'port': self.port,
 9486            'port_override': self.port_override,
 9487            'proxy_cluster_id': self.proxy_cluster_id,
 9488            'require_native_auth': self.require_native_auth,
 9489            'secret_store_id': self.secret_store_id,
 9490            'subdomain': self.subdomain,
 9491            'tags': self.tags,
 9492            'use_azure_single_server_usernames':
 9493            self.use_azure_single_server_usernames,
 9494            'username': self.username,
 9495        }
 9496
 9497    @classmethod
 9498    def from_dict(cls, d):
 9499        return cls(
 9500            bind_interface=d.get('bind_interface'),
 9501            database=d.get('database'),
 9502            egress_filter=d.get('egress_filter'),
 9503            healthy=d.get('healthy'),
 9504            hostname=d.get('hostname'),
 9505            id=d.get('id'),
 9506            name=d.get('name'),
 9507            password=d.get('password'),
 9508            port=d.get('port'),
 9509            port_override=d.get('port_override'),
 9510            proxy_cluster_id=d.get('proxy_cluster_id'),
 9511            require_native_auth=d.get('require_native_auth'),
 9512            secret_store_id=d.get('secret_store_id'),
 9513            subdomain=d.get('subdomain'),
 9514            tags=d.get('tags'),
 9515            use_azure_single_server_usernames=d.get(
 9516                'use_azure_single_server_usernames'),
 9517            username=d.get('username'),
 9518        )
 9519
 9520
 9521class Cockroach:
 9522    __slots__ = [
 9523        'bind_interface',
 9524        'database',
 9525        'egress_filter',
 9526        'healthy',
 9527        'hostname',
 9528        'id',
 9529        'name',
 9530        'override_database',
 9531        'password',
 9532        'port',
 9533        'port_override',
 9534        'proxy_cluster_id',
 9535        'secret_store_id',
 9536        'subdomain',
 9537        'tags',
 9538        'username',
 9539    ]
 9540
 9541    def __init__(
 9542        self,
 9543        bind_interface=None,
 9544        database=None,
 9545        egress_filter=None,
 9546        healthy=None,
 9547        hostname=None,
 9548        id=None,
 9549        name=None,
 9550        override_database=None,
 9551        password=None,
 9552        port=None,
 9553        port_override=None,
 9554        proxy_cluster_id=None,
 9555        secret_store_id=None,
 9556        subdomain=None,
 9557        tags=None,
 9558        username=None,
 9559    ):
 9560        self.bind_interface = bind_interface if bind_interface is not None else ''
 9561        '''
 9562         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9563        '''
 9564        self.database = database if database is not None else ''
 9565        '''
 9566         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9567        '''
 9568        self.egress_filter = egress_filter if egress_filter is not None else ''
 9569        '''
 9570         A filter applied to the routing logic to pin datasource to nodes.
 9571        '''
 9572        self.healthy = healthy if healthy is not None else False
 9573        '''
 9574         True if the datasource is reachable and the credentials are valid.
 9575        '''
 9576        self.hostname = hostname if hostname is not None else ''
 9577        '''
 9578         The host to dial to initiate a connection from the egress node to this resource.
 9579        '''
 9580        self.id = id if id is not None else ''
 9581        '''
 9582         Unique identifier of the Resource.
 9583        '''
 9584        self.name = name if name is not None else ''
 9585        '''
 9586         Unique human-readable name of the Resource.
 9587        '''
 9588        self.override_database = override_database if override_database is not None else False
 9589        '''
 9590         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.
 9591        '''
 9592        self.password = password if password is not None else ''
 9593        '''
 9594         The password to authenticate with.
 9595        '''
 9596        self.port = port if port is not None else 0
 9597        '''
 9598         The port to dial to initiate a connection from the egress node to this resource.
 9599        '''
 9600        self.port_override = port_override if port_override is not None else 0
 9601        '''
 9602         The local port used by clients to connect to this resource.
 9603        '''
 9604        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9605        '''
 9606         ID of the proxy cluster for this resource, if any.
 9607        '''
 9608        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9609        '''
 9610         ID of the secret store containing credentials for this resource, if any.
 9611        '''
 9612        self.subdomain = subdomain if subdomain is not None else ''
 9613        '''
 9614         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9615        '''
 9616        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9617        '''
 9618         Tags is a map of key, value pairs.
 9619        '''
 9620        self.username = username if username is not None else ''
 9621        '''
 9622         The username to authenticate with.
 9623        '''
 9624
 9625    def __repr__(self):
 9626        return '<sdm.Cockroach ' + \
 9627            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9628            'database: ' + repr(self.database) + ' ' +\
 9629            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9630            'healthy: ' + repr(self.healthy) + ' ' +\
 9631            'hostname: ' + repr(self.hostname) + ' ' +\
 9632            'id: ' + repr(self.id) + ' ' +\
 9633            'name: ' + repr(self.name) + ' ' +\
 9634            'override_database: ' + repr(self.override_database) + ' ' +\
 9635            'password: ' + repr(self.password) + ' ' +\
 9636            'port: ' + repr(self.port) + ' ' +\
 9637            'port_override: ' + repr(self.port_override) + ' ' +\
 9638            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9639            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9640            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9641            'tags: ' + repr(self.tags) + ' ' +\
 9642            'username: ' + repr(self.username) + ' ' +\
 9643            '>'
 9644
 9645    def to_dict(self):
 9646        return {
 9647            'bind_interface': self.bind_interface,
 9648            'database': self.database,
 9649            'egress_filter': self.egress_filter,
 9650            'healthy': self.healthy,
 9651            'hostname': self.hostname,
 9652            'id': self.id,
 9653            'name': self.name,
 9654            'override_database': self.override_database,
 9655            'password': self.password,
 9656            'port': self.port,
 9657            'port_override': self.port_override,
 9658            'proxy_cluster_id': self.proxy_cluster_id,
 9659            'secret_store_id': self.secret_store_id,
 9660            'subdomain': self.subdomain,
 9661            'tags': self.tags,
 9662            'username': self.username,
 9663        }
 9664
 9665    @classmethod
 9666    def from_dict(cls, d):
 9667        return cls(
 9668            bind_interface=d.get('bind_interface'),
 9669            database=d.get('database'),
 9670            egress_filter=d.get('egress_filter'),
 9671            healthy=d.get('healthy'),
 9672            hostname=d.get('hostname'),
 9673            id=d.get('id'),
 9674            name=d.get('name'),
 9675            override_database=d.get('override_database'),
 9676            password=d.get('password'),
 9677            port=d.get('port'),
 9678            port_override=d.get('port_override'),
 9679            proxy_cluster_id=d.get('proxy_cluster_id'),
 9680            secret_store_id=d.get('secret_store_id'),
 9681            subdomain=d.get('subdomain'),
 9682            tags=d.get('tags'),
 9683            username=d.get('username'),
 9684        )
 9685
 9686
 9687class ControlPanelGetRDPCAPublicKeyResponse:
 9688    '''
 9689         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
 9690     organization's RDP Certificate Authority public key.
 9691    '''
 9692    __slots__ = [
 9693        'meta',
 9694        'public_key',
 9695        'rate_limit',
 9696    ]
 9697
 9698    def __init__(
 9699        self,
 9700        meta=None,
 9701        public_key=None,
 9702        rate_limit=None,
 9703    ):
 9704        self.meta = meta if meta is not None else None
 9705        '''
 9706         Reserved for future use.
 9707        '''
 9708        self.public_key = public_key if public_key is not None else ''
 9709        '''
 9710         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9711         key format.
 9712        '''
 9713        self.rate_limit = rate_limit if rate_limit is not None else None
 9714        '''
 9715         Rate limit information.
 9716        '''
 9717
 9718    def __repr__(self):
 9719        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
 9720            'meta: ' + repr(self.meta) + ' ' +\
 9721            'public_key: ' + repr(self.public_key) + ' ' +\
 9722            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9723            '>'
 9724
 9725    def to_dict(self):
 9726        return {
 9727            'meta': self.meta,
 9728            'public_key': self.public_key,
 9729            'rate_limit': self.rate_limit,
 9730        }
 9731
 9732    @classmethod
 9733    def from_dict(cls, d):
 9734        return cls(
 9735            meta=d.get('meta'),
 9736            public_key=d.get('public_key'),
 9737            rate_limit=d.get('rate_limit'),
 9738        )
 9739
 9740
 9741class ControlPanelGetSSHCAPublicKeyResponse:
 9742    '''
 9743         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
 9744     organization's SSH Certificate Authority public key.
 9745    '''
 9746    __slots__ = [
 9747        'meta',
 9748        'public_key',
 9749        'rate_limit',
 9750    ]
 9751
 9752    def __init__(
 9753        self,
 9754        meta=None,
 9755        public_key=None,
 9756        rate_limit=None,
 9757    ):
 9758        self.meta = meta if meta is not None else None
 9759        '''
 9760         Reserved for future use.
 9761        '''
 9762        self.public_key = public_key if public_key is not None else ''
 9763        '''
 9764         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9765         key format.
 9766        '''
 9767        self.rate_limit = rate_limit if rate_limit is not None else None
 9768        '''
 9769         Rate limit information.
 9770        '''
 9771
 9772    def __repr__(self):
 9773        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
 9774            'meta: ' + repr(self.meta) + ' ' +\
 9775            'public_key: ' + repr(self.public_key) + ' ' +\
 9776            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9777            '>'
 9778
 9779    def to_dict(self):
 9780        return {
 9781            'meta': self.meta,
 9782            'public_key': self.public_key,
 9783            'rate_limit': self.rate_limit,
 9784        }
 9785
 9786    @classmethod
 9787    def from_dict(cls, d):
 9788        return cls(
 9789            meta=d.get('meta'),
 9790            public_key=d.get('public_key'),
 9791            rate_limit=d.get('rate_limit'),
 9792        )
 9793
 9794
 9795class ControlPanelVerifyJWTResponse:
 9796    '''
 9797         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
 9798    '''
 9799    __slots__ = [
 9800        'meta',
 9801        'rate_limit',
 9802        'valid',
 9803    ]
 9804
 9805    def __init__(
 9806        self,
 9807        meta=None,
 9808        rate_limit=None,
 9809        valid=None,
 9810    ):
 9811        self.meta = meta if meta is not None else None
 9812        '''
 9813         Reserved for future use.
 9814        '''
 9815        self.rate_limit = rate_limit if rate_limit is not None else None
 9816        '''
 9817         Rate limit information.
 9818        '''
 9819        self.valid = valid if valid is not None else False
 9820        '''
 9821         Reports if the given token is valid.
 9822        '''
 9823
 9824    def __repr__(self):
 9825        return '<sdm.ControlPanelVerifyJWTResponse ' + \
 9826            'meta: ' + repr(self.meta) + ' ' +\
 9827            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9828            'valid: ' + repr(self.valid) + ' ' +\
 9829            '>'
 9830
 9831    def to_dict(self):
 9832        return {
 9833            'meta': self.meta,
 9834            'rate_limit': self.rate_limit,
 9835            'valid': self.valid,
 9836        }
 9837
 9838    @classmethod
 9839    def from_dict(cls, d):
 9840        return cls(
 9841            meta=d.get('meta'),
 9842            rate_limit=d.get('rate_limit'),
 9843            valid=d.get('valid'),
 9844        )
 9845
 9846
 9847class CouchbaseDatabase:
 9848    __slots__ = [
 9849        'bind_interface',
 9850        'egress_filter',
 9851        'healthy',
 9852        'hostname',
 9853        'id',
 9854        'n1ql_port',
 9855        'name',
 9856        'password',
 9857        'port',
 9858        'port_override',
 9859        'proxy_cluster_id',
 9860        'secret_store_id',
 9861        'subdomain',
 9862        'tags',
 9863        'tls_required',
 9864        'username',
 9865    ]
 9866
 9867    def __init__(
 9868        self,
 9869        bind_interface=None,
 9870        egress_filter=None,
 9871        healthy=None,
 9872        hostname=None,
 9873        id=None,
 9874        n1ql_port=None,
 9875        name=None,
 9876        password=None,
 9877        port=None,
 9878        port_override=None,
 9879        proxy_cluster_id=None,
 9880        secret_store_id=None,
 9881        subdomain=None,
 9882        tags=None,
 9883        tls_required=None,
 9884        username=None,
 9885    ):
 9886        self.bind_interface = bind_interface if bind_interface is not None else ''
 9887        '''
 9888         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9889        '''
 9890        self.egress_filter = egress_filter if egress_filter is not None else ''
 9891        '''
 9892         A filter applied to the routing logic to pin datasource to nodes.
 9893        '''
 9894        self.healthy = healthy if healthy is not None else False
 9895        '''
 9896         True if the datasource is reachable and the credentials are valid.
 9897        '''
 9898        self.hostname = hostname if hostname is not None else ''
 9899        '''
 9900         The host to dial to initiate a connection from the egress node to this resource.
 9901        '''
 9902        self.id = id if id is not None else ''
 9903        '''
 9904         Unique identifier of the Resource.
 9905        '''
 9906        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
 9907        '''
 9908         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
 9909        '''
 9910        self.name = name if name is not None else ''
 9911        '''
 9912         Unique human-readable name of the Resource.
 9913        '''
 9914        self.password = password if password is not None else ''
 9915        '''
 9916         The password to authenticate with.
 9917        '''
 9918        self.port = port if port is not None else 0
 9919        '''
 9920         The port to dial to initiate a connection from the egress node to this resource.
 9921        '''
 9922        self.port_override = port_override if port_override is not None else 0
 9923        '''
 9924         The local port used by clients to connect to this resource.
 9925        '''
 9926        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9927        '''
 9928         ID of the proxy cluster for this resource, if any.
 9929        '''
 9930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9931        '''
 9932         ID of the secret store containing credentials for this resource, if any.
 9933        '''
 9934        self.subdomain = subdomain if subdomain is not None else ''
 9935        '''
 9936         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9937        '''
 9938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9939        '''
 9940         Tags is a map of key, value pairs.
 9941        '''
 9942        self.tls_required = tls_required if tls_required is not None else False
 9943        '''
 9944         If set, TLS must be used to connect to this resource.
 9945        '''
 9946        self.username = username if username is not None else ''
 9947        '''
 9948         The username to authenticate with.
 9949        '''
 9950
 9951    def __repr__(self):
 9952        return '<sdm.CouchbaseDatabase ' + \
 9953            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9954            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9955            'healthy: ' + repr(self.healthy) + ' ' +\
 9956            'hostname: ' + repr(self.hostname) + ' ' +\
 9957            'id: ' + repr(self.id) + ' ' +\
 9958            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
 9959            'name: ' + repr(self.name) + ' ' +\
 9960            'password: ' + repr(self.password) + ' ' +\
 9961            'port: ' + repr(self.port) + ' ' +\
 9962            'port_override: ' + repr(self.port_override) + ' ' +\
 9963            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9964            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9965            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9966            'tags: ' + repr(self.tags) + ' ' +\
 9967            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9968            'username: ' + repr(self.username) + ' ' +\
 9969            '>'
 9970
 9971    def to_dict(self):
 9972        return {
 9973            'bind_interface': self.bind_interface,
 9974            'egress_filter': self.egress_filter,
 9975            'healthy': self.healthy,
 9976            'hostname': self.hostname,
 9977            'id': self.id,
 9978            'n1ql_port': self.n1ql_port,
 9979            'name': self.name,
 9980            'password': self.password,
 9981            'port': self.port,
 9982            'port_override': self.port_override,
 9983            'proxy_cluster_id': self.proxy_cluster_id,
 9984            'secret_store_id': self.secret_store_id,
 9985            'subdomain': self.subdomain,
 9986            'tags': self.tags,
 9987            'tls_required': self.tls_required,
 9988            'username': self.username,
 9989        }
 9990
 9991    @classmethod
 9992    def from_dict(cls, d):
 9993        return cls(
 9994            bind_interface=d.get('bind_interface'),
 9995            egress_filter=d.get('egress_filter'),
 9996            healthy=d.get('healthy'),
 9997            hostname=d.get('hostname'),
 9998            id=d.get('id'),
 9999            n1ql_port=d.get('n1ql_port'),
10000            name=d.get('name'),
10001            password=d.get('password'),
10002            port=d.get('port'),
10003            port_override=d.get('port_override'),
10004            proxy_cluster_id=d.get('proxy_cluster_id'),
10005            secret_store_id=d.get('secret_store_id'),
10006            subdomain=d.get('subdomain'),
10007            tags=d.get('tags'),
10008            tls_required=d.get('tls_required'),
10009            username=d.get('username'),
10010        )
10011
10012
10013class CouchbaseWebUI:
10014    __slots__ = [
10015        'bind_interface',
10016        'egress_filter',
10017        'healthy',
10018        'id',
10019        'name',
10020        'password',
10021        'port_override',
10022        'proxy_cluster_id',
10023        'secret_store_id',
10024        'subdomain',
10025        'tags',
10026        'url',
10027        'username',
10028    ]
10029
10030    def __init__(
10031        self,
10032        bind_interface=None,
10033        egress_filter=None,
10034        healthy=None,
10035        id=None,
10036        name=None,
10037        password=None,
10038        port_override=None,
10039        proxy_cluster_id=None,
10040        secret_store_id=None,
10041        subdomain=None,
10042        tags=None,
10043        url=None,
10044        username=None,
10045    ):
10046        self.bind_interface = bind_interface if bind_interface is not None else ''
10047        '''
10048         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10049        '''
10050        self.egress_filter = egress_filter if egress_filter is not None else ''
10051        '''
10052         A filter applied to the routing logic to pin datasource to nodes.
10053        '''
10054        self.healthy = healthy if healthy is not None else False
10055        '''
10056         True if the datasource is reachable and the credentials are valid.
10057        '''
10058        self.id = id if id is not None else ''
10059        '''
10060         Unique identifier of the Resource.
10061        '''
10062        self.name = name if name is not None else ''
10063        '''
10064         Unique human-readable name of the Resource.
10065        '''
10066        self.password = password if password is not None else ''
10067        '''
10068         The password to authenticate with.
10069        '''
10070        self.port_override = port_override if port_override is not None else 0
10071        '''
10072         The local port used by clients to connect to this resource.
10073        '''
10074        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10075        '''
10076         ID of the proxy cluster for this resource, if any.
10077        '''
10078        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10079        '''
10080         ID of the secret store containing credentials for this resource, if any.
10081        '''
10082        self.subdomain = subdomain if subdomain is not None else ''
10083        '''
10084         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10085        '''
10086        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10087        '''
10088         Tags is a map of key, value pairs.
10089        '''
10090        self.url = url if url is not None else ''
10091        '''
10092         The base address of your website without the path.
10093        '''
10094        self.username = username if username is not None else ''
10095        '''
10096         The username to authenticate with.
10097        '''
10098
10099    def __repr__(self):
10100        return '<sdm.CouchbaseWebUI ' + \
10101            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10102            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10103            'healthy: ' + repr(self.healthy) + ' ' +\
10104            'id: ' + repr(self.id) + ' ' +\
10105            'name: ' + repr(self.name) + ' ' +\
10106            'password: ' + repr(self.password) + ' ' +\
10107            'port_override: ' + repr(self.port_override) + ' ' +\
10108            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10109            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10110            'subdomain: ' + repr(self.subdomain) + ' ' +\
10111            'tags: ' + repr(self.tags) + ' ' +\
10112            'url: ' + repr(self.url) + ' ' +\
10113            'username: ' + repr(self.username) + ' ' +\
10114            '>'
10115
10116    def to_dict(self):
10117        return {
10118            'bind_interface': self.bind_interface,
10119            'egress_filter': self.egress_filter,
10120            'healthy': self.healthy,
10121            'id': self.id,
10122            'name': self.name,
10123            'password': self.password,
10124            'port_override': self.port_override,
10125            'proxy_cluster_id': self.proxy_cluster_id,
10126            'secret_store_id': self.secret_store_id,
10127            'subdomain': self.subdomain,
10128            'tags': self.tags,
10129            'url': self.url,
10130            'username': self.username,
10131        }
10132
10133    @classmethod
10134    def from_dict(cls, d):
10135        return cls(
10136            bind_interface=d.get('bind_interface'),
10137            egress_filter=d.get('egress_filter'),
10138            healthy=d.get('healthy'),
10139            id=d.get('id'),
10140            name=d.get('name'),
10141            password=d.get('password'),
10142            port_override=d.get('port_override'),
10143            proxy_cluster_id=d.get('proxy_cluster_id'),
10144            secret_store_id=d.get('secret_store_id'),
10145            subdomain=d.get('subdomain'),
10146            tags=d.get('tags'),
10147            url=d.get('url'),
10148            username=d.get('username'),
10149        )
10150
10151
10152class CreateResponseMetadata:
10153    '''
10154         CreateResponseMetadata is reserved for future use.
10155    '''
10156    __slots__ = []
10157
10158    def __init__(self, ):
10159        pass
10160
10161    def __repr__(self):
10162        return '<sdm.CreateResponseMetadata ' + \
10163            '>'
10164
10165    def to_dict(self):
10166        return {}
10167
10168    @classmethod
10169    def from_dict(cls, d):
10170        return cls()
10171
10172
10173class CyberarkConjurStore:
10174    __slots__ = [
10175        'appurl',
10176        'id',
10177        'name',
10178        'tags',
10179    ]
10180
10181    def __init__(
10182        self,
10183        appurl=None,
10184        id=None,
10185        name=None,
10186        tags=None,
10187    ):
10188        self.appurl = appurl if appurl is not None else ''
10189        '''
10190         The URL of the Cyberark instance
10191        '''
10192        self.id = id if id is not None else ''
10193        '''
10194         Unique identifier of the SecretStore.
10195        '''
10196        self.name = name if name is not None else ''
10197        '''
10198         Unique human-readable name of the SecretStore.
10199        '''
10200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10201        '''
10202         Tags is a map of key, value pairs.
10203        '''
10204
10205    def __repr__(self):
10206        return '<sdm.CyberarkConjurStore ' + \
10207            'appurl: ' + repr(self.appurl) + ' ' +\
10208            'id: ' + repr(self.id) + ' ' +\
10209            'name: ' + repr(self.name) + ' ' +\
10210            'tags: ' + repr(self.tags) + ' ' +\
10211            '>'
10212
10213    def to_dict(self):
10214        return {
10215            'appurl': self.appurl,
10216            'id': self.id,
10217            'name': self.name,
10218            'tags': self.tags,
10219        }
10220
10221    @classmethod
10222    def from_dict(cls, d):
10223        return cls(
10224            appurl=d.get('appurl'),
10225            id=d.get('id'),
10226            name=d.get('name'),
10227            tags=d.get('tags'),
10228        )
10229
10230
10231class CyberarkPAMExperimentalStore:
10232    '''
10233    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10234    without a major version bump.
10235    '''
10236    __slots__ = [
10237        'appurl',
10238        'id',
10239        'name',
10240        'tags',
10241    ]
10242
10243    def __init__(
10244        self,
10245        appurl=None,
10246        id=None,
10247        name=None,
10248        tags=None,
10249    ):
10250        self.appurl = appurl if appurl is not None else ''
10251        '''
10252         The URL of the Cyberark instance
10253        '''
10254        self.id = id if id is not None else ''
10255        '''
10256         Unique identifier of the SecretStore.
10257        '''
10258        self.name = name if name is not None else ''
10259        '''
10260         Unique human-readable name of the SecretStore.
10261        '''
10262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10263        '''
10264         Tags is a map of key, value pairs.
10265        '''
10266
10267    def __repr__(self):
10268        return '<sdm.CyberarkPAMExperimentalStore ' + \
10269            'appurl: ' + repr(self.appurl) + ' ' +\
10270            'id: ' + repr(self.id) + ' ' +\
10271            'name: ' + repr(self.name) + ' ' +\
10272            'tags: ' + repr(self.tags) + ' ' +\
10273            '>'
10274
10275    def to_dict(self):
10276        return {
10277            'appurl': self.appurl,
10278            'id': self.id,
10279            'name': self.name,
10280            'tags': self.tags,
10281        }
10282
10283    @classmethod
10284    def from_dict(cls, d):
10285        return cls(
10286            appurl=d.get('appurl'),
10287            id=d.get('id'),
10288            name=d.get('name'),
10289            tags=d.get('tags'),
10290        )
10291
10292
10293class CyberarkPAMStore:
10294    __slots__ = [
10295        'appurl',
10296        'id',
10297        'name',
10298        'tags',
10299    ]
10300
10301    def __init__(
10302        self,
10303        appurl=None,
10304        id=None,
10305        name=None,
10306        tags=None,
10307    ):
10308        self.appurl = appurl if appurl is not None else ''
10309        '''
10310         The URL of the Cyberark instance
10311        '''
10312        self.id = id if id is not None else ''
10313        '''
10314         Unique identifier of the SecretStore.
10315        '''
10316        self.name = name if name is not None else ''
10317        '''
10318         Unique human-readable name of the SecretStore.
10319        '''
10320        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10321        '''
10322         Tags is a map of key, value pairs.
10323        '''
10324
10325    def __repr__(self):
10326        return '<sdm.CyberarkPAMStore ' + \
10327            'appurl: ' + repr(self.appurl) + ' ' +\
10328            'id: ' + repr(self.id) + ' ' +\
10329            'name: ' + repr(self.name) + ' ' +\
10330            'tags: ' + repr(self.tags) + ' ' +\
10331            '>'
10332
10333    def to_dict(self):
10334        return {
10335            'appurl': self.appurl,
10336            'id': self.id,
10337            'name': self.name,
10338            'tags': self.tags,
10339        }
10340
10341    @classmethod
10342    def from_dict(cls, d):
10343        return cls(
10344            appurl=d.get('appurl'),
10345            id=d.get('id'),
10346            name=d.get('name'),
10347            tags=d.get('tags'),
10348        )
10349
10350
10351class DB2I:
10352    __slots__ = [
10353        'bind_interface',
10354        'egress_filter',
10355        'healthy',
10356        'hostname',
10357        'id',
10358        'name',
10359        'password',
10360        'port',
10361        'port_override',
10362        'proxy_cluster_id',
10363        'secret_store_id',
10364        'subdomain',
10365        'tags',
10366        'tls_required',
10367        'username',
10368    ]
10369
10370    def __init__(
10371        self,
10372        bind_interface=None,
10373        egress_filter=None,
10374        healthy=None,
10375        hostname=None,
10376        id=None,
10377        name=None,
10378        password=None,
10379        port=None,
10380        port_override=None,
10381        proxy_cluster_id=None,
10382        secret_store_id=None,
10383        subdomain=None,
10384        tags=None,
10385        tls_required=None,
10386        username=None,
10387    ):
10388        self.bind_interface = bind_interface if bind_interface is not None else ''
10389        '''
10390         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10391        '''
10392        self.egress_filter = egress_filter if egress_filter is not None else ''
10393        '''
10394         A filter applied to the routing logic to pin datasource to nodes.
10395        '''
10396        self.healthy = healthy if healthy is not None else False
10397        '''
10398         True if the datasource is reachable and the credentials are valid.
10399        '''
10400        self.hostname = hostname if hostname is not None else ''
10401        '''
10402         The host to dial to initiate a connection from the egress node to this resource.
10403        '''
10404        self.id = id if id is not None else ''
10405        '''
10406         Unique identifier of the Resource.
10407        '''
10408        self.name = name if name is not None else ''
10409        '''
10410         Unique human-readable name of the Resource.
10411        '''
10412        self.password = password if password is not None else ''
10413        '''
10414         The password to authenticate with.
10415        '''
10416        self.port = port if port is not None else 0
10417        '''
10418         The port to dial to initiate a connection from the egress node to this resource.
10419        '''
10420        self.port_override = port_override if port_override is not None else 0
10421        '''
10422         The local port used by clients to connect to this resource.
10423        '''
10424        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10425        '''
10426         ID of the proxy cluster for this resource, if any.
10427        '''
10428        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10429        '''
10430         ID of the secret store containing credentials for this resource, if any.
10431        '''
10432        self.subdomain = subdomain if subdomain is not None else ''
10433        '''
10434         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10435        '''
10436        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10437        '''
10438         Tags is a map of key, value pairs.
10439        '''
10440        self.tls_required = tls_required if tls_required is not None else False
10441        '''
10442         If set, TLS must be used to connect to this resource.
10443        '''
10444        self.username = username if username is not None else ''
10445        '''
10446         The username to authenticate with.
10447        '''
10448
10449    def __repr__(self):
10450        return '<sdm.DB2I ' + \
10451            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10452            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10453            'healthy: ' + repr(self.healthy) + ' ' +\
10454            'hostname: ' + repr(self.hostname) + ' ' +\
10455            'id: ' + repr(self.id) + ' ' +\
10456            'name: ' + repr(self.name) + ' ' +\
10457            'password: ' + repr(self.password) + ' ' +\
10458            'port: ' + repr(self.port) + ' ' +\
10459            'port_override: ' + repr(self.port_override) + ' ' +\
10460            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10461            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10462            'subdomain: ' + repr(self.subdomain) + ' ' +\
10463            'tags: ' + repr(self.tags) + ' ' +\
10464            'tls_required: ' + repr(self.tls_required) + ' ' +\
10465            'username: ' + repr(self.username) + ' ' +\
10466            '>'
10467
10468    def to_dict(self):
10469        return {
10470            'bind_interface': self.bind_interface,
10471            'egress_filter': self.egress_filter,
10472            'healthy': self.healthy,
10473            'hostname': self.hostname,
10474            'id': self.id,
10475            'name': self.name,
10476            'password': self.password,
10477            'port': self.port,
10478            'port_override': self.port_override,
10479            'proxy_cluster_id': self.proxy_cluster_id,
10480            'secret_store_id': self.secret_store_id,
10481            'subdomain': self.subdomain,
10482            'tags': self.tags,
10483            'tls_required': self.tls_required,
10484            'username': self.username,
10485        }
10486
10487    @classmethod
10488    def from_dict(cls, d):
10489        return cls(
10490            bind_interface=d.get('bind_interface'),
10491            egress_filter=d.get('egress_filter'),
10492            healthy=d.get('healthy'),
10493            hostname=d.get('hostname'),
10494            id=d.get('id'),
10495            name=d.get('name'),
10496            password=d.get('password'),
10497            port=d.get('port'),
10498            port_override=d.get('port_override'),
10499            proxy_cluster_id=d.get('proxy_cluster_id'),
10500            secret_store_id=d.get('secret_store_id'),
10501            subdomain=d.get('subdomain'),
10502            tags=d.get('tags'),
10503            tls_required=d.get('tls_required'),
10504            username=d.get('username'),
10505        )
10506
10507
10508class DB2LUW:
10509    __slots__ = [
10510        'bind_interface',
10511        'database',
10512        'egress_filter',
10513        'healthy',
10514        'hostname',
10515        'id',
10516        'name',
10517        'password',
10518        'port',
10519        'port_override',
10520        'proxy_cluster_id',
10521        'secret_store_id',
10522        'subdomain',
10523        'tags',
10524        'tls_required',
10525        'username',
10526    ]
10527
10528    def __init__(
10529        self,
10530        bind_interface=None,
10531        database=None,
10532        egress_filter=None,
10533        healthy=None,
10534        hostname=None,
10535        id=None,
10536        name=None,
10537        password=None,
10538        port=None,
10539        port_override=None,
10540        proxy_cluster_id=None,
10541        secret_store_id=None,
10542        subdomain=None,
10543        tags=None,
10544        tls_required=None,
10545        username=None,
10546    ):
10547        self.bind_interface = bind_interface if bind_interface is not None else ''
10548        '''
10549         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10550        '''
10551        self.database = database if database is not None else ''
10552        '''
10553         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10554        '''
10555        self.egress_filter = egress_filter if egress_filter is not None else ''
10556        '''
10557         A filter applied to the routing logic to pin datasource to nodes.
10558        '''
10559        self.healthy = healthy if healthy is not None else False
10560        '''
10561         True if the datasource is reachable and the credentials are valid.
10562        '''
10563        self.hostname = hostname if hostname is not None else ''
10564        '''
10565         The host to dial to initiate a connection from the egress node to this resource.
10566        '''
10567        self.id = id if id is not None else ''
10568        '''
10569         Unique identifier of the Resource.
10570        '''
10571        self.name = name if name is not None else ''
10572        '''
10573         Unique human-readable name of the Resource.
10574        '''
10575        self.password = password if password is not None else ''
10576        '''
10577         The password to authenticate with.
10578        '''
10579        self.port = port if port is not None else 0
10580        '''
10581         The port to dial to initiate a connection from the egress node to this resource.
10582        '''
10583        self.port_override = port_override if port_override is not None else 0
10584        '''
10585         The local port used by clients to connect to this resource.
10586        '''
10587        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10588        '''
10589         ID of the proxy cluster for this resource, if any.
10590        '''
10591        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10592        '''
10593         ID of the secret store containing credentials for this resource, if any.
10594        '''
10595        self.subdomain = subdomain if subdomain is not None else ''
10596        '''
10597         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10598        '''
10599        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10600        '''
10601         Tags is a map of key, value pairs.
10602        '''
10603        self.tls_required = tls_required if tls_required is not None else False
10604        '''
10605         If set, TLS must be used to connect to this resource.
10606        '''
10607        self.username = username if username is not None else ''
10608        '''
10609         The username to authenticate with.
10610        '''
10611
10612    def __repr__(self):
10613        return '<sdm.DB2LUW ' + \
10614            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10615            'database: ' + repr(self.database) + ' ' +\
10616            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10617            'healthy: ' + repr(self.healthy) + ' ' +\
10618            'hostname: ' + repr(self.hostname) + ' ' +\
10619            'id: ' + repr(self.id) + ' ' +\
10620            'name: ' + repr(self.name) + ' ' +\
10621            'password: ' + repr(self.password) + ' ' +\
10622            'port: ' + repr(self.port) + ' ' +\
10623            'port_override: ' + repr(self.port_override) + ' ' +\
10624            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10625            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10626            'subdomain: ' + repr(self.subdomain) + ' ' +\
10627            'tags: ' + repr(self.tags) + ' ' +\
10628            'tls_required: ' + repr(self.tls_required) + ' ' +\
10629            'username: ' + repr(self.username) + ' ' +\
10630            '>'
10631
10632    def to_dict(self):
10633        return {
10634            'bind_interface': self.bind_interface,
10635            'database': self.database,
10636            'egress_filter': self.egress_filter,
10637            'healthy': self.healthy,
10638            'hostname': self.hostname,
10639            'id': self.id,
10640            'name': self.name,
10641            'password': self.password,
10642            'port': self.port,
10643            'port_override': self.port_override,
10644            'proxy_cluster_id': self.proxy_cluster_id,
10645            'secret_store_id': self.secret_store_id,
10646            'subdomain': self.subdomain,
10647            'tags': self.tags,
10648            'tls_required': self.tls_required,
10649            'username': self.username,
10650        }
10651
10652    @classmethod
10653    def from_dict(cls, d):
10654        return cls(
10655            bind_interface=d.get('bind_interface'),
10656            database=d.get('database'),
10657            egress_filter=d.get('egress_filter'),
10658            healthy=d.get('healthy'),
10659            hostname=d.get('hostname'),
10660            id=d.get('id'),
10661            name=d.get('name'),
10662            password=d.get('password'),
10663            port=d.get('port'),
10664            port_override=d.get('port_override'),
10665            proxy_cluster_id=d.get('proxy_cluster_id'),
10666            secret_store_id=d.get('secret_store_id'),
10667            subdomain=d.get('subdomain'),
10668            tags=d.get('tags'),
10669            tls_required=d.get('tls_required'),
10670            username=d.get('username'),
10671        )
10672
10673
10674class DeleteResponseMetadata:
10675    '''
10676         DeleteResponseMetadata is reserved for future use.
10677    '''
10678    __slots__ = []
10679
10680    def __init__(self, ):
10681        pass
10682
10683    def __repr__(self):
10684        return '<sdm.DeleteResponseMetadata ' + \
10685            '>'
10686
10687    def to_dict(self):
10688        return {}
10689
10690    @classmethod
10691    def from_dict(cls, d):
10692        return cls()
10693
10694
10695class DelineaStore:
10696    __slots__ = [
10697        'id',
10698        'name',
10699        'server_url',
10700        'tags',
10701        'tenant_name',
10702    ]
10703
10704    def __init__(
10705        self,
10706        id=None,
10707        name=None,
10708        server_url=None,
10709        tags=None,
10710        tenant_name=None,
10711    ):
10712        self.id = id if id is not None else ''
10713        '''
10714         Unique identifier of the SecretStore.
10715        '''
10716        self.name = name if name is not None else ''
10717        '''
10718         Unique human-readable name of the SecretStore.
10719        '''
10720        self.server_url = server_url if server_url is not None else ''
10721        '''
10722         The URL of the Delinea instance
10723        '''
10724        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10725        '''
10726         Tags is a map of key, value pairs.
10727        '''
10728        self.tenant_name = tenant_name if tenant_name is not None else ''
10729        '''
10730         The tenant name to target
10731        '''
10732
10733    def __repr__(self):
10734        return '<sdm.DelineaStore ' + \
10735            'id: ' + repr(self.id) + ' ' +\
10736            'name: ' + repr(self.name) + ' ' +\
10737            'server_url: ' + repr(self.server_url) + ' ' +\
10738            'tags: ' + repr(self.tags) + ' ' +\
10739            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10740            '>'
10741
10742    def to_dict(self):
10743        return {
10744            'id': self.id,
10745            'name': self.name,
10746            'server_url': self.server_url,
10747            'tags': self.tags,
10748            'tenant_name': self.tenant_name,
10749        }
10750
10751    @classmethod
10752    def from_dict(cls, d):
10753        return cls(
10754            id=d.get('id'),
10755            name=d.get('name'),
10756            server_url=d.get('server_url'),
10757            tags=d.get('tags'),
10758            tenant_name=d.get('tenant_name'),
10759        )
10760
10761
10762class DocumentDBHost:
10763    __slots__ = [
10764        'auth_database',
10765        'bind_interface',
10766        'egress_filter',
10767        'healthy',
10768        'hostname',
10769        'id',
10770        'name',
10771        'password',
10772        'port',
10773        'port_override',
10774        'proxy_cluster_id',
10775        'secret_store_id',
10776        'subdomain',
10777        'tags',
10778        'username',
10779    ]
10780
10781    def __init__(
10782        self,
10783        auth_database=None,
10784        bind_interface=None,
10785        egress_filter=None,
10786        healthy=None,
10787        hostname=None,
10788        id=None,
10789        name=None,
10790        password=None,
10791        port=None,
10792        port_override=None,
10793        proxy_cluster_id=None,
10794        secret_store_id=None,
10795        subdomain=None,
10796        tags=None,
10797        username=None,
10798    ):
10799        self.auth_database = auth_database if auth_database is not None else ''
10800        '''
10801         The authentication database to use.
10802        '''
10803        self.bind_interface = bind_interface if bind_interface is not None else ''
10804        '''
10805         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10806        '''
10807        self.egress_filter = egress_filter if egress_filter is not None else ''
10808        '''
10809         A filter applied to the routing logic to pin datasource to nodes.
10810        '''
10811        self.healthy = healthy if healthy is not None else False
10812        '''
10813         True if the datasource is reachable and the credentials are valid.
10814        '''
10815        self.hostname = hostname if hostname is not None else ''
10816        '''
10817         The host to dial to initiate a connection from the egress node to this resource.
10818        '''
10819        self.id = id if id is not None else ''
10820        '''
10821         Unique identifier of the Resource.
10822        '''
10823        self.name = name if name is not None else ''
10824        '''
10825         Unique human-readable name of the Resource.
10826        '''
10827        self.password = password if password is not None else ''
10828        '''
10829         The password to authenticate with.
10830        '''
10831        self.port = port if port is not None else 0
10832        '''
10833         The port to dial to initiate a connection from the egress node to this resource.
10834        '''
10835        self.port_override = port_override if port_override is not None else 0
10836        '''
10837         The local port used by clients to connect to this resource.
10838        '''
10839        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10840        '''
10841         ID of the proxy cluster for this resource, if any.
10842        '''
10843        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10844        '''
10845         ID of the secret store containing credentials for this resource, if any.
10846        '''
10847        self.subdomain = subdomain if subdomain is not None else ''
10848        '''
10849         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10850        '''
10851        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10852        '''
10853         Tags is a map of key, value pairs.
10854        '''
10855        self.username = username if username is not None else ''
10856        '''
10857         The username to authenticate with.
10858        '''
10859
10860    def __repr__(self):
10861        return '<sdm.DocumentDBHost ' + \
10862            'auth_database: ' + repr(self.auth_database) + ' ' +\
10863            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10864            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10865            'healthy: ' + repr(self.healthy) + ' ' +\
10866            'hostname: ' + repr(self.hostname) + ' ' +\
10867            'id: ' + repr(self.id) + ' ' +\
10868            'name: ' + repr(self.name) + ' ' +\
10869            'password: ' + repr(self.password) + ' ' +\
10870            'port: ' + repr(self.port) + ' ' +\
10871            'port_override: ' + repr(self.port_override) + ' ' +\
10872            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10873            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10874            'subdomain: ' + repr(self.subdomain) + ' ' +\
10875            'tags: ' + repr(self.tags) + ' ' +\
10876            'username: ' + repr(self.username) + ' ' +\
10877            '>'
10878
10879    def to_dict(self):
10880        return {
10881            'auth_database': self.auth_database,
10882            'bind_interface': self.bind_interface,
10883            'egress_filter': self.egress_filter,
10884            'healthy': self.healthy,
10885            'hostname': self.hostname,
10886            'id': self.id,
10887            'name': self.name,
10888            'password': self.password,
10889            'port': self.port,
10890            'port_override': self.port_override,
10891            'proxy_cluster_id': self.proxy_cluster_id,
10892            'secret_store_id': self.secret_store_id,
10893            'subdomain': self.subdomain,
10894            'tags': self.tags,
10895            'username': self.username,
10896        }
10897
10898    @classmethod
10899    def from_dict(cls, d):
10900        return cls(
10901            auth_database=d.get('auth_database'),
10902            bind_interface=d.get('bind_interface'),
10903            egress_filter=d.get('egress_filter'),
10904            healthy=d.get('healthy'),
10905            hostname=d.get('hostname'),
10906            id=d.get('id'),
10907            name=d.get('name'),
10908            password=d.get('password'),
10909            port=d.get('port'),
10910            port_override=d.get('port_override'),
10911            proxy_cluster_id=d.get('proxy_cluster_id'),
10912            secret_store_id=d.get('secret_store_id'),
10913            subdomain=d.get('subdomain'),
10914            tags=d.get('tags'),
10915            username=d.get('username'),
10916        )
10917
10918
10919class DocumentDBHostIAM:
10920    __slots__ = [
10921        'bind_interface',
10922        'egress_filter',
10923        'healthy',
10924        'hostname',
10925        'id',
10926        'name',
10927        'port',
10928        'port_override',
10929        'proxy_cluster_id',
10930        'region',
10931        'secret_store_id',
10932        'subdomain',
10933        'tags',
10934    ]
10935
10936    def __init__(
10937        self,
10938        bind_interface=None,
10939        egress_filter=None,
10940        healthy=None,
10941        hostname=None,
10942        id=None,
10943        name=None,
10944        port=None,
10945        port_override=None,
10946        proxy_cluster_id=None,
10947        region=None,
10948        secret_store_id=None,
10949        subdomain=None,
10950        tags=None,
10951    ):
10952        self.bind_interface = bind_interface if bind_interface is not None else ''
10953        '''
10954         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10955        '''
10956        self.egress_filter = egress_filter if egress_filter is not None else ''
10957        '''
10958         A filter applied to the routing logic to pin datasource to nodes.
10959        '''
10960        self.healthy = healthy if healthy is not None else False
10961        '''
10962         True if the datasource is reachable and the credentials are valid.
10963        '''
10964        self.hostname = hostname if hostname is not None else ''
10965        '''
10966         The host to dial to initiate a connection from the egress node to this resource.
10967        '''
10968        self.id = id if id is not None else ''
10969        '''
10970         Unique identifier of the Resource.
10971        '''
10972        self.name = name if name is not None else ''
10973        '''
10974         Unique human-readable name of the Resource.
10975        '''
10976        self.port = port if port is not None else 0
10977        '''
10978         The port to dial to initiate a connection from the egress node to this resource.
10979        '''
10980        self.port_override = port_override if port_override is not None else 0
10981        '''
10982         The local port used by clients to connect to this resource.
10983        '''
10984        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10985        '''
10986         ID of the proxy cluster for this resource, if any.
10987        '''
10988        self.region = region if region is not None else ''
10989        '''
10990         The AWS region to connect to.
10991        '''
10992        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10993        '''
10994         ID of the secret store containing credentials for this resource, if any.
10995        '''
10996        self.subdomain = subdomain if subdomain is not None else ''
10997        '''
10998         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10999        '''
11000        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11001        '''
11002         Tags is a map of key, value pairs.
11003        '''
11004
11005    def __repr__(self):
11006        return '<sdm.DocumentDBHostIAM ' + \
11007            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11008            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11009            'healthy: ' + repr(self.healthy) + ' ' +\
11010            'hostname: ' + repr(self.hostname) + ' ' +\
11011            'id: ' + repr(self.id) + ' ' +\
11012            'name: ' + repr(self.name) + ' ' +\
11013            'port: ' + repr(self.port) + ' ' +\
11014            'port_override: ' + repr(self.port_override) + ' ' +\
11015            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11016            'region: ' + repr(self.region) + ' ' +\
11017            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11018            'subdomain: ' + repr(self.subdomain) + ' ' +\
11019            'tags: ' + repr(self.tags) + ' ' +\
11020            '>'
11021
11022    def to_dict(self):
11023        return {
11024            'bind_interface': self.bind_interface,
11025            'egress_filter': self.egress_filter,
11026            'healthy': self.healthy,
11027            'hostname': self.hostname,
11028            'id': self.id,
11029            'name': self.name,
11030            'port': self.port,
11031            'port_override': self.port_override,
11032            'proxy_cluster_id': self.proxy_cluster_id,
11033            'region': self.region,
11034            'secret_store_id': self.secret_store_id,
11035            'subdomain': self.subdomain,
11036            'tags': self.tags,
11037        }
11038
11039    @classmethod
11040    def from_dict(cls, d):
11041        return cls(
11042            bind_interface=d.get('bind_interface'),
11043            egress_filter=d.get('egress_filter'),
11044            healthy=d.get('healthy'),
11045            hostname=d.get('hostname'),
11046            id=d.get('id'),
11047            name=d.get('name'),
11048            port=d.get('port'),
11049            port_override=d.get('port_override'),
11050            proxy_cluster_id=d.get('proxy_cluster_id'),
11051            region=d.get('region'),
11052            secret_store_id=d.get('secret_store_id'),
11053            subdomain=d.get('subdomain'),
11054            tags=d.get('tags'),
11055        )
11056
11057
11058class DocumentDBReplicaSet:
11059    __slots__ = [
11060        'auth_database',
11061        'bind_interface',
11062        'connect_to_replica',
11063        'egress_filter',
11064        'healthy',
11065        'hostname',
11066        'id',
11067        'name',
11068        'password',
11069        'port_override',
11070        'proxy_cluster_id',
11071        'replica_set',
11072        'secret_store_id',
11073        'subdomain',
11074        'tags',
11075        'username',
11076    ]
11077
11078    def __init__(
11079        self,
11080        auth_database=None,
11081        bind_interface=None,
11082        connect_to_replica=None,
11083        egress_filter=None,
11084        healthy=None,
11085        hostname=None,
11086        id=None,
11087        name=None,
11088        password=None,
11089        port_override=None,
11090        proxy_cluster_id=None,
11091        replica_set=None,
11092        secret_store_id=None,
11093        subdomain=None,
11094        tags=None,
11095        username=None,
11096    ):
11097        self.auth_database = auth_database if auth_database is not None else ''
11098        '''
11099         The authentication database to use.
11100        '''
11101        self.bind_interface = bind_interface if bind_interface is not None else ''
11102        '''
11103         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11104        '''
11105        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11106        '''
11107         Set to connect to a replica instead of the primary node.
11108        '''
11109        self.egress_filter = egress_filter if egress_filter is not None else ''
11110        '''
11111         A filter applied to the routing logic to pin datasource to nodes.
11112        '''
11113        self.healthy = healthy if healthy is not None else False
11114        '''
11115         True if the datasource is reachable and the credentials are valid.
11116        '''
11117        self.hostname = hostname if hostname is not None else ''
11118        '''
11119         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11120        '''
11121        self.id = id if id is not None else ''
11122        '''
11123         Unique identifier of the Resource.
11124        '''
11125        self.name = name if name is not None else ''
11126        '''
11127         Unique human-readable name of the Resource.
11128        '''
11129        self.password = password if password is not None else ''
11130        '''
11131         The password to authenticate with.
11132        '''
11133        self.port_override = port_override if port_override is not None else 0
11134        '''
11135         The local port used by clients to connect to this resource.
11136        '''
11137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11138        '''
11139         ID of the proxy cluster for this resource, if any.
11140        '''
11141        self.replica_set = replica_set if replica_set is not None else ''
11142        '''
11143         The name of the mongo replicaset.
11144        '''
11145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11146        '''
11147         ID of the secret store containing credentials for this resource, if any.
11148        '''
11149        self.subdomain = subdomain if subdomain is not None else ''
11150        '''
11151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11152        '''
11153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11154        '''
11155         Tags is a map of key, value pairs.
11156        '''
11157        self.username = username if username is not None else ''
11158        '''
11159         The username to authenticate with.
11160        '''
11161
11162    def __repr__(self):
11163        return '<sdm.DocumentDBReplicaSet ' + \
11164            'auth_database: ' + repr(self.auth_database) + ' ' +\
11165            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11166            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11167            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11168            'healthy: ' + repr(self.healthy) + ' ' +\
11169            'hostname: ' + repr(self.hostname) + ' ' +\
11170            'id: ' + repr(self.id) + ' ' +\
11171            'name: ' + repr(self.name) + ' ' +\
11172            'password: ' + repr(self.password) + ' ' +\
11173            'port_override: ' + repr(self.port_override) + ' ' +\
11174            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11175            'replica_set: ' + repr(self.replica_set) + ' ' +\
11176            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11177            'subdomain: ' + repr(self.subdomain) + ' ' +\
11178            'tags: ' + repr(self.tags) + ' ' +\
11179            'username: ' + repr(self.username) + ' ' +\
11180            '>'
11181
11182    def to_dict(self):
11183        return {
11184            'auth_database': self.auth_database,
11185            'bind_interface': self.bind_interface,
11186            'connect_to_replica': self.connect_to_replica,
11187            'egress_filter': self.egress_filter,
11188            'healthy': self.healthy,
11189            'hostname': self.hostname,
11190            'id': self.id,
11191            'name': self.name,
11192            'password': self.password,
11193            'port_override': self.port_override,
11194            'proxy_cluster_id': self.proxy_cluster_id,
11195            'replica_set': self.replica_set,
11196            'secret_store_id': self.secret_store_id,
11197            'subdomain': self.subdomain,
11198            'tags': self.tags,
11199            'username': self.username,
11200        }
11201
11202    @classmethod
11203    def from_dict(cls, d):
11204        return cls(
11205            auth_database=d.get('auth_database'),
11206            bind_interface=d.get('bind_interface'),
11207            connect_to_replica=d.get('connect_to_replica'),
11208            egress_filter=d.get('egress_filter'),
11209            healthy=d.get('healthy'),
11210            hostname=d.get('hostname'),
11211            id=d.get('id'),
11212            name=d.get('name'),
11213            password=d.get('password'),
11214            port_override=d.get('port_override'),
11215            proxy_cluster_id=d.get('proxy_cluster_id'),
11216            replica_set=d.get('replica_set'),
11217            secret_store_id=d.get('secret_store_id'),
11218            subdomain=d.get('subdomain'),
11219            tags=d.get('tags'),
11220            username=d.get('username'),
11221        )
11222
11223
11224class DocumentDBReplicaSetIAM:
11225    '''
11226    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
11227    without a major version bump.
11228    '''
11229    __slots__ = [
11230        'bind_interface',
11231        'connect_to_replica',
11232        'egress_filter',
11233        'healthy',
11234        'hostname',
11235        'id',
11236        'name',
11237        'port_override',
11238        'proxy_cluster_id',
11239        'region',
11240        'secret_store_id',
11241        'subdomain',
11242        'tags',
11243    ]
11244
11245    def __init__(
11246        self,
11247        bind_interface=None,
11248        connect_to_replica=None,
11249        egress_filter=None,
11250        healthy=None,
11251        hostname=None,
11252        id=None,
11253        name=None,
11254        port_override=None,
11255        proxy_cluster_id=None,
11256        region=None,
11257        secret_store_id=None,
11258        subdomain=None,
11259        tags=None,
11260    ):
11261        self.bind_interface = bind_interface if bind_interface is not None else ''
11262        '''
11263         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11264        '''
11265        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11266        '''
11267         Set to connect to a replica instead of the primary node.
11268        '''
11269        self.egress_filter = egress_filter if egress_filter is not None else ''
11270        '''
11271         A filter applied to the routing logic to pin datasource to nodes.
11272        '''
11273        self.healthy = healthy if healthy is not None else False
11274        '''
11275         True if the datasource is reachable and the credentials are valid.
11276        '''
11277        self.hostname = hostname if hostname is not None else ''
11278        '''
11279         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11280        '''
11281        self.id = id if id is not None else ''
11282        '''
11283         Unique identifier of the Resource.
11284        '''
11285        self.name = name if name is not None else ''
11286        '''
11287         Unique human-readable name of the Resource.
11288        '''
11289        self.port_override = port_override if port_override is not None else 0
11290        '''
11291         The local port used by clients to connect to this resource.
11292        '''
11293        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11294        '''
11295         ID of the proxy cluster for this resource, if any.
11296        '''
11297        self.region = region if region is not None else ''
11298        '''
11299         The region of the document db cluster
11300        '''
11301        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11302        '''
11303         ID of the secret store containing credentials for this resource, if any.
11304        '''
11305        self.subdomain = subdomain if subdomain is not None else ''
11306        '''
11307         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11308        '''
11309        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11310        '''
11311         Tags is a map of key, value pairs.
11312        '''
11313
11314    def __repr__(self):
11315        return '<sdm.DocumentDBReplicaSetIAM ' + \
11316            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11317            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11318            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11319            'healthy: ' + repr(self.healthy) + ' ' +\
11320            'hostname: ' + repr(self.hostname) + ' ' +\
11321            'id: ' + repr(self.id) + ' ' +\
11322            'name: ' + repr(self.name) + ' ' +\
11323            'port_override: ' + repr(self.port_override) + ' ' +\
11324            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11325            'region: ' + repr(self.region) + ' ' +\
11326            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11327            'subdomain: ' + repr(self.subdomain) + ' ' +\
11328            'tags: ' + repr(self.tags) + ' ' +\
11329            '>'
11330
11331    def to_dict(self):
11332        return {
11333            'bind_interface': self.bind_interface,
11334            'connect_to_replica': self.connect_to_replica,
11335            'egress_filter': self.egress_filter,
11336            'healthy': self.healthy,
11337            'hostname': self.hostname,
11338            'id': self.id,
11339            'name': self.name,
11340            'port_override': self.port_override,
11341            'proxy_cluster_id': self.proxy_cluster_id,
11342            'region': self.region,
11343            'secret_store_id': self.secret_store_id,
11344            'subdomain': self.subdomain,
11345            'tags': self.tags,
11346        }
11347
11348    @classmethod
11349    def from_dict(cls, d):
11350        return cls(
11351            bind_interface=d.get('bind_interface'),
11352            connect_to_replica=d.get('connect_to_replica'),
11353            egress_filter=d.get('egress_filter'),
11354            healthy=d.get('healthy'),
11355            hostname=d.get('hostname'),
11356            id=d.get('id'),
11357            name=d.get('name'),
11358            port_override=d.get('port_override'),
11359            proxy_cluster_id=d.get('proxy_cluster_id'),
11360            region=d.get('region'),
11361            secret_store_id=d.get('secret_store_id'),
11362            subdomain=d.get('subdomain'),
11363            tags=d.get('tags'),
11364        )
11365
11366
11367class Druid:
11368    __slots__ = [
11369        'bind_interface',
11370        'egress_filter',
11371        'healthy',
11372        'hostname',
11373        'id',
11374        'name',
11375        'password',
11376        'port',
11377        'port_override',
11378        'proxy_cluster_id',
11379        'secret_store_id',
11380        'subdomain',
11381        'tags',
11382        'username',
11383    ]
11384
11385    def __init__(
11386        self,
11387        bind_interface=None,
11388        egress_filter=None,
11389        healthy=None,
11390        hostname=None,
11391        id=None,
11392        name=None,
11393        password=None,
11394        port=None,
11395        port_override=None,
11396        proxy_cluster_id=None,
11397        secret_store_id=None,
11398        subdomain=None,
11399        tags=None,
11400        username=None,
11401    ):
11402        self.bind_interface = bind_interface if bind_interface is not None else ''
11403        '''
11404         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11405        '''
11406        self.egress_filter = egress_filter if egress_filter is not None else ''
11407        '''
11408         A filter applied to the routing logic to pin datasource to nodes.
11409        '''
11410        self.healthy = healthy if healthy is not None else False
11411        '''
11412         True if the datasource is reachable and the credentials are valid.
11413        '''
11414        self.hostname = hostname if hostname is not None else ''
11415        '''
11416         The host to dial to initiate a connection from the egress node to this resource.
11417        '''
11418        self.id = id if id is not None else ''
11419        '''
11420         Unique identifier of the Resource.
11421        '''
11422        self.name = name if name is not None else ''
11423        '''
11424         Unique human-readable name of the Resource.
11425        '''
11426        self.password = password if password is not None else ''
11427        '''
11428         The password to authenticate with.
11429        '''
11430        self.port = port if port is not None else 0
11431        '''
11432         The port to dial to initiate a connection from the egress node to this resource.
11433        '''
11434        self.port_override = port_override if port_override is not None else 0
11435        '''
11436         The local port used by clients to connect to this resource.
11437        '''
11438        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11439        '''
11440         ID of the proxy cluster for this resource, if any.
11441        '''
11442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11443        '''
11444         ID of the secret store containing credentials for this resource, if any.
11445        '''
11446        self.subdomain = subdomain if subdomain is not None else ''
11447        '''
11448         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11449        '''
11450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11451        '''
11452         Tags is a map of key, value pairs.
11453        '''
11454        self.username = username if username is not None else ''
11455        '''
11456         The username to authenticate with.
11457        '''
11458
11459    def __repr__(self):
11460        return '<sdm.Druid ' + \
11461            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11462            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11463            'healthy: ' + repr(self.healthy) + ' ' +\
11464            'hostname: ' + repr(self.hostname) + ' ' +\
11465            'id: ' + repr(self.id) + ' ' +\
11466            'name: ' + repr(self.name) + ' ' +\
11467            'password: ' + repr(self.password) + ' ' +\
11468            'port: ' + repr(self.port) + ' ' +\
11469            'port_override: ' + repr(self.port_override) + ' ' +\
11470            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11471            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11472            'subdomain: ' + repr(self.subdomain) + ' ' +\
11473            'tags: ' + repr(self.tags) + ' ' +\
11474            'username: ' + repr(self.username) + ' ' +\
11475            '>'
11476
11477    def to_dict(self):
11478        return {
11479            'bind_interface': self.bind_interface,
11480            'egress_filter': self.egress_filter,
11481            'healthy': self.healthy,
11482            'hostname': self.hostname,
11483            'id': self.id,
11484            'name': self.name,
11485            'password': self.password,
11486            'port': self.port,
11487            'port_override': self.port_override,
11488            'proxy_cluster_id': self.proxy_cluster_id,
11489            'secret_store_id': self.secret_store_id,
11490            'subdomain': self.subdomain,
11491            'tags': self.tags,
11492            'username': self.username,
11493        }
11494
11495    @classmethod
11496    def from_dict(cls, d):
11497        return cls(
11498            bind_interface=d.get('bind_interface'),
11499            egress_filter=d.get('egress_filter'),
11500            healthy=d.get('healthy'),
11501            hostname=d.get('hostname'),
11502            id=d.get('id'),
11503            name=d.get('name'),
11504            password=d.get('password'),
11505            port=d.get('port'),
11506            port_override=d.get('port_override'),
11507            proxy_cluster_id=d.get('proxy_cluster_id'),
11508            secret_store_id=d.get('secret_store_id'),
11509            subdomain=d.get('subdomain'),
11510            tags=d.get('tags'),
11511            username=d.get('username'),
11512        )
11513
11514
11515class DynamoDB:
11516    __slots__ = [
11517        'access_key',
11518        'bind_interface',
11519        'egress_filter',
11520        'endpoint',
11521        'healthy',
11522        'id',
11523        'name',
11524        'port_override',
11525        'proxy_cluster_id',
11526        'region',
11527        'role_arn',
11528        'role_external_id',
11529        'secret_access_key',
11530        'secret_store_id',
11531        'subdomain',
11532        'tags',
11533    ]
11534
11535    def __init__(
11536        self,
11537        access_key=None,
11538        bind_interface=None,
11539        egress_filter=None,
11540        endpoint=None,
11541        healthy=None,
11542        id=None,
11543        name=None,
11544        port_override=None,
11545        proxy_cluster_id=None,
11546        region=None,
11547        role_arn=None,
11548        role_external_id=None,
11549        secret_access_key=None,
11550        secret_store_id=None,
11551        subdomain=None,
11552        tags=None,
11553    ):
11554        self.access_key = access_key if access_key is not None else ''
11555        '''
11556         The Access Key ID to use to authenticate.
11557        '''
11558        self.bind_interface = bind_interface if bind_interface is not None else ''
11559        '''
11560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11561        '''
11562        self.egress_filter = egress_filter if egress_filter is not None else ''
11563        '''
11564         A filter applied to the routing logic to pin datasource to nodes.
11565        '''
11566        self.endpoint = endpoint if endpoint is not None else ''
11567        '''
11568         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11569        '''
11570        self.healthy = healthy if healthy is not None else False
11571        '''
11572         True if the datasource is reachable and the credentials are valid.
11573        '''
11574        self.id = id if id is not None else ''
11575        '''
11576         Unique identifier of the Resource.
11577        '''
11578        self.name = name if name is not None else ''
11579        '''
11580         Unique human-readable name of the Resource.
11581        '''
11582        self.port_override = port_override if port_override is not None else 0
11583        '''
11584         The local port used by clients to connect to this resource.
11585        '''
11586        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11587        '''
11588         ID of the proxy cluster for this resource, if any.
11589        '''
11590        self.region = region if region is not None else ''
11591        '''
11592         The region to authenticate requests against e.g. us-east-1
11593        '''
11594        self.role_arn = role_arn if role_arn is not None else ''
11595        '''
11596         The role to assume after logging in.
11597        '''
11598        self.role_external_id = role_external_id if role_external_id is not None else ''
11599        '''
11600         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11601        '''
11602        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11603        '''
11604         The Secret Access Key to use to authenticate.
11605        '''
11606        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11607        '''
11608         ID of the secret store containing credentials for this resource, if any.
11609        '''
11610        self.subdomain = subdomain if subdomain is not None else ''
11611        '''
11612         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11613        '''
11614        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11615        '''
11616         Tags is a map of key, value pairs.
11617        '''
11618
11619    def __repr__(self):
11620        return '<sdm.DynamoDB ' + \
11621            'access_key: ' + repr(self.access_key) + ' ' +\
11622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11623            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11624            'endpoint: ' + repr(self.endpoint) + ' ' +\
11625            'healthy: ' + repr(self.healthy) + ' ' +\
11626            'id: ' + repr(self.id) + ' ' +\
11627            'name: ' + repr(self.name) + ' ' +\
11628            'port_override: ' + repr(self.port_override) + ' ' +\
11629            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11630            'region: ' + repr(self.region) + ' ' +\
11631            'role_arn: ' + repr(self.role_arn) + ' ' +\
11632            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11633            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
11634            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11635            'subdomain: ' + repr(self.subdomain) + ' ' +\
11636            'tags: ' + repr(self.tags) + ' ' +\
11637            '>'
11638
11639    def to_dict(self):
11640        return {
11641            'access_key': self.access_key,
11642            'bind_interface': self.bind_interface,
11643            'egress_filter': self.egress_filter,
11644            'endpoint': self.endpoint,
11645            'healthy': self.healthy,
11646            'id': self.id,
11647            'name': self.name,
11648            'port_override': self.port_override,
11649            'proxy_cluster_id': self.proxy_cluster_id,
11650            'region': self.region,
11651            'role_arn': self.role_arn,
11652            'role_external_id': self.role_external_id,
11653            'secret_access_key': self.secret_access_key,
11654            'secret_store_id': self.secret_store_id,
11655            'subdomain': self.subdomain,
11656            'tags': self.tags,
11657        }
11658
11659    @classmethod
11660    def from_dict(cls, d):
11661        return cls(
11662            access_key=d.get('access_key'),
11663            bind_interface=d.get('bind_interface'),
11664            egress_filter=d.get('egress_filter'),
11665            endpoint=d.get('endpoint'),
11666            healthy=d.get('healthy'),
11667            id=d.get('id'),
11668            name=d.get('name'),
11669            port_override=d.get('port_override'),
11670            proxy_cluster_id=d.get('proxy_cluster_id'),
11671            region=d.get('region'),
11672            role_arn=d.get('role_arn'),
11673            role_external_id=d.get('role_external_id'),
11674            secret_access_key=d.get('secret_access_key'),
11675            secret_store_id=d.get('secret_store_id'),
11676            subdomain=d.get('subdomain'),
11677            tags=d.get('tags'),
11678        )
11679
11680
11681class DynamoDBIAM:
11682    __slots__ = [
11683        'bind_interface',
11684        'egress_filter',
11685        'endpoint',
11686        'healthy',
11687        'id',
11688        'name',
11689        'port_override',
11690        'proxy_cluster_id',
11691        'region',
11692        'role_arn',
11693        'role_external_id',
11694        'secret_store_id',
11695        'subdomain',
11696        'tags',
11697    ]
11698
11699    def __init__(
11700        self,
11701        bind_interface=None,
11702        egress_filter=None,
11703        endpoint=None,
11704        healthy=None,
11705        id=None,
11706        name=None,
11707        port_override=None,
11708        proxy_cluster_id=None,
11709        region=None,
11710        role_arn=None,
11711        role_external_id=None,
11712        secret_store_id=None,
11713        subdomain=None,
11714        tags=None,
11715    ):
11716        self.bind_interface = bind_interface if bind_interface is not None else ''
11717        '''
11718         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11719        '''
11720        self.egress_filter = egress_filter if egress_filter is not None else ''
11721        '''
11722         A filter applied to the routing logic to pin datasource to nodes.
11723        '''
11724        self.endpoint = endpoint if endpoint is not None else ''
11725        '''
11726         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11727        '''
11728        self.healthy = healthy if healthy is not None else False
11729        '''
11730         True if the datasource is reachable and the credentials are valid.
11731        '''
11732        self.id = id if id is not None else ''
11733        '''
11734         Unique identifier of the Resource.
11735        '''
11736        self.name = name if name is not None else ''
11737        '''
11738         Unique human-readable name of the Resource.
11739        '''
11740        self.port_override = port_override if port_override is not None else 0
11741        '''
11742         The local port used by clients to connect to this resource.
11743        '''
11744        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11745        '''
11746         ID of the proxy cluster for this resource, if any.
11747        '''
11748        self.region = region if region is not None else ''
11749        '''
11750         The region to authenticate requests against e.g. us-east-1
11751        '''
11752        self.role_arn = role_arn if role_arn is not None else ''
11753        '''
11754         The role to assume after logging in.
11755        '''
11756        self.role_external_id = role_external_id if role_external_id is not None else ''
11757        '''
11758         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11759        '''
11760        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11761        '''
11762         ID of the secret store containing credentials for this resource, if any.
11763        '''
11764        self.subdomain = subdomain if subdomain is not None else ''
11765        '''
11766         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11767        '''
11768        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11769        '''
11770         Tags is a map of key, value pairs.
11771        '''
11772
11773    def __repr__(self):
11774        return '<sdm.DynamoDBIAM ' + \
11775            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11776            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11777            'endpoint: ' + repr(self.endpoint) + ' ' +\
11778            'healthy: ' + repr(self.healthy) + ' ' +\
11779            'id: ' + repr(self.id) + ' ' +\
11780            'name: ' + repr(self.name) + ' ' +\
11781            'port_override: ' + repr(self.port_override) + ' ' +\
11782            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11783            'region: ' + repr(self.region) + ' ' +\
11784            'role_arn: ' + repr(self.role_arn) + ' ' +\
11785            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11786            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11787            'subdomain: ' + repr(self.subdomain) + ' ' +\
11788            'tags: ' + repr(self.tags) + ' ' +\
11789            '>'
11790
11791    def to_dict(self):
11792        return {
11793            'bind_interface': self.bind_interface,
11794            'egress_filter': self.egress_filter,
11795            'endpoint': self.endpoint,
11796            'healthy': self.healthy,
11797            'id': self.id,
11798            'name': self.name,
11799            'port_override': self.port_override,
11800            'proxy_cluster_id': self.proxy_cluster_id,
11801            'region': self.region,
11802            'role_arn': self.role_arn,
11803            'role_external_id': self.role_external_id,
11804            'secret_store_id': self.secret_store_id,
11805            'subdomain': self.subdomain,
11806            'tags': self.tags,
11807        }
11808
11809    @classmethod
11810    def from_dict(cls, d):
11811        return cls(
11812            bind_interface=d.get('bind_interface'),
11813            egress_filter=d.get('egress_filter'),
11814            endpoint=d.get('endpoint'),
11815            healthy=d.get('healthy'),
11816            id=d.get('id'),
11817            name=d.get('name'),
11818            port_override=d.get('port_override'),
11819            proxy_cluster_id=d.get('proxy_cluster_id'),
11820            region=d.get('region'),
11821            role_arn=d.get('role_arn'),
11822            role_external_id=d.get('role_external_id'),
11823            secret_store_id=d.get('secret_store_id'),
11824            subdomain=d.get('subdomain'),
11825            tags=d.get('tags'),
11826        )
11827
11828
11829class Elastic:
11830    __slots__ = [
11831        'bind_interface',
11832        'egress_filter',
11833        'healthy',
11834        'hostname',
11835        'id',
11836        'name',
11837        'password',
11838        'port',
11839        'port_override',
11840        'proxy_cluster_id',
11841        'secret_store_id',
11842        'subdomain',
11843        'tags',
11844        'tls_required',
11845        'username',
11846    ]
11847
11848    def __init__(
11849        self,
11850        bind_interface=None,
11851        egress_filter=None,
11852        healthy=None,
11853        hostname=None,
11854        id=None,
11855        name=None,
11856        password=None,
11857        port=None,
11858        port_override=None,
11859        proxy_cluster_id=None,
11860        secret_store_id=None,
11861        subdomain=None,
11862        tags=None,
11863        tls_required=None,
11864        username=None,
11865    ):
11866        self.bind_interface = bind_interface if bind_interface is not None else ''
11867        '''
11868         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11869        '''
11870        self.egress_filter = egress_filter if egress_filter is not None else ''
11871        '''
11872         A filter applied to the routing logic to pin datasource to nodes.
11873        '''
11874        self.healthy = healthy if healthy is not None else False
11875        '''
11876         True if the datasource is reachable and the credentials are valid.
11877        '''
11878        self.hostname = hostname if hostname is not None else ''
11879        '''
11880         The host to dial to initiate a connection from the egress node to this resource.
11881        '''
11882        self.id = id if id is not None else ''
11883        '''
11884         Unique identifier of the Resource.
11885        '''
11886        self.name = name if name is not None else ''
11887        '''
11888         Unique human-readable name of the Resource.
11889        '''
11890        self.password = password if password is not None else ''
11891        '''
11892         The password to authenticate with.
11893        '''
11894        self.port = port if port is not None else 0
11895        '''
11896         The port to dial to initiate a connection from the egress node to this resource.
11897        '''
11898        self.port_override = port_override if port_override is not None else 0
11899        '''
11900         The local port used by clients to connect to this resource.
11901        '''
11902        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11903        '''
11904         ID of the proxy cluster for this resource, if any.
11905        '''
11906        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11907        '''
11908         ID of the secret store containing credentials for this resource, if any.
11909        '''
11910        self.subdomain = subdomain if subdomain is not None else ''
11911        '''
11912         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11913        '''
11914        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11915        '''
11916         Tags is a map of key, value pairs.
11917        '''
11918        self.tls_required = tls_required if tls_required is not None else False
11919        '''
11920         If set, TLS must be used to connect to this resource.
11921        '''
11922        self.username = username if username is not None else ''
11923        '''
11924         The username to authenticate with.
11925        '''
11926
11927    def __repr__(self):
11928        return '<sdm.Elastic ' + \
11929            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11930            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11931            'healthy: ' + repr(self.healthy) + ' ' +\
11932            'hostname: ' + repr(self.hostname) + ' ' +\
11933            'id: ' + repr(self.id) + ' ' +\
11934            'name: ' + repr(self.name) + ' ' +\
11935            'password: ' + repr(self.password) + ' ' +\
11936            'port: ' + repr(self.port) + ' ' +\
11937            'port_override: ' + repr(self.port_override) + ' ' +\
11938            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11939            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11940            'subdomain: ' + repr(self.subdomain) + ' ' +\
11941            'tags: ' + repr(self.tags) + ' ' +\
11942            'tls_required: ' + repr(self.tls_required) + ' ' +\
11943            'username: ' + repr(self.username) + ' ' +\
11944            '>'
11945
11946    def to_dict(self):
11947        return {
11948            'bind_interface': self.bind_interface,
11949            'egress_filter': self.egress_filter,
11950            'healthy': self.healthy,
11951            'hostname': self.hostname,
11952            'id': self.id,
11953            'name': self.name,
11954            'password': self.password,
11955            'port': self.port,
11956            'port_override': self.port_override,
11957            'proxy_cluster_id': self.proxy_cluster_id,
11958            'secret_store_id': self.secret_store_id,
11959            'subdomain': self.subdomain,
11960            'tags': self.tags,
11961            'tls_required': self.tls_required,
11962            'username': self.username,
11963        }
11964
11965    @classmethod
11966    def from_dict(cls, d):
11967        return cls(
11968            bind_interface=d.get('bind_interface'),
11969            egress_filter=d.get('egress_filter'),
11970            healthy=d.get('healthy'),
11971            hostname=d.get('hostname'),
11972            id=d.get('id'),
11973            name=d.get('name'),
11974            password=d.get('password'),
11975            port=d.get('port'),
11976            port_override=d.get('port_override'),
11977            proxy_cluster_id=d.get('proxy_cluster_id'),
11978            secret_store_id=d.get('secret_store_id'),
11979            subdomain=d.get('subdomain'),
11980            tags=d.get('tags'),
11981            tls_required=d.get('tls_required'),
11982            username=d.get('username'),
11983        )
11984
11985
11986class ElasticacheRedis:
11987    __slots__ = [
11988        'bind_interface',
11989        'egress_filter',
11990        'healthy',
11991        'hostname',
11992        'id',
11993        'name',
11994        'password',
11995        'port',
11996        'port_override',
11997        'proxy_cluster_id',
11998        'secret_store_id',
11999        'subdomain',
12000        'tags',
12001        'tls_required',
12002        'username',
12003    ]
12004
12005    def __init__(
12006        self,
12007        bind_interface=None,
12008        egress_filter=None,
12009        healthy=None,
12010        hostname=None,
12011        id=None,
12012        name=None,
12013        password=None,
12014        port=None,
12015        port_override=None,
12016        proxy_cluster_id=None,
12017        secret_store_id=None,
12018        subdomain=None,
12019        tags=None,
12020        tls_required=None,
12021        username=None,
12022    ):
12023        self.bind_interface = bind_interface if bind_interface is not None else ''
12024        '''
12025         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12026        '''
12027        self.egress_filter = egress_filter if egress_filter is not None else ''
12028        '''
12029         A filter applied to the routing logic to pin datasource to nodes.
12030        '''
12031        self.healthy = healthy if healthy is not None else False
12032        '''
12033         True if the datasource is reachable and the credentials are valid.
12034        '''
12035        self.hostname = hostname if hostname is not None else ''
12036        '''
12037         The host to dial to initiate a connection from the egress node to this resource.
12038        '''
12039        self.id = id if id is not None else ''
12040        '''
12041         Unique identifier of the Resource.
12042        '''
12043        self.name = name if name is not None else ''
12044        '''
12045         Unique human-readable name of the Resource.
12046        '''
12047        self.password = password if password is not None else ''
12048        '''
12049         The password to authenticate with.
12050        '''
12051        self.port = port if port is not None else 0
12052        '''
12053         The port to dial to initiate a connection from the egress node to this resource.
12054        '''
12055        self.port_override = port_override if port_override is not None else 0
12056        '''
12057         The local port used by clients to connect to this resource.
12058        '''
12059        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12060        '''
12061         ID of the proxy cluster for this resource, if any.
12062        '''
12063        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12064        '''
12065         ID of the secret store containing credentials for this resource, if any.
12066        '''
12067        self.subdomain = subdomain if subdomain is not None else ''
12068        '''
12069         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12070        '''
12071        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12072        '''
12073         Tags is a map of key, value pairs.
12074        '''
12075        self.tls_required = tls_required if tls_required is not None else False
12076        '''
12077         If set, TLS must be used to connect to this resource.
12078        '''
12079        self.username = username if username is not None else ''
12080        '''
12081         The username to authenticate with.
12082        '''
12083
12084    def __repr__(self):
12085        return '<sdm.ElasticacheRedis ' + \
12086            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12087            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12088            'healthy: ' + repr(self.healthy) + ' ' +\
12089            'hostname: ' + repr(self.hostname) + ' ' +\
12090            'id: ' + repr(self.id) + ' ' +\
12091            'name: ' + repr(self.name) + ' ' +\
12092            'password: ' + repr(self.password) + ' ' +\
12093            'port: ' + repr(self.port) + ' ' +\
12094            'port_override: ' + repr(self.port_override) + ' ' +\
12095            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12096            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12097            'subdomain: ' + repr(self.subdomain) + ' ' +\
12098            'tags: ' + repr(self.tags) + ' ' +\
12099            'tls_required: ' + repr(self.tls_required) + ' ' +\
12100            'username: ' + repr(self.username) + ' ' +\
12101            '>'
12102
12103    def to_dict(self):
12104        return {
12105            'bind_interface': self.bind_interface,
12106            'egress_filter': self.egress_filter,
12107            'healthy': self.healthy,
12108            'hostname': self.hostname,
12109            'id': self.id,
12110            'name': self.name,
12111            'password': self.password,
12112            'port': self.port,
12113            'port_override': self.port_override,
12114            'proxy_cluster_id': self.proxy_cluster_id,
12115            'secret_store_id': self.secret_store_id,
12116            'subdomain': self.subdomain,
12117            'tags': self.tags,
12118            'tls_required': self.tls_required,
12119            'username': self.username,
12120        }
12121
12122    @classmethod
12123    def from_dict(cls, d):
12124        return cls(
12125            bind_interface=d.get('bind_interface'),
12126            egress_filter=d.get('egress_filter'),
12127            healthy=d.get('healthy'),
12128            hostname=d.get('hostname'),
12129            id=d.get('id'),
12130            name=d.get('name'),
12131            password=d.get('password'),
12132            port=d.get('port'),
12133            port_override=d.get('port_override'),
12134            proxy_cluster_id=d.get('proxy_cluster_id'),
12135            secret_store_id=d.get('secret_store_id'),
12136            subdomain=d.get('subdomain'),
12137            tags=d.get('tags'),
12138            tls_required=d.get('tls_required'),
12139            username=d.get('username'),
12140        )
12141
12142
12143class GCP:
12144    __slots__ = [
12145        'bind_interface',
12146        'egress_filter',
12147        'healthy',
12148        'id',
12149        'keyfile',
12150        'name',
12151        'port_override',
12152        'proxy_cluster_id',
12153        'scopes',
12154        'secret_store_id',
12155        'subdomain',
12156        'tags',
12157    ]
12158
12159    def __init__(
12160        self,
12161        bind_interface=None,
12162        egress_filter=None,
12163        healthy=None,
12164        id=None,
12165        keyfile=None,
12166        name=None,
12167        port_override=None,
12168        proxy_cluster_id=None,
12169        scopes=None,
12170        secret_store_id=None,
12171        subdomain=None,
12172        tags=None,
12173    ):
12174        self.bind_interface = bind_interface if bind_interface is not None else ''
12175        '''
12176         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12177        '''
12178        self.egress_filter = egress_filter if egress_filter is not None else ''
12179        '''
12180         A filter applied to the routing logic to pin datasource to nodes.
12181        '''
12182        self.healthy = healthy if healthy is not None else False
12183        '''
12184         True if the datasource is reachable and the credentials are valid.
12185        '''
12186        self.id = id if id is not None else ''
12187        '''
12188         Unique identifier of the Resource.
12189        '''
12190        self.keyfile = keyfile if keyfile is not None else ''
12191        '''
12192         The service account keyfile to authenticate with.
12193        '''
12194        self.name = name if name is not None else ''
12195        '''
12196         Unique human-readable name of the Resource.
12197        '''
12198        self.port_override = port_override if port_override is not None else 0
12199        '''
12200         The local port used by clients to connect to this resource.
12201        '''
12202        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12203        '''
12204         ID of the proxy cluster for this resource, if any.
12205        '''
12206        self.scopes = scopes if scopes is not None else ''
12207        '''
12208         Space separated scopes that this login should assume into when authenticating.
12209        '''
12210        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12211        '''
12212         ID of the secret store containing credentials for this resource, if any.
12213        '''
12214        self.subdomain = subdomain if subdomain is not None else ''
12215        '''
12216         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12217        '''
12218        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12219        '''
12220         Tags is a map of key, value pairs.
12221        '''
12222
12223    def __repr__(self):
12224        return '<sdm.GCP ' + \
12225            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12226            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12227            'healthy: ' + repr(self.healthy) + ' ' +\
12228            'id: ' + repr(self.id) + ' ' +\
12229            'keyfile: ' + repr(self.keyfile) + ' ' +\
12230            'name: ' + repr(self.name) + ' ' +\
12231            'port_override: ' + repr(self.port_override) + ' ' +\
12232            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12233            'scopes: ' + repr(self.scopes) + ' ' +\
12234            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12235            'subdomain: ' + repr(self.subdomain) + ' ' +\
12236            'tags: ' + repr(self.tags) + ' ' +\
12237            '>'
12238
12239    def to_dict(self):
12240        return {
12241            'bind_interface': self.bind_interface,
12242            'egress_filter': self.egress_filter,
12243            'healthy': self.healthy,
12244            'id': self.id,
12245            'keyfile': self.keyfile,
12246            'name': self.name,
12247            'port_override': self.port_override,
12248            'proxy_cluster_id': self.proxy_cluster_id,
12249            'scopes': self.scopes,
12250            'secret_store_id': self.secret_store_id,
12251            'subdomain': self.subdomain,
12252            'tags': self.tags,
12253        }
12254
12255    @classmethod
12256    def from_dict(cls, d):
12257        return cls(
12258            bind_interface=d.get('bind_interface'),
12259            egress_filter=d.get('egress_filter'),
12260            healthy=d.get('healthy'),
12261            id=d.get('id'),
12262            keyfile=d.get('keyfile'),
12263            name=d.get('name'),
12264            port_override=d.get('port_override'),
12265            proxy_cluster_id=d.get('proxy_cluster_id'),
12266            scopes=d.get('scopes'),
12267            secret_store_id=d.get('secret_store_id'),
12268            subdomain=d.get('subdomain'),
12269            tags=d.get('tags'),
12270        )
12271
12272
12273class GCPCertX509Store:
12274    __slots__ = [
12275        'caid',
12276        'capoolid',
12277        'id',
12278        'issuedcertttlminutes',
12279        'location',
12280        'name',
12281        'projectid',
12282        'tags',
12283    ]
12284
12285    def __init__(
12286        self,
12287        caid=None,
12288        capoolid=None,
12289        id=None,
12290        issuedcertttlminutes=None,
12291        location=None,
12292        name=None,
12293        projectid=None,
12294        tags=None,
12295    ):
12296        self.caid = caid if caid is not None else ''
12297        '''
12298         The ID of the target CA
12299        '''
12300        self.capoolid = capoolid if capoolid is not None else ''
12301        '''
12302         The ID of the target CA pool
12303        '''
12304        self.id = id if id is not None else ''
12305        '''
12306         Unique identifier of the SecretStore.
12307        '''
12308        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12309        '''
12310         The lifetime of certificates issued by this CA represented in minutes.
12311        '''
12312        self.location = location if location is not None else ''
12313        '''
12314         The Region for the CA in GCP format e.g. us-west1
12315        '''
12316        self.name = name if name is not None else ''
12317        '''
12318         Unique human-readable name of the SecretStore.
12319        '''
12320        self.projectid = projectid if projectid is not None else ''
12321        '''
12322         The GCP project ID to target.
12323        '''
12324        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12325        '''
12326         Tags is a map of key, value pairs.
12327        '''
12328
12329    def __repr__(self):
12330        return '<sdm.GCPCertX509Store ' + \
12331            'caid: ' + repr(self.caid) + ' ' +\
12332            'capoolid: ' + repr(self.capoolid) + ' ' +\
12333            'id: ' + repr(self.id) + ' ' +\
12334            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
12335            'location: ' + repr(self.location) + ' ' +\
12336            'name: ' + repr(self.name) + ' ' +\
12337            'projectid: ' + repr(self.projectid) + ' ' +\
12338            'tags: ' + repr(self.tags) + ' ' +\
12339            '>'
12340
12341    def to_dict(self):
12342        return {
12343            'caid': self.caid,
12344            'capoolid': self.capoolid,
12345            'id': self.id,
12346            'issuedcertttlminutes': self.issuedcertttlminutes,
12347            'location': self.location,
12348            'name': self.name,
12349            'projectid': self.projectid,
12350            'tags': self.tags,
12351        }
12352
12353    @classmethod
12354    def from_dict(cls, d):
12355        return cls(
12356            caid=d.get('caid'),
12357            capoolid=d.get('capoolid'),
12358            id=d.get('id'),
12359            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12360            location=d.get('location'),
12361            name=d.get('name'),
12362            projectid=d.get('projectid'),
12363            tags=d.get('tags'),
12364        )
12365
12366
12367class GCPConsole:
12368    __slots__ = [
12369        'bind_interface',
12370        'egress_filter',
12371        'healthy',
12372        'id',
12373        'identity_alias_healthcheck_username',
12374        'identity_set_id',
12375        'name',
12376        'port_override',
12377        'proxy_cluster_id',
12378        'secret_store_id',
12379        'session_expiry',
12380        'subdomain',
12381        'tags',
12382        'workforce_pool_id',
12383        'workforce_provider_id',
12384    ]
12385
12386    def __init__(
12387        self,
12388        bind_interface=None,
12389        egress_filter=None,
12390        healthy=None,
12391        id=None,
12392        identity_alias_healthcheck_username=None,
12393        identity_set_id=None,
12394        name=None,
12395        port_override=None,
12396        proxy_cluster_id=None,
12397        secret_store_id=None,
12398        session_expiry=None,
12399        subdomain=None,
12400        tags=None,
12401        workforce_pool_id=None,
12402        workforce_provider_id=None,
12403    ):
12404        self.bind_interface = bind_interface if bind_interface is not None else ''
12405        '''
12406         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12407        '''
12408        self.egress_filter = egress_filter if egress_filter is not None else ''
12409        '''
12410         A filter applied to the routing logic to pin datasource to nodes.
12411        '''
12412        self.healthy = healthy if healthy is not None else False
12413        '''
12414         True if the datasource is reachable and the credentials are valid.
12415        '''
12416        self.id = id if id is not None else ''
12417        '''
12418         Unique identifier of the Resource.
12419        '''
12420        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12421        '''
12422         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12423        '''
12424        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12425        '''
12426         The ID of the identity set to use for identity connections.
12427        '''
12428        self.name = name if name is not None else ''
12429        '''
12430         Unique human-readable name of the Resource.
12431        '''
12432        self.port_override = port_override if port_override is not None else 0
12433        '''
12434         The local port used by clients to connect to this resource.
12435        '''
12436        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12437        '''
12438         ID of the proxy cluster for this resource, if any.
12439        '''
12440        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12441        '''
12442         ID of the secret store containing credentials for this resource, if any.
12443        '''
12444        self.session_expiry = session_expiry if session_expiry is not None else 0
12445        '''
12446         The length of time in seconds console sessions will live before needing to reauthenticate.
12447        '''
12448        self.subdomain = subdomain if subdomain is not None else ''
12449        '''
12450         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12451        '''
12452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12453        '''
12454         Tags is a map of key, value pairs.
12455        '''
12456        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12457        '''
12458         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12459        '''
12460        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12461        '''
12462         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12463        '''
12464
12465    def __repr__(self):
12466        return '<sdm.GCPConsole ' + \
12467            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12468            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12469            'healthy: ' + repr(self.healthy) + ' ' +\
12470            'id: ' + repr(self.id) + ' ' +\
12471            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12472            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12473            'name: ' + repr(self.name) + ' ' +\
12474            'port_override: ' + repr(self.port_override) + ' ' +\
12475            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12476            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12477            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12478            'subdomain: ' + repr(self.subdomain) + ' ' +\
12479            'tags: ' + repr(self.tags) + ' ' +\
12480            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12481            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12482            '>'
12483
12484    def to_dict(self):
12485        return {
12486            'bind_interface': self.bind_interface,
12487            'egress_filter': self.egress_filter,
12488            'healthy': self.healthy,
12489            'id': self.id,
12490            'identity_alias_healthcheck_username':
12491            self.identity_alias_healthcheck_username,
12492            'identity_set_id': self.identity_set_id,
12493            'name': self.name,
12494            'port_override': self.port_override,
12495            'proxy_cluster_id': self.proxy_cluster_id,
12496            'secret_store_id': self.secret_store_id,
12497            'session_expiry': self.session_expiry,
12498            'subdomain': self.subdomain,
12499            'tags': self.tags,
12500            'workforce_pool_id': self.workforce_pool_id,
12501            'workforce_provider_id': self.workforce_provider_id,
12502        }
12503
12504    @classmethod
12505    def from_dict(cls, d):
12506        return cls(
12507            bind_interface=d.get('bind_interface'),
12508            egress_filter=d.get('egress_filter'),
12509            healthy=d.get('healthy'),
12510            id=d.get('id'),
12511            identity_alias_healthcheck_username=d.get(
12512                'identity_alias_healthcheck_username'),
12513            identity_set_id=d.get('identity_set_id'),
12514            name=d.get('name'),
12515            port_override=d.get('port_override'),
12516            proxy_cluster_id=d.get('proxy_cluster_id'),
12517            secret_store_id=d.get('secret_store_id'),
12518            session_expiry=d.get('session_expiry'),
12519            subdomain=d.get('subdomain'),
12520            tags=d.get('tags'),
12521            workforce_pool_id=d.get('workforce_pool_id'),
12522            workforce_provider_id=d.get('workforce_provider_id'),
12523        )
12524
12525
12526class GCPStore:
12527    __slots__ = [
12528        'id',
12529        'name',
12530        'projectid',
12531        'tags',
12532    ]
12533
12534    def __init__(
12535        self,
12536        id=None,
12537        name=None,
12538        projectid=None,
12539        tags=None,
12540    ):
12541        self.id = id if id is not None else ''
12542        '''
12543         Unique identifier of the SecretStore.
12544        '''
12545        self.name = name if name is not None else ''
12546        '''
12547         Unique human-readable name of the SecretStore.
12548        '''
12549        self.projectid = projectid if projectid is not None else ''
12550        '''
12551         The GCP project ID to target.
12552        '''
12553        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12554        '''
12555         Tags is a map of key, value pairs.
12556        '''
12557
12558    def __repr__(self):
12559        return '<sdm.GCPStore ' + \
12560            'id: ' + repr(self.id) + ' ' +\
12561            'name: ' + repr(self.name) + ' ' +\
12562            'projectid: ' + repr(self.projectid) + ' ' +\
12563            'tags: ' + repr(self.tags) + ' ' +\
12564            '>'
12565
12566    def to_dict(self):
12567        return {
12568            'id': self.id,
12569            'name': self.name,
12570            'projectid': self.projectid,
12571            'tags': self.tags,
12572        }
12573
12574    @classmethod
12575    def from_dict(cls, d):
12576        return cls(
12577            id=d.get('id'),
12578            name=d.get('name'),
12579            projectid=d.get('projectid'),
12580            tags=d.get('tags'),
12581        )
12582
12583
12584class GCPWIF:
12585    __slots__ = [
12586        'bind_interface',
12587        'egress_filter',
12588        'healthy',
12589        'id',
12590        'identity_alias_healthcheck_username',
12591        'identity_set_id',
12592        'name',
12593        'port_override',
12594        'project_id',
12595        'proxy_cluster_id',
12596        'scopes',
12597        'secret_store_id',
12598        'session_expiry',
12599        'subdomain',
12600        'tags',
12601        'workforce_pool_id',
12602        'workforce_provider_id',
12603    ]
12604
12605    def __init__(
12606        self,
12607        bind_interface=None,
12608        egress_filter=None,
12609        healthy=None,
12610        id=None,
12611        identity_alias_healthcheck_username=None,
12612        identity_set_id=None,
12613        name=None,
12614        port_override=None,
12615        project_id=None,
12616        proxy_cluster_id=None,
12617        scopes=None,
12618        secret_store_id=None,
12619        session_expiry=None,
12620        subdomain=None,
12621        tags=None,
12622        workforce_pool_id=None,
12623        workforce_provider_id=None,
12624    ):
12625        self.bind_interface = bind_interface if bind_interface is not None else ''
12626        '''
12627         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12628        '''
12629        self.egress_filter = egress_filter if egress_filter is not None else ''
12630        '''
12631         A filter applied to the routing logic to pin datasource to nodes.
12632        '''
12633        self.healthy = healthy if healthy is not None else False
12634        '''
12635         True if the datasource is reachable and the credentials are valid.
12636        '''
12637        self.id = id if id is not None else ''
12638        '''
12639         Unique identifier of the Resource.
12640        '''
12641        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12642        '''
12643         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12644        '''
12645        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12646        '''
12647         The ID of the identity set to use for identity connections.
12648        '''
12649        self.name = name if name is not None else ''
12650        '''
12651         Unique human-readable name of the Resource.
12652        '''
12653        self.port_override = port_override if port_override is not None else 0
12654        '''
12655         The local port used by clients to connect to this resource.
12656        '''
12657        self.project_id = project_id if project_id is not None else ''
12658        '''
12659         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12660        '''
12661        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12662        '''
12663         ID of the proxy cluster for this resource, if any.
12664        '''
12665        self.scopes = scopes if scopes is not None else ''
12666        '''
12667         Space separated scopes that this login should assume into when authenticating.
12668        '''
12669        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12670        '''
12671         ID of the secret store containing credentials for this resource, if any.
12672        '''
12673        self.session_expiry = session_expiry if session_expiry is not None else 0
12674        '''
12675         The length of time in seconds console sessions will live before needing to reauthenticate.
12676        '''
12677        self.subdomain = subdomain if subdomain is not None else ''
12678        '''
12679         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12680        '''
12681        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12682        '''
12683         Tags is a map of key, value pairs.
12684        '''
12685        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12686        '''
12687         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12688        '''
12689        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12690        '''
12691         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12692        '''
12693
12694    def __repr__(self):
12695        return '<sdm.GCPWIF ' + \
12696            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12697            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12698            'healthy: ' + repr(self.healthy) + ' ' +\
12699            'id: ' + repr(self.id) + ' ' +\
12700            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12701            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12702            'name: ' + repr(self.name) + ' ' +\
12703            'port_override: ' + repr(self.port_override) + ' ' +\
12704            'project_id: ' + repr(self.project_id) + ' ' +\
12705            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12706            'scopes: ' + repr(self.scopes) + ' ' +\
12707            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12708            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12709            'subdomain: ' + repr(self.subdomain) + ' ' +\
12710            'tags: ' + repr(self.tags) + ' ' +\
12711            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12712            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12713            '>'
12714
12715    def to_dict(self):
12716        return {
12717            'bind_interface': self.bind_interface,
12718            'egress_filter': self.egress_filter,
12719            'healthy': self.healthy,
12720            'id': self.id,
12721            'identity_alias_healthcheck_username':
12722            self.identity_alias_healthcheck_username,
12723            'identity_set_id': self.identity_set_id,
12724            'name': self.name,
12725            'port_override': self.port_override,
12726            'project_id': self.project_id,
12727            'proxy_cluster_id': self.proxy_cluster_id,
12728            'scopes': self.scopes,
12729            'secret_store_id': self.secret_store_id,
12730            'session_expiry': self.session_expiry,
12731            'subdomain': self.subdomain,
12732            'tags': self.tags,
12733            'workforce_pool_id': self.workforce_pool_id,
12734            'workforce_provider_id': self.workforce_provider_id,
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            id=d.get('id'),
12744            identity_alias_healthcheck_username=d.get(
12745                'identity_alias_healthcheck_username'),
12746            identity_set_id=d.get('identity_set_id'),
12747            name=d.get('name'),
12748            port_override=d.get('port_override'),
12749            project_id=d.get('project_id'),
12750            proxy_cluster_id=d.get('proxy_cluster_id'),
12751            scopes=d.get('scopes'),
12752            secret_store_id=d.get('secret_store_id'),
12753            session_expiry=d.get('session_expiry'),
12754            subdomain=d.get('subdomain'),
12755            tags=d.get('tags'),
12756            workforce_pool_id=d.get('workforce_pool_id'),
12757            workforce_provider_id=d.get('workforce_provider_id'),
12758        )
12759
12760
12761class Gateway:
12762    '''
12763         Gateway represents a StrongDM CLI installation running in gateway mode.
12764    '''
12765    __slots__ = [
12766        'bind_address',
12767        'device',
12768        'gateway_filter',
12769        'id',
12770        'listen_address',
12771        'location',
12772        'maintenance_windows',
12773        'name',
12774        'state',
12775        'tags',
12776        'version',
12777    ]
12778
12779    def __init__(
12780        self,
12781        bind_address=None,
12782        device=None,
12783        gateway_filter=None,
12784        id=None,
12785        listen_address=None,
12786        location=None,
12787        maintenance_windows=None,
12788        name=None,
12789        state=None,
12790        tags=None,
12791        version=None,
12792    ):
12793        self.bind_address = bind_address if bind_address is not None else ''
12794        '''
12795         The hostname/port tuple which the gateway daemon will bind to.
12796         If not provided on create, set to "0.0.0.0:listen_address_port".
12797        '''
12798        self.device = device if device is not None else ''
12799        '''
12800         Device is a read only device name uploaded by the gateway process when
12801         it comes online.
12802        '''
12803        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12804        '''
12805         GatewayFilter can be used to restrict the peering between relays and
12806         gateways. Deprecated.
12807        '''
12808        self.id = id if id is not None else ''
12809        '''
12810         Unique identifier of the Gateway.
12811        '''
12812        self.listen_address = listen_address if listen_address is not None else ''
12813        '''
12814         The public hostname/port tuple at which the gateway will be accessible to clients.
12815        '''
12816        self.location = location if location is not None else ''
12817        '''
12818         Location is a read only network location uploaded by the gateway process
12819         when it comes online.
12820        '''
12821        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12822        '''
12823         Maintenance Windows define when this node is allowed to restart. If a node
12824         is requested to restart, it will check each window to determine if any of
12825         them permit it to restart, and if any do, it will. This check is repeated
12826         per window until the restart is successfully completed.
12827         
12828         If not set here, may be set on the command line or via an environment variable
12829         on the process itself; any server setting will take precedence over local
12830         settings. This setting is ineffective for nodes below version 38.44.0.
12831         
12832         If this setting is not applied via this remote configuration or via local
12833         configuration, the default setting is used: always allow restarts if serving
12834         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12835        '''
12836        self.name = name if name is not None else ''
12837        '''
12838         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.
12839        '''
12840        self.state = state if state is not None else ''
12841        '''
12842         The current state of the gateway. One of: "new", "verifying_restart",
12843         "restarting", "started", "stopped", "dead", "unknown"
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.version = version if version is not None else ''
12850        '''
12851         Version is a read only sdm binary version uploaded by the gateway process
12852         when it comes online.
12853        '''
12854
12855    def __repr__(self):
12856        return '<sdm.Gateway ' + \
12857            'bind_address: ' + repr(self.bind_address) + ' ' +\
12858            'device: ' + repr(self.device) + ' ' +\
12859            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12860            'id: ' + repr(self.id) + ' ' +\
12861            'listen_address: ' + repr(self.listen_address) + ' ' +\
12862            'location: ' + repr(self.location) + ' ' +\
12863            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12864            'name: ' + repr(self.name) + ' ' +\
12865            'state: ' + repr(self.state) + ' ' +\
12866            'tags: ' + repr(self.tags) + ' ' +\
12867            'version: ' + repr(self.version) + ' ' +\
12868            '>'
12869
12870    def to_dict(self):
12871        return {
12872            'bind_address': self.bind_address,
12873            'device': self.device,
12874            'gateway_filter': self.gateway_filter,
12875            'id': self.id,
12876            'listen_address': self.listen_address,
12877            'location': self.location,
12878            'maintenance_windows': self.maintenance_windows,
12879            'name': self.name,
12880            'state': self.state,
12881            'tags': self.tags,
12882            'version': self.version,
12883        }
12884
12885    @classmethod
12886    def from_dict(cls, d):
12887        return cls(
12888            bind_address=d.get('bind_address'),
12889            device=d.get('device'),
12890            gateway_filter=d.get('gateway_filter'),
12891            id=d.get('id'),
12892            listen_address=d.get('listen_address'),
12893            location=d.get('location'),
12894            maintenance_windows=d.get('maintenance_windows'),
12895            name=d.get('name'),
12896            state=d.get('state'),
12897            tags=d.get('tags'),
12898            version=d.get('version'),
12899        )
12900
12901
12902class GenerateKeysRequest:
12903    __slots__ = [
12904        'secret_engine_id',
12905    ]
12906
12907    def __init__(
12908        self,
12909        secret_engine_id=None,
12910    ):
12911        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12912        '''
12913         required
12914        '''
12915
12916    def __repr__(self):
12917        return '<sdm.GenerateKeysRequest ' + \
12918            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12919            '>'
12920
12921    def to_dict(self):
12922        return {
12923            'secret_engine_id': self.secret_engine_id,
12924        }
12925
12926    @classmethod
12927    def from_dict(cls, d):
12928        return cls(secret_engine_id=d.get('secret_engine_id'), )
12929
12930
12931class GenerateKeysResponse:
12932    __slots__ = [
12933        'rate_limit',
12934    ]
12935
12936    def __init__(
12937        self,
12938        rate_limit=None,
12939    ):
12940        self.rate_limit = rate_limit if rate_limit is not None else None
12941        '''
12942         Rate limit information.
12943        '''
12944
12945    def __repr__(self):
12946        return '<sdm.GenerateKeysResponse ' + \
12947            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12948            '>'
12949
12950    def to_dict(self):
12951        return {
12952            'rate_limit': self.rate_limit,
12953        }
12954
12955    @classmethod
12956    def from_dict(cls, d):
12957        return cls(rate_limit=d.get('rate_limit'), )
12958
12959
12960class GenericResponseMetadata:
12961    '''
12962         GenericResponseMetadata contains common headers for generic request
12963     responses.
12964    '''
12965    __slots__ = []
12966
12967    def __init__(self, ):
12968        pass
12969
12970    def __repr__(self):
12971        return '<sdm.GenericResponseMetadata ' + \
12972            '>'
12973
12974    def to_dict(self):
12975        return {}
12976
12977    @classmethod
12978    def from_dict(cls, d):
12979        return cls()
12980
12981
12982class GetResponseMetadata:
12983    '''
12984         GetResponseMetadata is reserved for future use.
12985    '''
12986    __slots__ = []
12987
12988    def __init__(self, ):
12989        pass
12990
12991    def __repr__(self):
12992        return '<sdm.GetResponseMetadata ' + \
12993            '>'
12994
12995    def to_dict(self):
12996        return {}
12997
12998    @classmethod
12999    def from_dict(cls, d):
13000        return cls()
13001
13002
13003class GoogleGKE:
13004    __slots__ = [
13005        'allow_resource_role_bypass',
13006        'bind_interface',
13007        'certificate_authority',
13008        'discovery_enabled',
13009        'discovery_username',
13010        'egress_filter',
13011        'endpoint',
13012        'healthcheck_namespace',
13013        'healthy',
13014        'id',
13015        'identity_alias_healthcheck_username',
13016        'identity_set_id',
13017        'name',
13018        'port_override',
13019        'proxy_cluster_id',
13020        'secret_store_id',
13021        'service_account_key',
13022        'subdomain',
13023        'tags',
13024    ]
13025
13026    def __init__(
13027        self,
13028        allow_resource_role_bypass=None,
13029        bind_interface=None,
13030        certificate_authority=None,
13031        discovery_enabled=None,
13032        discovery_username=None,
13033        egress_filter=None,
13034        endpoint=None,
13035        healthcheck_namespace=None,
13036        healthy=None,
13037        id=None,
13038        identity_alias_healthcheck_username=None,
13039        identity_set_id=None,
13040        name=None,
13041        port_override=None,
13042        proxy_cluster_id=None,
13043        secret_store_id=None,
13044        service_account_key=None,
13045        subdomain=None,
13046        tags=None,
13047    ):
13048        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13049        '''
13050         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13051         when a resource role is not provided.
13052        '''
13053        self.bind_interface = bind_interface if bind_interface is not None else ''
13054        '''
13055         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13056        '''
13057        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13058        '''
13059         The CA to authenticate TLS connections with.
13060        '''
13061        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13062        '''
13063         If true, configures discovery of a cluster to be run from a node.
13064        '''
13065        self.discovery_username = discovery_username if discovery_username is not None else ''
13066        '''
13067         If a cluster is configured for user impersonation, this is the user to impersonate when
13068         running discovery.
13069        '''
13070        self.egress_filter = egress_filter if egress_filter is not None else ''
13071        '''
13072         A filter applied to the routing logic to pin datasource to nodes.
13073        '''
13074        self.endpoint = endpoint if endpoint is not None else ''
13075        '''
13076         The endpoint to dial.
13077        '''
13078        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13079        '''
13080         The path used to check the health of your connection.  Defaults to `default`.
13081        '''
13082        self.healthy = healthy if healthy is not None else False
13083        '''
13084         True if the datasource is reachable and the credentials are valid.
13085        '''
13086        self.id = id if id is not None else ''
13087        '''
13088         Unique identifier of the Resource.
13089        '''
13090        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13091        '''
13092         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13093        '''
13094        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13095        '''
13096         The ID of the identity set to use for identity connections.
13097        '''
13098        self.name = name if name is not None else ''
13099        '''
13100         Unique human-readable name of the Resource.
13101        '''
13102        self.port_override = port_override if port_override is not None else 0
13103        '''
13104         The local port used by clients to connect to this resource.
13105        '''
13106        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13107        '''
13108         ID of the proxy cluster for this resource, if any.
13109        '''
13110        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13111        '''
13112         ID of the secret store containing credentials for this resource, if any.
13113        '''
13114        self.service_account_key = service_account_key if service_account_key is not None else ''
13115        '''
13116         The service account key to authenticate with.
13117        '''
13118        self.subdomain = subdomain if subdomain is not None else ''
13119        '''
13120         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13121        '''
13122        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13123        '''
13124         Tags is a map of key, value pairs.
13125        '''
13126
13127    def __repr__(self):
13128        return '<sdm.GoogleGKE ' + \
13129            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13130            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13131            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13132            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13133            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13134            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13135            'endpoint: ' + repr(self.endpoint) + ' ' +\
13136            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13137            'healthy: ' + repr(self.healthy) + ' ' +\
13138            'id: ' + repr(self.id) + ' ' +\
13139            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13140            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13141            'name: ' + repr(self.name) + ' ' +\
13142            'port_override: ' + repr(self.port_override) + ' ' +\
13143            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13144            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13145            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13146            'subdomain: ' + repr(self.subdomain) + ' ' +\
13147            'tags: ' + repr(self.tags) + ' ' +\
13148            '>'
13149
13150    def to_dict(self):
13151        return {
13152            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13153            'bind_interface': self.bind_interface,
13154            'certificate_authority': self.certificate_authority,
13155            'discovery_enabled': self.discovery_enabled,
13156            'discovery_username': self.discovery_username,
13157            'egress_filter': self.egress_filter,
13158            'endpoint': self.endpoint,
13159            'healthcheck_namespace': self.healthcheck_namespace,
13160            'healthy': self.healthy,
13161            'id': self.id,
13162            'identity_alias_healthcheck_username':
13163            self.identity_alias_healthcheck_username,
13164            'identity_set_id': self.identity_set_id,
13165            'name': self.name,
13166            'port_override': self.port_override,
13167            'proxy_cluster_id': self.proxy_cluster_id,
13168            'secret_store_id': self.secret_store_id,
13169            'service_account_key': self.service_account_key,
13170            'subdomain': self.subdomain,
13171            'tags': self.tags,
13172        }
13173
13174    @classmethod
13175    def from_dict(cls, d):
13176        return cls(
13177            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13178            bind_interface=d.get('bind_interface'),
13179            certificate_authority=d.get('certificate_authority'),
13180            discovery_enabled=d.get('discovery_enabled'),
13181            discovery_username=d.get('discovery_username'),
13182            egress_filter=d.get('egress_filter'),
13183            endpoint=d.get('endpoint'),
13184            healthcheck_namespace=d.get('healthcheck_namespace'),
13185            healthy=d.get('healthy'),
13186            id=d.get('id'),
13187            identity_alias_healthcheck_username=d.get(
13188                'identity_alias_healthcheck_username'),
13189            identity_set_id=d.get('identity_set_id'),
13190            name=d.get('name'),
13191            port_override=d.get('port_override'),
13192            proxy_cluster_id=d.get('proxy_cluster_id'),
13193            secret_store_id=d.get('secret_store_id'),
13194            service_account_key=d.get('service_account_key'),
13195            subdomain=d.get('subdomain'),
13196            tags=d.get('tags'),
13197        )
13198
13199
13200class GoogleGKEUserImpersonation:
13201    __slots__ = [
13202        'bind_interface',
13203        'certificate_authority',
13204        'egress_filter',
13205        'endpoint',
13206        'healthcheck_namespace',
13207        'healthy',
13208        'id',
13209        'name',
13210        'port_override',
13211        'proxy_cluster_id',
13212        'secret_store_id',
13213        'service_account_key',
13214        'subdomain',
13215        'tags',
13216    ]
13217
13218    def __init__(
13219        self,
13220        bind_interface=None,
13221        certificate_authority=None,
13222        egress_filter=None,
13223        endpoint=None,
13224        healthcheck_namespace=None,
13225        healthy=None,
13226        id=None,
13227        name=None,
13228        port_override=None,
13229        proxy_cluster_id=None,
13230        secret_store_id=None,
13231        service_account_key=None,
13232        subdomain=None,
13233        tags=None,
13234    ):
13235        self.bind_interface = bind_interface if bind_interface is not None else ''
13236        '''
13237         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13238        '''
13239        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13240        '''
13241         The CA to authenticate TLS connections with.
13242        '''
13243        self.egress_filter = egress_filter if egress_filter is not None else ''
13244        '''
13245         A filter applied to the routing logic to pin datasource to nodes.
13246        '''
13247        self.endpoint = endpoint if endpoint is not None else ''
13248        '''
13249         The endpoint to dial.
13250        '''
13251        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13252        '''
13253         The path used to check the health of your connection.  Defaults to `default`.
13254        '''
13255        self.healthy = healthy if healthy is not None else False
13256        '''
13257         True if the datasource is reachable and the credentials are valid.
13258        '''
13259        self.id = id if id is not None else ''
13260        '''
13261         Unique identifier of the Resource.
13262        '''
13263        self.name = name if name is not None else ''
13264        '''
13265         Unique human-readable name of the Resource.
13266        '''
13267        self.port_override = port_override if port_override is not None else 0
13268        '''
13269         The local port used by clients to connect to this resource.
13270        '''
13271        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13272        '''
13273         ID of the proxy cluster for this resource, if any.
13274        '''
13275        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13276        '''
13277         ID of the secret store containing credentials for this resource, if any.
13278        '''
13279        self.service_account_key = service_account_key if service_account_key is not None else ''
13280        '''
13281         The service account key to authenticate with.
13282        '''
13283        self.subdomain = subdomain if subdomain is not None else ''
13284        '''
13285         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13286        '''
13287        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13288        '''
13289         Tags is a map of key, value pairs.
13290        '''
13291
13292    def __repr__(self):
13293        return '<sdm.GoogleGKEUserImpersonation ' + \
13294            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13295            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13296            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13297            'endpoint: ' + repr(self.endpoint) + ' ' +\
13298            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13299            'healthy: ' + repr(self.healthy) + ' ' +\
13300            'id: ' + repr(self.id) + ' ' +\
13301            'name: ' + repr(self.name) + ' ' +\
13302            'port_override: ' + repr(self.port_override) + ' ' +\
13303            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13304            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13305            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13306            'subdomain: ' + repr(self.subdomain) + ' ' +\
13307            'tags: ' + repr(self.tags) + ' ' +\
13308            '>'
13309
13310    def to_dict(self):
13311        return {
13312            'bind_interface': self.bind_interface,
13313            'certificate_authority': self.certificate_authority,
13314            'egress_filter': self.egress_filter,
13315            'endpoint': self.endpoint,
13316            'healthcheck_namespace': self.healthcheck_namespace,
13317            'healthy': self.healthy,
13318            'id': self.id,
13319            'name': self.name,
13320            'port_override': self.port_override,
13321            'proxy_cluster_id': self.proxy_cluster_id,
13322            'secret_store_id': self.secret_store_id,
13323            'service_account_key': self.service_account_key,
13324            'subdomain': self.subdomain,
13325            'tags': self.tags,
13326        }
13327
13328    @classmethod
13329    def from_dict(cls, d):
13330        return cls(
13331            bind_interface=d.get('bind_interface'),
13332            certificate_authority=d.get('certificate_authority'),
13333            egress_filter=d.get('egress_filter'),
13334            endpoint=d.get('endpoint'),
13335            healthcheck_namespace=d.get('healthcheck_namespace'),
13336            healthy=d.get('healthy'),
13337            id=d.get('id'),
13338            name=d.get('name'),
13339            port_override=d.get('port_override'),
13340            proxy_cluster_id=d.get('proxy_cluster_id'),
13341            secret_store_id=d.get('secret_store_id'),
13342            service_account_key=d.get('service_account_key'),
13343            subdomain=d.get('subdomain'),
13344            tags=d.get('tags'),
13345        )
13346
13347
13348class Greenplum:
13349    __slots__ = [
13350        'bind_interface',
13351        'database',
13352        'egress_filter',
13353        'healthy',
13354        'hostname',
13355        'id',
13356        'name',
13357        'override_database',
13358        'password',
13359        'port',
13360        'port_override',
13361        'proxy_cluster_id',
13362        'secret_store_id',
13363        'subdomain',
13364        'tags',
13365        'username',
13366    ]
13367
13368    def __init__(
13369        self,
13370        bind_interface=None,
13371        database=None,
13372        egress_filter=None,
13373        healthy=None,
13374        hostname=None,
13375        id=None,
13376        name=None,
13377        override_database=None,
13378        password=None,
13379        port=None,
13380        port_override=None,
13381        proxy_cluster_id=None,
13382        secret_store_id=None,
13383        subdomain=None,
13384        tags=None,
13385        username=None,
13386    ):
13387        self.bind_interface = bind_interface if bind_interface is not None else ''
13388        '''
13389         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13390        '''
13391        self.database = database if database is not None else ''
13392        '''
13393         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13394        '''
13395        self.egress_filter = egress_filter if egress_filter is not None else ''
13396        '''
13397         A filter applied to the routing logic to pin datasource to nodes.
13398        '''
13399        self.healthy = healthy if healthy is not None else False
13400        '''
13401         True if the datasource is reachable and the credentials are valid.
13402        '''
13403        self.hostname = hostname if hostname is not None else ''
13404        '''
13405         The host to dial to initiate a connection from the egress node to this resource.
13406        '''
13407        self.id = id if id is not None else ''
13408        '''
13409         Unique identifier of the Resource.
13410        '''
13411        self.name = name if name is not None else ''
13412        '''
13413         Unique human-readable name of the Resource.
13414        '''
13415        self.override_database = override_database if override_database is not None else False
13416        '''
13417         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.
13418        '''
13419        self.password = password if password is not None else ''
13420        '''
13421         The password to authenticate with.
13422        '''
13423        self.port = port if port is not None else 0
13424        '''
13425         The port to dial to initiate a connection from the egress node to this resource.
13426        '''
13427        self.port_override = port_override if port_override is not None else 0
13428        '''
13429         The local port used by clients to connect to this resource.
13430        '''
13431        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13432        '''
13433         ID of the proxy cluster for this resource, if any.
13434        '''
13435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13436        '''
13437         ID of the secret store containing credentials for this resource, if any.
13438        '''
13439        self.subdomain = subdomain if subdomain is not None else ''
13440        '''
13441         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13442        '''
13443        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13444        '''
13445         Tags is a map of key, value pairs.
13446        '''
13447        self.username = username if username is not None else ''
13448        '''
13449         The username to authenticate with.
13450        '''
13451
13452    def __repr__(self):
13453        return '<sdm.Greenplum ' + \
13454            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13455            'database: ' + repr(self.database) + ' ' +\
13456            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13457            'healthy: ' + repr(self.healthy) + ' ' +\
13458            'hostname: ' + repr(self.hostname) + ' ' +\
13459            'id: ' + repr(self.id) + ' ' +\
13460            'name: ' + repr(self.name) + ' ' +\
13461            'override_database: ' + repr(self.override_database) + ' ' +\
13462            'password: ' + repr(self.password) + ' ' +\
13463            'port: ' + repr(self.port) + ' ' +\
13464            'port_override: ' + repr(self.port_override) + ' ' +\
13465            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13466            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13467            'subdomain: ' + repr(self.subdomain) + ' ' +\
13468            'tags: ' + repr(self.tags) + ' ' +\
13469            'username: ' + repr(self.username) + ' ' +\
13470            '>'
13471
13472    def to_dict(self):
13473        return {
13474            'bind_interface': self.bind_interface,
13475            'database': self.database,
13476            'egress_filter': self.egress_filter,
13477            'healthy': self.healthy,
13478            'hostname': self.hostname,
13479            'id': self.id,
13480            'name': self.name,
13481            'override_database': self.override_database,
13482            'password': self.password,
13483            'port': self.port,
13484            'port_override': self.port_override,
13485            'proxy_cluster_id': self.proxy_cluster_id,
13486            'secret_store_id': self.secret_store_id,
13487            'subdomain': self.subdomain,
13488            'tags': self.tags,
13489            'username': self.username,
13490        }
13491
13492    @classmethod
13493    def from_dict(cls, d):
13494        return cls(
13495            bind_interface=d.get('bind_interface'),
13496            database=d.get('database'),
13497            egress_filter=d.get('egress_filter'),
13498            healthy=d.get('healthy'),
13499            hostname=d.get('hostname'),
13500            id=d.get('id'),
13501            name=d.get('name'),
13502            override_database=d.get('override_database'),
13503            password=d.get('password'),
13504            port=d.get('port'),
13505            port_override=d.get('port_override'),
13506            proxy_cluster_id=d.get('proxy_cluster_id'),
13507            secret_store_id=d.get('secret_store_id'),
13508            subdomain=d.get('subdomain'),
13509            tags=d.get('tags'),
13510            username=d.get('username'),
13511        )
13512
13513
13514class HTTPAuth:
13515    __slots__ = [
13516        'auth_header',
13517        'bind_interface',
13518        'default_path',
13519        'egress_filter',
13520        'headers_blacklist',
13521        'healthcheck_path',
13522        'healthy',
13523        'host_override',
13524        'id',
13525        'name',
13526        'port_override',
13527        'proxy_cluster_id',
13528        'secret_store_id',
13529        'subdomain',
13530        'tags',
13531        'url',
13532    ]
13533
13534    def __init__(
13535        self,
13536        auth_header=None,
13537        bind_interface=None,
13538        default_path=None,
13539        egress_filter=None,
13540        headers_blacklist=None,
13541        healthcheck_path=None,
13542        healthy=None,
13543        host_override=None,
13544        id=None,
13545        name=None,
13546        port_override=None,
13547        proxy_cluster_id=None,
13548        secret_store_id=None,
13549        subdomain=None,
13550        tags=None,
13551        url=None,
13552    ):
13553        self.auth_header = auth_header if auth_header is not None else ''
13554        '''
13555         The content to set as the authorization header.
13556        '''
13557        self.bind_interface = bind_interface if bind_interface is not None else ''
13558        '''
13559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13560        '''
13561        self.default_path = default_path if default_path is not None else ''
13562        '''
13563         Automatically redirect to this path upon connecting.
13564        '''
13565        self.egress_filter = egress_filter if egress_filter is not None else ''
13566        '''
13567         A filter applied to the routing logic to pin datasource to nodes.
13568        '''
13569        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13570        '''
13571         Header names (e.g. Authorization), to omit from logs.
13572        '''
13573        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13574        '''
13575         This path will be used to check the health of your site.
13576        '''
13577        self.healthy = healthy if healthy is not None else False
13578        '''
13579         True if the datasource is reachable and the credentials are valid.
13580        '''
13581        self.host_override = host_override if host_override is not None else ''
13582        '''
13583         The host header will be overwritten with this field if provided.
13584        '''
13585        self.id = id if id is not None else ''
13586        '''
13587         Unique identifier of the Resource.
13588        '''
13589        self.name = name if name is not None else ''
13590        '''
13591         Unique human-readable name of the Resource.
13592        '''
13593        self.port_override = port_override if port_override is not None else 0
13594        '''
13595         The local port used by clients to connect to this resource.
13596        '''
13597        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13598        '''
13599         ID of the proxy cluster for this resource, if any.
13600        '''
13601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13602        '''
13603         ID of the secret store containing credentials for this resource, if any.
13604        '''
13605        self.subdomain = subdomain if subdomain is not None else ''
13606        '''
13607         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13608        '''
13609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13610        '''
13611         Tags is a map of key, value pairs.
13612        '''
13613        self.url = url if url is not None else ''
13614        '''
13615         The base address of your website without the path.
13616        '''
13617
13618    def __repr__(self):
13619        return '<sdm.HTTPAuth ' + \
13620            'auth_header: ' + repr(self.auth_header) + ' ' +\
13621            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13622            'default_path: ' + repr(self.default_path) + ' ' +\
13623            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13624            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13625            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13626            'healthy: ' + repr(self.healthy) + ' ' +\
13627            'host_override: ' + repr(self.host_override) + ' ' +\
13628            'id: ' + repr(self.id) + ' ' +\
13629            'name: ' + repr(self.name) + ' ' +\
13630            'port_override: ' + repr(self.port_override) + ' ' +\
13631            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13632            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13633            'subdomain: ' + repr(self.subdomain) + ' ' +\
13634            'tags: ' + repr(self.tags) + ' ' +\
13635            'url: ' + repr(self.url) + ' ' +\
13636            '>'
13637
13638    def to_dict(self):
13639        return {
13640            'auth_header': self.auth_header,
13641            'bind_interface': self.bind_interface,
13642            'default_path': self.default_path,
13643            'egress_filter': self.egress_filter,
13644            'headers_blacklist': self.headers_blacklist,
13645            'healthcheck_path': self.healthcheck_path,
13646            'healthy': self.healthy,
13647            'host_override': self.host_override,
13648            'id': self.id,
13649            'name': self.name,
13650            'port_override': self.port_override,
13651            'proxy_cluster_id': self.proxy_cluster_id,
13652            'secret_store_id': self.secret_store_id,
13653            'subdomain': self.subdomain,
13654            'tags': self.tags,
13655            'url': self.url,
13656        }
13657
13658    @classmethod
13659    def from_dict(cls, d):
13660        return cls(
13661            auth_header=d.get('auth_header'),
13662            bind_interface=d.get('bind_interface'),
13663            default_path=d.get('default_path'),
13664            egress_filter=d.get('egress_filter'),
13665            headers_blacklist=d.get('headers_blacklist'),
13666            healthcheck_path=d.get('healthcheck_path'),
13667            healthy=d.get('healthy'),
13668            host_override=d.get('host_override'),
13669            id=d.get('id'),
13670            name=d.get('name'),
13671            port_override=d.get('port_override'),
13672            proxy_cluster_id=d.get('proxy_cluster_id'),
13673            secret_store_id=d.get('secret_store_id'),
13674            subdomain=d.get('subdomain'),
13675            tags=d.get('tags'),
13676            url=d.get('url'),
13677        )
13678
13679
13680class HTTPBasicAuth:
13681    __slots__ = [
13682        'bind_interface',
13683        'default_path',
13684        'egress_filter',
13685        'headers_blacklist',
13686        'healthcheck_path',
13687        'healthy',
13688        'host_override',
13689        'id',
13690        'name',
13691        'password',
13692        'port_override',
13693        'proxy_cluster_id',
13694        'secret_store_id',
13695        'subdomain',
13696        'tags',
13697        'url',
13698        'username',
13699    ]
13700
13701    def __init__(
13702        self,
13703        bind_interface=None,
13704        default_path=None,
13705        egress_filter=None,
13706        headers_blacklist=None,
13707        healthcheck_path=None,
13708        healthy=None,
13709        host_override=None,
13710        id=None,
13711        name=None,
13712        password=None,
13713        port_override=None,
13714        proxy_cluster_id=None,
13715        secret_store_id=None,
13716        subdomain=None,
13717        tags=None,
13718        url=None,
13719        username=None,
13720    ):
13721        self.bind_interface = bind_interface if bind_interface is not None else ''
13722        '''
13723         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13724        '''
13725        self.default_path = default_path if default_path is not None else ''
13726        '''
13727         Automatically redirect to this path upon connecting.
13728        '''
13729        self.egress_filter = egress_filter if egress_filter is not None else ''
13730        '''
13731         A filter applied to the routing logic to pin datasource to nodes.
13732        '''
13733        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13734        '''
13735         Header names (e.g. Authorization), to omit from logs.
13736        '''
13737        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13738        '''
13739         This path will be used to check the health of your site.
13740        '''
13741        self.healthy = healthy if healthy is not None else False
13742        '''
13743         True if the datasource is reachable and the credentials are valid.
13744        '''
13745        self.host_override = host_override if host_override is not None else ''
13746        '''
13747         The host header will be overwritten with this field if provided.
13748        '''
13749        self.id = id if id is not None else ''
13750        '''
13751         Unique identifier of the Resource.
13752        '''
13753        self.name = name if name is not None else ''
13754        '''
13755         Unique human-readable name of the Resource.
13756        '''
13757        self.password = password if password is not None else ''
13758        '''
13759         The password to authenticate with.
13760        '''
13761        self.port_override = port_override if port_override is not None else 0
13762        '''
13763         The local port used by clients to connect to this resource.
13764        '''
13765        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13766        '''
13767         ID of the proxy cluster for this resource, if any.
13768        '''
13769        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13770        '''
13771         ID of the secret store containing credentials for this resource, if any.
13772        '''
13773        self.subdomain = subdomain if subdomain is not None else ''
13774        '''
13775         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13776        '''
13777        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13778        '''
13779         Tags is a map of key, value pairs.
13780        '''
13781        self.url = url if url is not None else ''
13782        '''
13783         The base address of your website without the path.
13784        '''
13785        self.username = username if username is not None else ''
13786        '''
13787         The username to authenticate with.
13788        '''
13789
13790    def __repr__(self):
13791        return '<sdm.HTTPBasicAuth ' + \
13792            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13793            'default_path: ' + repr(self.default_path) + ' ' +\
13794            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13795            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13796            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13797            'healthy: ' + repr(self.healthy) + ' ' +\
13798            'host_override: ' + repr(self.host_override) + ' ' +\
13799            'id: ' + repr(self.id) + ' ' +\
13800            'name: ' + repr(self.name) + ' ' +\
13801            'password: ' + repr(self.password) + ' ' +\
13802            'port_override: ' + repr(self.port_override) + ' ' +\
13803            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13804            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13805            'subdomain: ' + repr(self.subdomain) + ' ' +\
13806            'tags: ' + repr(self.tags) + ' ' +\
13807            'url: ' + repr(self.url) + ' ' +\
13808            'username: ' + repr(self.username) + ' ' +\
13809            '>'
13810
13811    def to_dict(self):
13812        return {
13813            'bind_interface': self.bind_interface,
13814            'default_path': self.default_path,
13815            'egress_filter': self.egress_filter,
13816            'headers_blacklist': self.headers_blacklist,
13817            'healthcheck_path': self.healthcheck_path,
13818            'healthy': self.healthy,
13819            'host_override': self.host_override,
13820            'id': self.id,
13821            'name': self.name,
13822            'password': self.password,
13823            'port_override': self.port_override,
13824            'proxy_cluster_id': self.proxy_cluster_id,
13825            'secret_store_id': self.secret_store_id,
13826            'subdomain': self.subdomain,
13827            'tags': self.tags,
13828            'url': self.url,
13829            'username': self.username,
13830        }
13831
13832    @classmethod
13833    def from_dict(cls, d):
13834        return cls(
13835            bind_interface=d.get('bind_interface'),
13836            default_path=d.get('default_path'),
13837            egress_filter=d.get('egress_filter'),
13838            headers_blacklist=d.get('headers_blacklist'),
13839            healthcheck_path=d.get('healthcheck_path'),
13840            healthy=d.get('healthy'),
13841            host_override=d.get('host_override'),
13842            id=d.get('id'),
13843            name=d.get('name'),
13844            password=d.get('password'),
13845            port_override=d.get('port_override'),
13846            proxy_cluster_id=d.get('proxy_cluster_id'),
13847            secret_store_id=d.get('secret_store_id'),
13848            subdomain=d.get('subdomain'),
13849            tags=d.get('tags'),
13850            url=d.get('url'),
13851            username=d.get('username'),
13852        )
13853
13854
13855class HTTPNoAuth:
13856    __slots__ = [
13857        'bind_interface',
13858        'default_path',
13859        'egress_filter',
13860        'headers_blacklist',
13861        'healthcheck_path',
13862        'healthy',
13863        'host_override',
13864        'id',
13865        'name',
13866        'port_override',
13867        'proxy_cluster_id',
13868        'secret_store_id',
13869        'subdomain',
13870        'tags',
13871        'url',
13872    ]
13873
13874    def __init__(
13875        self,
13876        bind_interface=None,
13877        default_path=None,
13878        egress_filter=None,
13879        headers_blacklist=None,
13880        healthcheck_path=None,
13881        healthy=None,
13882        host_override=None,
13883        id=None,
13884        name=None,
13885        port_override=None,
13886        proxy_cluster_id=None,
13887        secret_store_id=None,
13888        subdomain=None,
13889        tags=None,
13890        url=None,
13891    ):
13892        self.bind_interface = bind_interface if bind_interface is not None else ''
13893        '''
13894         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13895        '''
13896        self.default_path = default_path if default_path is not None else ''
13897        '''
13898         Automatically redirect to this path upon connecting.
13899        '''
13900        self.egress_filter = egress_filter if egress_filter is not None else ''
13901        '''
13902         A filter applied to the routing logic to pin datasource to nodes.
13903        '''
13904        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13905        '''
13906         Header names (e.g. Authorization), to omit from logs.
13907        '''
13908        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13909        '''
13910         This path will be used to check the health of your site.
13911        '''
13912        self.healthy = healthy if healthy is not None else False
13913        '''
13914         True if the datasource is reachable and the credentials are valid.
13915        '''
13916        self.host_override = host_override if host_override is not None else ''
13917        '''
13918         The host header will be overwritten with this field if provided.
13919        '''
13920        self.id = id if id is not None else ''
13921        '''
13922         Unique identifier of the Resource.
13923        '''
13924        self.name = name if name is not None else ''
13925        '''
13926         Unique human-readable name of the Resource.
13927        '''
13928        self.port_override = port_override if port_override is not None else 0
13929        '''
13930         The local port used by clients to connect to this resource.
13931        '''
13932        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13933        '''
13934         ID of the proxy cluster for this resource, if any.
13935        '''
13936        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13937        '''
13938         ID of the secret store containing credentials for this resource, if any.
13939        '''
13940        self.subdomain = subdomain if subdomain is not None else ''
13941        '''
13942         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13943        '''
13944        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13945        '''
13946         Tags is a map of key, value pairs.
13947        '''
13948        self.url = url if url is not None else ''
13949        '''
13950         The base address of your website without the path.
13951        '''
13952
13953    def __repr__(self):
13954        return '<sdm.HTTPNoAuth ' + \
13955            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13956            'default_path: ' + repr(self.default_path) + ' ' +\
13957            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13958            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13959            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13960            'healthy: ' + repr(self.healthy) + ' ' +\
13961            'host_override: ' + repr(self.host_override) + ' ' +\
13962            'id: ' + repr(self.id) + ' ' +\
13963            'name: ' + repr(self.name) + ' ' +\
13964            'port_override: ' + repr(self.port_override) + ' ' +\
13965            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13966            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13967            'subdomain: ' + repr(self.subdomain) + ' ' +\
13968            'tags: ' + repr(self.tags) + ' ' +\
13969            'url: ' + repr(self.url) + ' ' +\
13970            '>'
13971
13972    def to_dict(self):
13973        return {
13974            'bind_interface': self.bind_interface,
13975            'default_path': self.default_path,
13976            'egress_filter': self.egress_filter,
13977            'headers_blacklist': self.headers_blacklist,
13978            'healthcheck_path': self.healthcheck_path,
13979            'healthy': self.healthy,
13980            'host_override': self.host_override,
13981            'id': self.id,
13982            'name': self.name,
13983            'port_override': self.port_override,
13984            'proxy_cluster_id': self.proxy_cluster_id,
13985            'secret_store_id': self.secret_store_id,
13986            'subdomain': self.subdomain,
13987            'tags': self.tags,
13988            'url': self.url,
13989        }
13990
13991    @classmethod
13992    def from_dict(cls, d):
13993        return cls(
13994            bind_interface=d.get('bind_interface'),
13995            default_path=d.get('default_path'),
13996            egress_filter=d.get('egress_filter'),
13997            headers_blacklist=d.get('headers_blacklist'),
13998            healthcheck_path=d.get('healthcheck_path'),
13999            healthy=d.get('healthy'),
14000            host_override=d.get('host_override'),
14001            id=d.get('id'),
14002            name=d.get('name'),
14003            port_override=d.get('port_override'),
14004            proxy_cluster_id=d.get('proxy_cluster_id'),
14005            secret_store_id=d.get('secret_store_id'),
14006            subdomain=d.get('subdomain'),
14007            tags=d.get('tags'),
14008            url=d.get('url'),
14009        )
14010
14011
14012class Healthcheck:
14013    '''
14014         Healthcheck defines the status of the link between a node and a resource
14015    '''
14016    __slots__ = [
14017        'error_msg',
14018        'healthy',
14019        'id',
14020        'node_id',
14021        'node_name',
14022        'resource_id',
14023        'resource_name',
14024        'timestamp',
14025    ]
14026
14027    def __init__(
14028        self,
14029        error_msg=None,
14030        healthy=None,
14031        id=None,
14032        node_id=None,
14033        node_name=None,
14034        resource_id=None,
14035        resource_name=None,
14036        timestamp=None,
14037    ):
14038        self.error_msg = error_msg if error_msg is not None else ''
14039        '''
14040         The error if unhealthy
14041        '''
14042        self.healthy = healthy if healthy is not None else False
14043        '''
14044         Whether the healthcheck succeeded.
14045        '''
14046        self.id = id if id is not None else ''
14047        '''
14048         Unique identifier of the healthcheck.
14049        '''
14050        self.node_id = node_id if node_id is not None else ''
14051        '''
14052         Unique identifier of the healthcheck node.
14053        '''
14054        self.node_name = node_name if node_name is not None else ''
14055        '''
14056         The name of the node.
14057        '''
14058        self.resource_id = resource_id if resource_id is not None else ''
14059        '''
14060         Unique identifier of the healthcheck resource.
14061        '''
14062        self.resource_name = resource_name if resource_name is not None else ''
14063        '''
14064         The name of the resource.
14065        '''
14066        self.timestamp = timestamp if timestamp is not None else None
14067        '''
14068         The time at which the healthcheck state was recorded.
14069        '''
14070
14071    def __repr__(self):
14072        return '<sdm.Healthcheck ' + \
14073            'error_msg: ' + repr(self.error_msg) + ' ' +\
14074            'healthy: ' + repr(self.healthy) + ' ' +\
14075            'id: ' + repr(self.id) + ' ' +\
14076            'node_id: ' + repr(self.node_id) + ' ' +\
14077            'node_name: ' + repr(self.node_name) + ' ' +\
14078            'resource_id: ' + repr(self.resource_id) + ' ' +\
14079            'resource_name: ' + repr(self.resource_name) + ' ' +\
14080            'timestamp: ' + repr(self.timestamp) + ' ' +\
14081            '>'
14082
14083    def to_dict(self):
14084        return {
14085            'error_msg': self.error_msg,
14086            'healthy': self.healthy,
14087            'id': self.id,
14088            'node_id': self.node_id,
14089            'node_name': self.node_name,
14090            'resource_id': self.resource_id,
14091            'resource_name': self.resource_name,
14092            'timestamp': self.timestamp,
14093        }
14094
14095    @classmethod
14096    def from_dict(cls, d):
14097        return cls(
14098            error_msg=d.get('error_msg'),
14099            healthy=d.get('healthy'),
14100            id=d.get('id'),
14101            node_id=d.get('node_id'),
14102            node_name=d.get('node_name'),
14103            resource_id=d.get('resource_id'),
14104            resource_name=d.get('resource_name'),
14105            timestamp=d.get('timestamp'),
14106        )
14107
14108
14109class HealthcheckListResponse:
14110    '''
14111         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
14112     HealthcheckListRequest.
14113    '''
14114    __slots__ = [
14115        'rate_limit',
14116    ]
14117
14118    def __init__(
14119        self,
14120        rate_limit=None,
14121    ):
14122        self.rate_limit = rate_limit if rate_limit is not None else None
14123        '''
14124         Rate limit information.
14125        '''
14126
14127    def __repr__(self):
14128        return '<sdm.HealthcheckListResponse ' + \
14129            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14130            '>'
14131
14132    def to_dict(self):
14133        return {
14134            'rate_limit': self.rate_limit,
14135        }
14136
14137    @classmethod
14138    def from_dict(cls, d):
14139        return cls(rate_limit=d.get('rate_limit'), )
14140
14141
14142class HealthcheckRequest:
14143    __slots__ = [
14144        'secret_engine_id',
14145    ]
14146
14147    def __init__(
14148        self,
14149        secret_engine_id=None,
14150    ):
14151        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
14152        '''
14153         required
14154        '''
14155
14156    def __repr__(self):
14157        return '<sdm.HealthcheckRequest ' + \
14158            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
14159            '>'
14160
14161    def to_dict(self):
14162        return {
14163            'secret_engine_id': self.secret_engine_id,
14164        }
14165
14166    @classmethod
14167    def from_dict(cls, d):
14168        return cls(secret_engine_id=d.get('secret_engine_id'), )
14169
14170
14171class HealthcheckResponse:
14172    __slots__ = [
14173        'rate_limit',
14174        'status',
14175    ]
14176
14177    def __init__(
14178        self,
14179        rate_limit=None,
14180        status=None,
14181    ):
14182        self.rate_limit = rate_limit if rate_limit is not None else None
14183        '''
14184         Rate limit information.
14185        '''
14186        self.status = status if status is not None else []
14187        '''
14188         Array of statuses of all nodes serving a secret engine
14189        '''
14190
14191    def __repr__(self):
14192        return '<sdm.HealthcheckResponse ' + \
14193            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14194            'status: ' + repr(self.status) + ' ' +\
14195            '>'
14196
14197    def to_dict(self):
14198        return {
14199            'rate_limit': self.rate_limit,
14200            'status': self.status,
14201        }
14202
14203    @classmethod
14204    def from_dict(cls, d):
14205        return cls(
14206            rate_limit=d.get('rate_limit'),
14207            status=d.get('status'),
14208        )
14209
14210
14211class HealthcheckStatus:
14212    '''
14213         HealthcheckStatus contains status of a node health
14214    '''
14215    __slots__ = [
14216        'node_id',
14217        'status',
14218    ]
14219
14220    def __init__(
14221        self,
14222        node_id=None,
14223        status=None,
14224    ):
14225        self.node_id = node_id if node_id is not None else ''
14226        '''
14227         ID of node
14228        '''
14229        self.status = status if status is not None else ''
14230        '''
14231         Status of node's health
14232        '''
14233
14234    def __repr__(self):
14235        return '<sdm.HealthcheckStatus ' + \
14236            'node_id: ' + repr(self.node_id) + ' ' +\
14237            'status: ' + repr(self.status) + ' ' +\
14238            '>'
14239
14240    def to_dict(self):
14241        return {
14242            'node_id': self.node_id,
14243            'status': self.status,
14244        }
14245
14246    @classmethod
14247    def from_dict(cls, d):
14248        return cls(
14249            node_id=d.get('node_id'),
14250            status=d.get('status'),
14251        )
14252
14253
14254class IdentityAlias:
14255    '''
14256         IdentityAliases define the username to be used for a specific account
14257     when connecting to a remote resource using that identity set.
14258    '''
14259    __slots__ = [
14260        'account_id',
14261        'id',
14262        'identity_set_id',
14263        'username',
14264    ]
14265
14266    def __init__(
14267        self,
14268        account_id=None,
14269        id=None,
14270        identity_set_id=None,
14271        username=None,
14272    ):
14273        self.account_id = account_id if account_id is not None else ''
14274        '''
14275         The account for this identity alias.
14276        '''
14277        self.id = id if id is not None else ''
14278        '''
14279         Unique identifier of the IdentityAlias.
14280        '''
14281        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14282        '''
14283         The identity set.
14284        '''
14285        self.username = username if username is not None else ''
14286        '''
14287         The username to be used as the identity alias for this account.
14288        '''
14289
14290    def __repr__(self):
14291        return '<sdm.IdentityAlias ' + \
14292            'account_id: ' + repr(self.account_id) + ' ' +\
14293            'id: ' + repr(self.id) + ' ' +\
14294            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14295            'username: ' + repr(self.username) + ' ' +\
14296            '>'
14297
14298    def to_dict(self):
14299        return {
14300            'account_id': self.account_id,
14301            'id': self.id,
14302            'identity_set_id': self.identity_set_id,
14303            'username': self.username,
14304        }
14305
14306    @classmethod
14307    def from_dict(cls, d):
14308        return cls(
14309            account_id=d.get('account_id'),
14310            id=d.get('id'),
14311            identity_set_id=d.get('identity_set_id'),
14312            username=d.get('username'),
14313        )
14314
14315
14316class IdentityAliasCreateResponse:
14317    '''
14318         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14319    '''
14320    __slots__ = [
14321        'identity_alias',
14322        'meta',
14323        'rate_limit',
14324    ]
14325
14326    def __init__(
14327        self,
14328        identity_alias=None,
14329        meta=None,
14330        rate_limit=None,
14331    ):
14332        self.identity_alias = identity_alias if identity_alias is not None else None
14333        '''
14334         The created IdentityAlias.
14335        '''
14336        self.meta = meta if meta is not None else None
14337        '''
14338         Reserved for future use.
14339        '''
14340        self.rate_limit = rate_limit if rate_limit is not None else None
14341        '''
14342         Rate limit information.
14343        '''
14344
14345    def __repr__(self):
14346        return '<sdm.IdentityAliasCreateResponse ' + \
14347            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14348            'meta: ' + repr(self.meta) + ' ' +\
14349            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14350            '>'
14351
14352    def to_dict(self):
14353        return {
14354            'identity_alias': self.identity_alias,
14355            'meta': self.meta,
14356            'rate_limit': self.rate_limit,
14357        }
14358
14359    @classmethod
14360    def from_dict(cls, d):
14361        return cls(
14362            identity_alias=d.get('identity_alias'),
14363            meta=d.get('meta'),
14364            rate_limit=d.get('rate_limit'),
14365        )
14366
14367
14368class IdentityAliasDeleteResponse:
14369    '''
14370         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
14371    '''
14372    __slots__ = [
14373        'meta',
14374        'rate_limit',
14375    ]
14376
14377    def __init__(
14378        self,
14379        meta=None,
14380        rate_limit=None,
14381    ):
14382        self.meta = meta if meta is not None else None
14383        '''
14384         Reserved for future use.
14385        '''
14386        self.rate_limit = rate_limit if rate_limit is not None else None
14387        '''
14388         Rate limit information.
14389        '''
14390
14391    def __repr__(self):
14392        return '<sdm.IdentityAliasDeleteResponse ' + \
14393            'meta: ' + repr(self.meta) + ' ' +\
14394            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14395            '>'
14396
14397    def to_dict(self):
14398        return {
14399            'meta': self.meta,
14400            'rate_limit': self.rate_limit,
14401        }
14402
14403    @classmethod
14404    def from_dict(cls, d):
14405        return cls(
14406            meta=d.get('meta'),
14407            rate_limit=d.get('rate_limit'),
14408        )
14409
14410
14411class IdentityAliasGetResponse:
14412    '''
14413         IdentityAliasGetResponse returns a requested IdentityAlias.
14414    '''
14415    __slots__ = [
14416        'identity_alias',
14417        'meta',
14418        'rate_limit',
14419    ]
14420
14421    def __init__(
14422        self,
14423        identity_alias=None,
14424        meta=None,
14425        rate_limit=None,
14426    ):
14427        self.identity_alias = identity_alias if identity_alias is not None else None
14428        '''
14429         The requested IdentityAlias.
14430        '''
14431        self.meta = meta if meta is not None else None
14432        '''
14433         Reserved for future use.
14434        '''
14435        self.rate_limit = rate_limit if rate_limit is not None else None
14436        '''
14437         Rate limit information.
14438        '''
14439
14440    def __repr__(self):
14441        return '<sdm.IdentityAliasGetResponse ' + \
14442            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14443            'meta: ' + repr(self.meta) + ' ' +\
14444            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14445            '>'
14446
14447    def to_dict(self):
14448        return {
14449            'identity_alias': self.identity_alias,
14450            'meta': self.meta,
14451            'rate_limit': self.rate_limit,
14452        }
14453
14454    @classmethod
14455    def from_dict(cls, d):
14456        return cls(
14457            identity_alias=d.get('identity_alias'),
14458            meta=d.get('meta'),
14459            rate_limit=d.get('rate_limit'),
14460        )
14461
14462
14463class IdentityAliasHistory:
14464    '''
14465         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
14466     where every change (create, update and delete) to a IdentityAlias produces an
14467     IdentityAliasHistory record.
14468    '''
14469    __slots__ = [
14470        'activity_id',
14471        'deleted_at',
14472        'identity_alias',
14473        'timestamp',
14474    ]
14475
14476    def __init__(
14477        self,
14478        activity_id=None,
14479        deleted_at=None,
14480        identity_alias=None,
14481        timestamp=None,
14482    ):
14483        self.activity_id = activity_id if activity_id is not None else ''
14484        '''
14485         The unique identifier of the Activity that produced this change to the IdentityAlias.
14486         May be empty for some system-initiated updates.
14487        '''
14488        self.deleted_at = deleted_at if deleted_at is not None else None
14489        '''
14490         If this IdentityAlias was deleted, the time it was deleted.
14491        '''
14492        self.identity_alias = identity_alias if identity_alias is not None else None
14493        '''
14494         The complete IdentityAlias state at this time.
14495        '''
14496        self.timestamp = timestamp if timestamp is not None else None
14497        '''
14498         The time at which the IdentityAlias state was recorded.
14499        '''
14500
14501    def __repr__(self):
14502        return '<sdm.IdentityAliasHistory ' + \
14503            'activity_id: ' + repr(self.activity_id) + ' ' +\
14504            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14505            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14506            'timestamp: ' + repr(self.timestamp) + ' ' +\
14507            '>'
14508
14509    def to_dict(self):
14510        return {
14511            'activity_id': self.activity_id,
14512            'deleted_at': self.deleted_at,
14513            'identity_alias': self.identity_alias,
14514            'timestamp': self.timestamp,
14515        }
14516
14517    @classmethod
14518    def from_dict(cls, d):
14519        return cls(
14520            activity_id=d.get('activity_id'),
14521            deleted_at=d.get('deleted_at'),
14522            identity_alias=d.get('identity_alias'),
14523            timestamp=d.get('timestamp'),
14524        )
14525
14526
14527class IdentityAliasUpdateResponse:
14528    '''
14529         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
14530     a IdentityAliasUpdateRequest.
14531    '''
14532    __slots__ = [
14533        'identity_alias',
14534        'meta',
14535        'rate_limit',
14536    ]
14537
14538    def __init__(
14539        self,
14540        identity_alias=None,
14541        meta=None,
14542        rate_limit=None,
14543    ):
14544        self.identity_alias = identity_alias if identity_alias is not None else None
14545        '''
14546         The updated IdentityAlias.
14547        '''
14548        self.meta = meta if meta is not None else None
14549        '''
14550         Reserved for future use.
14551        '''
14552        self.rate_limit = rate_limit if rate_limit is not None else None
14553        '''
14554         Rate limit information.
14555        '''
14556
14557    def __repr__(self):
14558        return '<sdm.IdentityAliasUpdateResponse ' + \
14559            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14560            'meta: ' + repr(self.meta) + ' ' +\
14561            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14562            '>'
14563
14564    def to_dict(self):
14565        return {
14566            'identity_alias': self.identity_alias,
14567            'meta': self.meta,
14568            'rate_limit': self.rate_limit,
14569        }
14570
14571    @classmethod
14572    def from_dict(cls, d):
14573        return cls(
14574            identity_alias=d.get('identity_alias'),
14575            meta=d.get('meta'),
14576            rate_limit=d.get('rate_limit'),
14577        )
14578
14579
14580class IdentitySet:
14581    '''
14582         A IdentitySet defines a group of identity aliases.
14583    '''
14584    __slots__ = [
14585        'id',
14586        'name',
14587    ]
14588
14589    def __init__(
14590        self,
14591        id=None,
14592        name=None,
14593    ):
14594        self.id = id if id is not None else ''
14595        '''
14596         Unique identifier of the IdentitySet.
14597        '''
14598        self.name = name if name is not None else ''
14599        '''
14600         Unique human-readable name of the IdentitySet.
14601        '''
14602
14603    def __repr__(self):
14604        return '<sdm.IdentitySet ' + \
14605            'id: ' + repr(self.id) + ' ' +\
14606            'name: ' + repr(self.name) + ' ' +\
14607            '>'
14608
14609    def to_dict(self):
14610        return {
14611            'id': self.id,
14612            'name': self.name,
14613        }
14614
14615    @classmethod
14616    def from_dict(cls, d):
14617        return cls(
14618            id=d.get('id'),
14619            name=d.get('name'),
14620        )
14621
14622
14623class IdentitySetCreateResponse:
14624    '''
14625         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
14626     communicate partial successes or failures.
14627    '''
14628    __slots__ = [
14629        'identity_set',
14630        'meta',
14631        'rate_limit',
14632    ]
14633
14634    def __init__(
14635        self,
14636        identity_set=None,
14637        meta=None,
14638        rate_limit=None,
14639    ):
14640        self.identity_set = identity_set if identity_set is not None else None
14641        '''
14642         The created IdentitySet.
14643        '''
14644        self.meta = meta if meta is not None else None
14645        '''
14646         Reserved for future use.
14647        '''
14648        self.rate_limit = rate_limit if rate_limit is not None else None
14649        '''
14650         Rate limit information.
14651        '''
14652
14653    def __repr__(self):
14654        return '<sdm.IdentitySetCreateResponse ' + \
14655            'identity_set: ' + repr(self.identity_set) + ' ' +\
14656            'meta: ' + repr(self.meta) + ' ' +\
14657            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14658            '>'
14659
14660    def to_dict(self):
14661        return {
14662            'identity_set': self.identity_set,
14663            'meta': self.meta,
14664            'rate_limit': self.rate_limit,
14665        }
14666
14667    @classmethod
14668    def from_dict(cls, d):
14669        return cls(
14670            identity_set=d.get('identity_set'),
14671            meta=d.get('meta'),
14672            rate_limit=d.get('rate_limit'),
14673        )
14674
14675
14676class IdentitySetDeleteResponse:
14677    '''
14678         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
14679    '''
14680    __slots__ = [
14681        'meta',
14682        'rate_limit',
14683    ]
14684
14685    def __init__(
14686        self,
14687        meta=None,
14688        rate_limit=None,
14689    ):
14690        self.meta = meta if meta is not None else None
14691        '''
14692         Reserved for future use.
14693        '''
14694        self.rate_limit = rate_limit if rate_limit is not None else None
14695        '''
14696         Rate limit information.
14697        '''
14698
14699    def __repr__(self):
14700        return '<sdm.IdentitySetDeleteResponse ' + \
14701            'meta: ' + repr(self.meta) + ' ' +\
14702            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14703            '>'
14704
14705    def to_dict(self):
14706        return {
14707            'meta': self.meta,
14708            'rate_limit': self.rate_limit,
14709        }
14710
14711    @classmethod
14712    def from_dict(cls, d):
14713        return cls(
14714            meta=d.get('meta'),
14715            rate_limit=d.get('rate_limit'),
14716        )
14717
14718
14719class IdentitySetGetResponse:
14720    '''
14721         IdentitySetGetResponse returns a requested IdentitySet.
14722    '''
14723    __slots__ = [
14724        'identity_set',
14725        'meta',
14726        'rate_limit',
14727    ]
14728
14729    def __init__(
14730        self,
14731        identity_set=None,
14732        meta=None,
14733        rate_limit=None,
14734    ):
14735        self.identity_set = identity_set if identity_set is not None else None
14736        '''
14737         The requested IdentitySet.
14738        '''
14739        self.meta = meta if meta is not None else None
14740        '''
14741         Reserved for future use.
14742        '''
14743        self.rate_limit = rate_limit if rate_limit is not None else None
14744        '''
14745         Rate limit information.
14746        '''
14747
14748    def __repr__(self):
14749        return '<sdm.IdentitySetGetResponse ' + \
14750            'identity_set: ' + repr(self.identity_set) + ' ' +\
14751            'meta: ' + repr(self.meta) + ' ' +\
14752            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14753            '>'
14754
14755    def to_dict(self):
14756        return {
14757            'identity_set': self.identity_set,
14758            'meta': self.meta,
14759            'rate_limit': self.rate_limit,
14760        }
14761
14762    @classmethod
14763    def from_dict(cls, d):
14764        return cls(
14765            identity_set=d.get('identity_set'),
14766            meta=d.get('meta'),
14767            rate_limit=d.get('rate_limit'),
14768        )
14769
14770
14771class IdentitySetHistory:
14772    '''
14773         IdentitySetHistory records the state of a IdentitySet at a given point in time,
14774     where every change (create, update and delete) to a IdentitySet produces an
14775     IdentitySetHistory record.
14776    '''
14777    __slots__ = [
14778        'activity_id',
14779        'deleted_at',
14780        'identity_set',
14781        'timestamp',
14782    ]
14783
14784    def __init__(
14785        self,
14786        activity_id=None,
14787        deleted_at=None,
14788        identity_set=None,
14789        timestamp=None,
14790    ):
14791        self.activity_id = activity_id if activity_id is not None else ''
14792        '''
14793         The unique identifier of the Activity that produced this change to the IdentitySet.
14794         May be empty for some system-initiated updates.
14795        '''
14796        self.deleted_at = deleted_at if deleted_at is not None else None
14797        '''
14798         If this IdentitySet was deleted, the time it was deleted.
14799        '''
14800        self.identity_set = identity_set if identity_set is not None else None
14801        '''
14802         The complete IdentitySet state at this time.
14803        '''
14804        self.timestamp = timestamp if timestamp is not None else None
14805        '''
14806         The time at which the IdentitySet state was recorded.
14807        '''
14808
14809    def __repr__(self):
14810        return '<sdm.IdentitySetHistory ' + \
14811            'activity_id: ' + repr(self.activity_id) + ' ' +\
14812            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14813            'identity_set: ' + repr(self.identity_set) + ' ' +\
14814            'timestamp: ' + repr(self.timestamp) + ' ' +\
14815            '>'
14816
14817    def to_dict(self):
14818        return {
14819            'activity_id': self.activity_id,
14820            'deleted_at': self.deleted_at,
14821            'identity_set': self.identity_set,
14822            'timestamp': self.timestamp,
14823        }
14824
14825    @classmethod
14826    def from_dict(cls, d):
14827        return cls(
14828            activity_id=d.get('activity_id'),
14829            deleted_at=d.get('deleted_at'),
14830            identity_set=d.get('identity_set'),
14831            timestamp=d.get('timestamp'),
14832        )
14833
14834
14835class IdentitySetUpdateResponse:
14836    '''
14837         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
14838     a IdentitySetUpdateRequest.
14839    '''
14840    __slots__ = [
14841        'identity_set',
14842        'meta',
14843        'rate_limit',
14844    ]
14845
14846    def __init__(
14847        self,
14848        identity_set=None,
14849        meta=None,
14850        rate_limit=None,
14851    ):
14852        self.identity_set = identity_set if identity_set is not None else None
14853        '''
14854         The updated IdentitySet.
14855        '''
14856        self.meta = meta if meta is not None else None
14857        '''
14858         Reserved for future use.
14859        '''
14860        self.rate_limit = rate_limit if rate_limit is not None else None
14861        '''
14862         Rate limit information.
14863        '''
14864
14865    def __repr__(self):
14866        return '<sdm.IdentitySetUpdateResponse ' + \
14867            'identity_set: ' + repr(self.identity_set) + ' ' +\
14868            'meta: ' + repr(self.meta) + ' ' +\
14869            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14870            '>'
14871
14872    def to_dict(self):
14873        return {
14874            'identity_set': self.identity_set,
14875            'meta': self.meta,
14876            'rate_limit': self.rate_limit,
14877        }
14878
14879    @classmethod
14880    def from_dict(cls, d):
14881        return cls(
14882            identity_set=d.get('identity_set'),
14883            meta=d.get('meta'),
14884            rate_limit=d.get('rate_limit'),
14885        )
14886
14887
14888class KeyValueEngine:
14889    '''
14890    KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14891    without a major version bump.
14892    '''
14893    __slots__ = [
14894        'id',
14895        'key_rotation_interval_days',
14896        'name',
14897        'public_key',
14898        'secret_store_id',
14899        'secret_store_root_path',
14900        'tags',
14901    ]
14902
14903    def __init__(
14904        self,
14905        id=None,
14906        key_rotation_interval_days=None,
14907        name=None,
14908        public_key=None,
14909        secret_store_id=None,
14910        secret_store_root_path=None,
14911        tags=None,
14912    ):
14913        self.id = id if id is not None else ''
14914        '''
14915         Unique identifier of the Secret Engine.
14916        '''
14917        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14918        '''
14919         An interval of public/private key rotation for secret engine in days
14920        '''
14921        self.name = name if name is not None else ''
14922        '''
14923         Unique human-readable name of the Secret Engine.
14924        '''
14925        self.public_key = public_key if public_key is not None else b''
14926        '''
14927         Public key linked with a secret engine
14928        '''
14929        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14930        '''
14931         Backing secret store identifier
14932        '''
14933        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14934        '''
14935         Backing Secret Store root path where managed secrets are going to be stored
14936        '''
14937        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14938        '''
14939         Tags is a map of key, value pairs.
14940        '''
14941
14942    def __repr__(self):
14943        return '<sdm.KeyValueEngine ' + \
14944            'id: ' + repr(self.id) + ' ' +\
14945            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14946            'name: ' + repr(self.name) + ' ' +\
14947            'public_key: ' + repr(self.public_key) + ' ' +\
14948            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14949            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14950            'tags: ' + repr(self.tags) + ' ' +\
14951            '>'
14952
14953    def to_dict(self):
14954        return {
14955            'id': self.id,
14956            'key_rotation_interval_days': self.key_rotation_interval_days,
14957            'name': self.name,
14958            'public_key': self.public_key,
14959            'secret_store_id': self.secret_store_id,
14960            'secret_store_root_path': self.secret_store_root_path,
14961            'tags': self.tags,
14962        }
14963
14964    @classmethod
14965    def from_dict(cls, d):
14966        return cls(
14967            id=d.get('id'),
14968            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14969            name=d.get('name'),
14970            public_key=d.get('public_key'),
14971            secret_store_id=d.get('secret_store_id'),
14972            secret_store_root_path=d.get('secret_store_root_path'),
14973            tags=d.get('tags'),
14974        )
14975
14976
14977class KeyfactorSSHStore:
14978    __slots__ = [
14979        'ca_file_path',
14980        'certificate_file_path',
14981        'default_certificate_authority_name',
14982        'default_certificate_profile_name',
14983        'default_end_entity_profile_name',
14984        'enrollment_code_env_var',
14985        'enrollment_username_env_var',
14986        'id',
14987        'key_file_path',
14988        'name',
14989        'server_address',
14990        'tags',
14991    ]
14992
14993    def __init__(
14994        self,
14995        ca_file_path=None,
14996        certificate_file_path=None,
14997        default_certificate_authority_name=None,
14998        default_certificate_profile_name=None,
14999        default_end_entity_profile_name=None,
15000        enrollment_code_env_var=None,
15001        enrollment_username_env_var=None,
15002        id=None,
15003        key_file_path=None,
15004        name=None,
15005        server_address=None,
15006        tags=None,
15007    ):
15008        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15009        '''
15010         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15011         This is not required if the CA is trusted by the host operating system. This should be a PEM
15012         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15013        '''
15014        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15015        '''
15016         Path to client certificate in PEM format. This certificate must contain a client certificate that
15017         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15018         key associated with the certificate, but KeyFile can also be set to configure the private key.
15019        '''
15020        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15021        '''
15022         Name of EJBCA certificate authority that will enroll CSR.
15023        '''
15024        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15025        '''
15026         Certificate profile name that EJBCA will enroll the CSR with.
15027        '''
15028        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15029        '''
15030         End entity profile that EJBCA will enroll the CSR with.
15031        '''
15032        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15033        '''
15034         code used by EJBCA during enrollment. May be left blank if no code is required.
15035        '''
15036        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15037        '''
15038         username that used by the EJBCA during enrollment. This can be left out. 
15039         If so, the username must be auto-generated on the Keyfactor side.
15040        '''
15041        self.id = id if id is not None else ''
15042        '''
15043         Unique identifier of the SecretStore.
15044        '''
15045        self.key_file_path = key_file_path if key_file_path is not None else ''
15046        '''
15047         Path to private key in PEM format. This file should contain the private key associated with the
15048         client certificate configured in CertificateFile.
15049        '''
15050        self.name = name if name is not None else ''
15051        '''
15052         Unique human-readable name of the SecretStore.
15053        '''
15054        self.server_address = server_address if server_address is not None else ''
15055        '''
15056         the host of the Key Factor CA
15057        '''
15058        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15059        '''
15060         Tags is a map of key, value pairs.
15061        '''
15062
15063    def __repr__(self):
15064        return '<sdm.KeyfactorSSHStore ' + \
15065            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15066            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15067            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15068            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15069            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15070            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15071            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15072            'id: ' + repr(self.id) + ' ' +\
15073            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15074            'name: ' + repr(self.name) + ' ' +\
15075            'server_address: ' + repr(self.server_address) + ' ' +\
15076            'tags: ' + repr(self.tags) + ' ' +\
15077            '>'
15078
15079    def to_dict(self):
15080        return {
15081            'ca_file_path': self.ca_file_path,
15082            'certificate_file_path': self.certificate_file_path,
15083            'default_certificate_authority_name':
15084            self.default_certificate_authority_name,
15085            'default_certificate_profile_name':
15086            self.default_certificate_profile_name,
15087            'default_end_entity_profile_name':
15088            self.default_end_entity_profile_name,
15089            'enrollment_code_env_var': self.enrollment_code_env_var,
15090            'enrollment_username_env_var': self.enrollment_username_env_var,
15091            'id': self.id,
15092            'key_file_path': self.key_file_path,
15093            'name': self.name,
15094            'server_address': self.server_address,
15095            'tags': self.tags,
15096        }
15097
15098    @classmethod
15099    def from_dict(cls, d):
15100        return cls(
15101            ca_file_path=d.get('ca_file_path'),
15102            certificate_file_path=d.get('certificate_file_path'),
15103            default_certificate_authority_name=d.get(
15104                'default_certificate_authority_name'),
15105            default_certificate_profile_name=d.get(
15106                'default_certificate_profile_name'),
15107            default_end_entity_profile_name=d.get(
15108                'default_end_entity_profile_name'),
15109            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15110            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15111            id=d.get('id'),
15112            key_file_path=d.get('key_file_path'),
15113            name=d.get('name'),
15114            server_address=d.get('server_address'),
15115            tags=d.get('tags'),
15116        )
15117
15118
15119class KeyfactorX509Store:
15120    __slots__ = [
15121        'ca_file_path',
15122        'certificate_file_path',
15123        'default_certificate_authority_name',
15124        'default_certificate_profile_name',
15125        'default_end_entity_profile_name',
15126        'enrollment_code_env_var',
15127        'enrollment_username_env_var',
15128        'id',
15129        'key_file_path',
15130        'name',
15131        'server_address',
15132        'tags',
15133    ]
15134
15135    def __init__(
15136        self,
15137        ca_file_path=None,
15138        certificate_file_path=None,
15139        default_certificate_authority_name=None,
15140        default_certificate_profile_name=None,
15141        default_end_entity_profile_name=None,
15142        enrollment_code_env_var=None,
15143        enrollment_username_env_var=None,
15144        id=None,
15145        key_file_path=None,
15146        name=None,
15147        server_address=None,
15148        tags=None,
15149    ):
15150        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15151        '''
15152         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15153         This is not required if the CA is trusted by the host operating system. This should be a PEM
15154         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15155        '''
15156        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15157        '''
15158         Path to client certificate in PEM format. This certificate must contain a client certificate that
15159         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15160         key associated with the certificate, but KeyFile can also be set to configure the private key.
15161        '''
15162        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15163        '''
15164         Name of EJBCA certificate authority that will enroll CSR.
15165        '''
15166        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15167        '''
15168         Certificate profile name that EJBCA will enroll the CSR with.
15169        '''
15170        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15171        '''
15172         End entity profile that EJBCA will enroll the CSR with.
15173        '''
15174        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15175        '''
15176         code used by EJBCA during enrollment. May be left blank if no code is required.
15177        '''
15178        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15179        '''
15180         username that used by the EJBCA during enrollment. This can be left out. 
15181         If so, the username must be auto-generated on the Keyfactor side.
15182        '''
15183        self.id = id if id is not None else ''
15184        '''
15185         Unique identifier of the SecretStore.
15186        '''
15187        self.key_file_path = key_file_path if key_file_path is not None else ''
15188        '''
15189         Path to private key in PEM format. This file should contain the private key associated with the
15190         client certificate configured in CertificateFile.
15191        '''
15192        self.name = name if name is not None else ''
15193        '''
15194         Unique human-readable name of the SecretStore.
15195        '''
15196        self.server_address = server_address if server_address is not None else ''
15197        '''
15198         the host of the Key Factor CA
15199        '''
15200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15201        '''
15202         Tags is a map of key, value pairs.
15203        '''
15204
15205    def __repr__(self):
15206        return '<sdm.KeyfactorX509Store ' + \
15207            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15208            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15209            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15210            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15211            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15212            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15213            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15214            'id: ' + repr(self.id) + ' ' +\
15215            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15216            'name: ' + repr(self.name) + ' ' +\
15217            'server_address: ' + repr(self.server_address) + ' ' +\
15218            'tags: ' + repr(self.tags) + ' ' +\
15219            '>'
15220
15221    def to_dict(self):
15222        return {
15223            'ca_file_path': self.ca_file_path,
15224            'certificate_file_path': self.certificate_file_path,
15225            'default_certificate_authority_name':
15226            self.default_certificate_authority_name,
15227            'default_certificate_profile_name':
15228            self.default_certificate_profile_name,
15229            'default_end_entity_profile_name':
15230            self.default_end_entity_profile_name,
15231            'enrollment_code_env_var': self.enrollment_code_env_var,
15232            'enrollment_username_env_var': self.enrollment_username_env_var,
15233            'id': self.id,
15234            'key_file_path': self.key_file_path,
15235            'name': self.name,
15236            'server_address': self.server_address,
15237            'tags': self.tags,
15238        }
15239
15240    @classmethod
15241    def from_dict(cls, d):
15242        return cls(
15243            ca_file_path=d.get('ca_file_path'),
15244            certificate_file_path=d.get('certificate_file_path'),
15245            default_certificate_authority_name=d.get(
15246                'default_certificate_authority_name'),
15247            default_certificate_profile_name=d.get(
15248                'default_certificate_profile_name'),
15249            default_end_entity_profile_name=d.get(
15250                'default_end_entity_profile_name'),
15251            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15252            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15253            id=d.get('id'),
15254            key_file_path=d.get('key_file_path'),
15255            name=d.get('name'),
15256            server_address=d.get('server_address'),
15257            tags=d.get('tags'),
15258        )
15259
15260
15261class Kubernetes:
15262    __slots__ = [
15263        'allow_resource_role_bypass',
15264        'bind_interface',
15265        'certificate_authority',
15266        'client_certificate',
15267        'client_key',
15268        'discovery_enabled',
15269        'discovery_username',
15270        'egress_filter',
15271        'healthcheck_namespace',
15272        'healthy',
15273        'hostname',
15274        'id',
15275        'identity_alias_healthcheck_username',
15276        'identity_set_id',
15277        'name',
15278        'port',
15279        'port_override',
15280        'proxy_cluster_id',
15281        'secret_store_id',
15282        'subdomain',
15283        'tags',
15284    ]
15285
15286    def __init__(
15287        self,
15288        allow_resource_role_bypass=None,
15289        bind_interface=None,
15290        certificate_authority=None,
15291        client_certificate=None,
15292        client_key=None,
15293        discovery_enabled=None,
15294        discovery_username=None,
15295        egress_filter=None,
15296        healthcheck_namespace=None,
15297        healthy=None,
15298        hostname=None,
15299        id=None,
15300        identity_alias_healthcheck_username=None,
15301        identity_set_id=None,
15302        name=None,
15303        port=None,
15304        port_override=None,
15305        proxy_cluster_id=None,
15306        secret_store_id=None,
15307        subdomain=None,
15308        tags=None,
15309    ):
15310        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15311        '''
15312         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15313         when a resource role is not provided.
15314        '''
15315        self.bind_interface = bind_interface if bind_interface is not None else ''
15316        '''
15317         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15318        '''
15319        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15320        '''
15321         The CA to authenticate TLS connections with.
15322        '''
15323        self.client_certificate = client_certificate if client_certificate is not None else ''
15324        '''
15325         The certificate to authenticate TLS connections with.
15326        '''
15327        self.client_key = client_key if client_key is not None else ''
15328        '''
15329         The key to authenticate TLS connections with.
15330        '''
15331        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15332        '''
15333         If true, configures discovery of a cluster to be run from a node.
15334        '''
15335        self.discovery_username = discovery_username if discovery_username is not None else ''
15336        '''
15337         If a cluster is configured for user impersonation, this is the user to impersonate when
15338         running discovery.
15339        '''
15340        self.egress_filter = egress_filter if egress_filter is not None else ''
15341        '''
15342         A filter applied to the routing logic to pin datasource to nodes.
15343        '''
15344        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15345        '''
15346         The path used to check the health of your connection.  Defaults to `default`.
15347        '''
15348        self.healthy = healthy if healthy is not None else False
15349        '''
15350         True if the datasource is reachable and the credentials are valid.
15351        '''
15352        self.hostname = hostname if hostname is not None else ''
15353        '''
15354         The host to dial to initiate a connection from the egress node to this resource.
15355        '''
15356        self.id = id if id is not None else ''
15357        '''
15358         Unique identifier of the Resource.
15359        '''
15360        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15361        '''
15362         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15363        '''
15364        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15365        '''
15366         The ID of the identity set to use for identity connections.
15367        '''
15368        self.name = name if name is not None else ''
15369        '''
15370         Unique human-readable name of the Resource.
15371        '''
15372        self.port = port if port is not None else 0
15373        '''
15374         The port to dial to initiate a connection from the egress node to this resource.
15375        '''
15376        self.port_override = port_override if port_override is not None else 0
15377        '''
15378         The local port used by clients to connect to this resource.
15379        '''
15380        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15381        '''
15382         ID of the proxy cluster for this resource, if any.
15383        '''
15384        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15385        '''
15386         ID of the secret store containing credentials for this resource, if any.
15387        '''
15388        self.subdomain = subdomain if subdomain is not None else ''
15389        '''
15390         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15391        '''
15392        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15393        '''
15394         Tags is a map of key, value pairs.
15395        '''
15396
15397    def __repr__(self):
15398        return '<sdm.Kubernetes ' + \
15399            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15400            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15401            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15402            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15403            'client_key: ' + repr(self.client_key) + ' ' +\
15404            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15405            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15406            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15407            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15408            'healthy: ' + repr(self.healthy) + ' ' +\
15409            'hostname: ' + repr(self.hostname) + ' ' +\
15410            'id: ' + repr(self.id) + ' ' +\
15411            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15412            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15413            'name: ' + repr(self.name) + ' ' +\
15414            'port: ' + repr(self.port) + ' ' +\
15415            'port_override: ' + repr(self.port_override) + ' ' +\
15416            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15417            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15418            'subdomain: ' + repr(self.subdomain) + ' ' +\
15419            'tags: ' + repr(self.tags) + ' ' +\
15420            '>'
15421
15422    def to_dict(self):
15423        return {
15424            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15425            'bind_interface': self.bind_interface,
15426            'certificate_authority': self.certificate_authority,
15427            'client_certificate': self.client_certificate,
15428            'client_key': self.client_key,
15429            'discovery_enabled': self.discovery_enabled,
15430            'discovery_username': self.discovery_username,
15431            'egress_filter': self.egress_filter,
15432            'healthcheck_namespace': self.healthcheck_namespace,
15433            'healthy': self.healthy,
15434            'hostname': self.hostname,
15435            'id': self.id,
15436            'identity_alias_healthcheck_username':
15437            self.identity_alias_healthcheck_username,
15438            'identity_set_id': self.identity_set_id,
15439            'name': self.name,
15440            'port': self.port,
15441            'port_override': self.port_override,
15442            'proxy_cluster_id': self.proxy_cluster_id,
15443            'secret_store_id': self.secret_store_id,
15444            'subdomain': self.subdomain,
15445            'tags': self.tags,
15446        }
15447
15448    @classmethod
15449    def from_dict(cls, d):
15450        return cls(
15451            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15452            bind_interface=d.get('bind_interface'),
15453            certificate_authority=d.get('certificate_authority'),
15454            client_certificate=d.get('client_certificate'),
15455            client_key=d.get('client_key'),
15456            discovery_enabled=d.get('discovery_enabled'),
15457            discovery_username=d.get('discovery_username'),
15458            egress_filter=d.get('egress_filter'),
15459            healthcheck_namespace=d.get('healthcheck_namespace'),
15460            healthy=d.get('healthy'),
15461            hostname=d.get('hostname'),
15462            id=d.get('id'),
15463            identity_alias_healthcheck_username=d.get(
15464                'identity_alias_healthcheck_username'),
15465            identity_set_id=d.get('identity_set_id'),
15466            name=d.get('name'),
15467            port=d.get('port'),
15468            port_override=d.get('port_override'),
15469            proxy_cluster_id=d.get('proxy_cluster_id'),
15470            secret_store_id=d.get('secret_store_id'),
15471            subdomain=d.get('subdomain'),
15472            tags=d.get('tags'),
15473        )
15474
15475
15476class KubernetesBasicAuth:
15477    '''
15478    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
15479    without a major version bump.
15480    '''
15481    __slots__ = [
15482        'bind_interface',
15483        'egress_filter',
15484        'healthcheck_namespace',
15485        'healthy',
15486        'hostname',
15487        'id',
15488        'name',
15489        'password',
15490        'port',
15491        'port_override',
15492        'proxy_cluster_id',
15493        'secret_store_id',
15494        'subdomain',
15495        'tags',
15496        'username',
15497    ]
15498
15499    def __init__(
15500        self,
15501        bind_interface=None,
15502        egress_filter=None,
15503        healthcheck_namespace=None,
15504        healthy=None,
15505        hostname=None,
15506        id=None,
15507        name=None,
15508        password=None,
15509        port=None,
15510        port_override=None,
15511        proxy_cluster_id=None,
15512        secret_store_id=None,
15513        subdomain=None,
15514        tags=None,
15515        username=None,
15516    ):
15517        self.bind_interface = bind_interface if bind_interface is not None else ''
15518        '''
15519         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15520        '''
15521        self.egress_filter = egress_filter if egress_filter is not None else ''
15522        '''
15523         A filter applied to the routing logic to pin datasource to nodes.
15524        '''
15525        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15526        '''
15527         The path used to check the health of your connection.  Defaults to `default`.
15528        '''
15529        self.healthy = healthy if healthy is not None else False
15530        '''
15531         True if the datasource is reachable and the credentials are valid.
15532        '''
15533        self.hostname = hostname if hostname is not None else ''
15534        '''
15535         The host to dial to initiate a connection from the egress node to this resource.
15536        '''
15537        self.id = id if id is not None else ''
15538        '''
15539         Unique identifier of the Resource.
15540        '''
15541        self.name = name if name is not None else ''
15542        '''
15543         Unique human-readable name of the Resource.
15544        '''
15545        self.password = password if password is not None else ''
15546        '''
15547         The password to authenticate with.
15548        '''
15549        self.port = port if port is not None else 0
15550        '''
15551         The port to dial to initiate a connection from the egress node to this resource.
15552        '''
15553        self.port_override = port_override if port_override is not None else 0
15554        '''
15555         The local port used by clients to connect to this resource.
15556        '''
15557        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15558        '''
15559         ID of the proxy cluster for this resource, if any.
15560        '''
15561        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15562        '''
15563         ID of the secret store containing credentials for this resource, if any.
15564        '''
15565        self.subdomain = subdomain if subdomain is not None else ''
15566        '''
15567         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15568        '''
15569        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15570        '''
15571         Tags is a map of key, value pairs.
15572        '''
15573        self.username = username if username is not None else ''
15574        '''
15575         The username to authenticate with.
15576        '''
15577
15578    def __repr__(self):
15579        return '<sdm.KubernetesBasicAuth ' + \
15580            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15581            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15582            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15583            'healthy: ' + repr(self.healthy) + ' ' +\
15584            'hostname: ' + repr(self.hostname) + ' ' +\
15585            'id: ' + repr(self.id) + ' ' +\
15586            'name: ' + repr(self.name) + ' ' +\
15587            'password: ' + repr(self.password) + ' ' +\
15588            'port: ' + repr(self.port) + ' ' +\
15589            'port_override: ' + repr(self.port_override) + ' ' +\
15590            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15591            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15592            'subdomain: ' + repr(self.subdomain) + ' ' +\
15593            'tags: ' + repr(self.tags) + ' ' +\
15594            'username: ' + repr(self.username) + ' ' +\
15595            '>'
15596
15597    def to_dict(self):
15598        return {
15599            'bind_interface': self.bind_interface,
15600            'egress_filter': self.egress_filter,
15601            'healthcheck_namespace': self.healthcheck_namespace,
15602            'healthy': self.healthy,
15603            'hostname': self.hostname,
15604            'id': self.id,
15605            'name': self.name,
15606            'password': self.password,
15607            'port': self.port,
15608            'port_override': self.port_override,
15609            'proxy_cluster_id': self.proxy_cluster_id,
15610            'secret_store_id': self.secret_store_id,
15611            'subdomain': self.subdomain,
15612            'tags': self.tags,
15613            'username': self.username,
15614        }
15615
15616    @classmethod
15617    def from_dict(cls, d):
15618        return cls(
15619            bind_interface=d.get('bind_interface'),
15620            egress_filter=d.get('egress_filter'),
15621            healthcheck_namespace=d.get('healthcheck_namespace'),
15622            healthy=d.get('healthy'),
15623            hostname=d.get('hostname'),
15624            id=d.get('id'),
15625            name=d.get('name'),
15626            password=d.get('password'),
15627            port=d.get('port'),
15628            port_override=d.get('port_override'),
15629            proxy_cluster_id=d.get('proxy_cluster_id'),
15630            secret_store_id=d.get('secret_store_id'),
15631            subdomain=d.get('subdomain'),
15632            tags=d.get('tags'),
15633            username=d.get('username'),
15634        )
15635
15636
15637class KubernetesPodIdentity:
15638    __slots__ = [
15639        'allow_resource_role_bypass',
15640        'bind_interface',
15641        'certificate_authority',
15642        'discovery_enabled',
15643        'discovery_username',
15644        'egress_filter',
15645        'healthcheck_namespace',
15646        'healthy',
15647        'id',
15648        'identity_alias_healthcheck_username',
15649        'identity_set_id',
15650        'name',
15651        'port_override',
15652        'proxy_cluster_id',
15653        'secret_store_id',
15654        'subdomain',
15655        'tags',
15656    ]
15657
15658    def __init__(
15659        self,
15660        allow_resource_role_bypass=None,
15661        bind_interface=None,
15662        certificate_authority=None,
15663        discovery_enabled=None,
15664        discovery_username=None,
15665        egress_filter=None,
15666        healthcheck_namespace=None,
15667        healthy=None,
15668        id=None,
15669        identity_alias_healthcheck_username=None,
15670        identity_set_id=None,
15671        name=None,
15672        port_override=None,
15673        proxy_cluster_id=None,
15674        secret_store_id=None,
15675        subdomain=None,
15676        tags=None,
15677    ):
15678        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15679        '''
15680         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15681         when a resource role is not provided.
15682        '''
15683        self.bind_interface = bind_interface if bind_interface is not None else ''
15684        '''
15685         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15686        '''
15687        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15688        '''
15689         The CA to authenticate TLS connections with.
15690        '''
15691        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15692        '''
15693         If true, configures discovery of a cluster to be run from a node.
15694        '''
15695        self.discovery_username = discovery_username if discovery_username is not None else ''
15696        '''
15697         If a cluster is configured for user impersonation, this is the user to impersonate when
15698         running discovery.
15699        '''
15700        self.egress_filter = egress_filter if egress_filter is not None else ''
15701        '''
15702         A filter applied to the routing logic to pin datasource to nodes.
15703        '''
15704        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15705        '''
15706         The path used to check the health of your connection.  Defaults to `default`.
15707        '''
15708        self.healthy = healthy if healthy is not None else False
15709        '''
15710         True if the datasource is reachable and the credentials are valid.
15711        '''
15712        self.id = id if id is not None else ''
15713        '''
15714         Unique identifier of the Resource.
15715        '''
15716        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15717        '''
15718         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15719        '''
15720        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15721        '''
15722         The ID of the identity set to use for identity connections.
15723        '''
15724        self.name = name if name is not None else ''
15725        '''
15726         Unique human-readable name of the Resource.
15727        '''
15728        self.port_override = port_override if port_override is not None else 0
15729        '''
15730         The local port used by clients to connect to this resource.
15731        '''
15732        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15733        '''
15734         ID of the proxy cluster for this resource, if any.
15735        '''
15736        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15737        '''
15738         ID of the secret store containing credentials for this resource, if any.
15739        '''
15740        self.subdomain = subdomain if subdomain is not None else ''
15741        '''
15742         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15743        '''
15744        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15745        '''
15746         Tags is a map of key, value pairs.
15747        '''
15748
15749    def __repr__(self):
15750        return '<sdm.KubernetesPodIdentity ' + \
15751            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15752            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15753            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15754            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15755            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15756            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15757            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15758            'healthy: ' + repr(self.healthy) + ' ' +\
15759            'id: ' + repr(self.id) + ' ' +\
15760            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15761            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15762            'name: ' + repr(self.name) + ' ' +\
15763            'port_override: ' + repr(self.port_override) + ' ' +\
15764            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15765            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15766            'subdomain: ' + repr(self.subdomain) + ' ' +\
15767            'tags: ' + repr(self.tags) + ' ' +\
15768            '>'
15769
15770    def to_dict(self):
15771        return {
15772            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15773            'bind_interface': self.bind_interface,
15774            'certificate_authority': self.certificate_authority,
15775            'discovery_enabled': self.discovery_enabled,
15776            'discovery_username': self.discovery_username,
15777            'egress_filter': self.egress_filter,
15778            'healthcheck_namespace': self.healthcheck_namespace,
15779            'healthy': self.healthy,
15780            'id': self.id,
15781            'identity_alias_healthcheck_username':
15782            self.identity_alias_healthcheck_username,
15783            'identity_set_id': self.identity_set_id,
15784            'name': self.name,
15785            'port_override': self.port_override,
15786            'proxy_cluster_id': self.proxy_cluster_id,
15787            'secret_store_id': self.secret_store_id,
15788            'subdomain': self.subdomain,
15789            'tags': self.tags,
15790        }
15791
15792    @classmethod
15793    def from_dict(cls, d):
15794        return cls(
15795            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15796            bind_interface=d.get('bind_interface'),
15797            certificate_authority=d.get('certificate_authority'),
15798            discovery_enabled=d.get('discovery_enabled'),
15799            discovery_username=d.get('discovery_username'),
15800            egress_filter=d.get('egress_filter'),
15801            healthcheck_namespace=d.get('healthcheck_namespace'),
15802            healthy=d.get('healthy'),
15803            id=d.get('id'),
15804            identity_alias_healthcheck_username=d.get(
15805                'identity_alias_healthcheck_username'),
15806            identity_set_id=d.get('identity_set_id'),
15807            name=d.get('name'),
15808            port_override=d.get('port_override'),
15809            proxy_cluster_id=d.get('proxy_cluster_id'),
15810            secret_store_id=d.get('secret_store_id'),
15811            subdomain=d.get('subdomain'),
15812            tags=d.get('tags'),
15813        )
15814
15815
15816class KubernetesServiceAccount:
15817    __slots__ = [
15818        'allow_resource_role_bypass',
15819        'bind_interface',
15820        'discovery_enabled',
15821        'discovery_username',
15822        'egress_filter',
15823        'healthcheck_namespace',
15824        'healthy',
15825        'hostname',
15826        'id',
15827        'identity_alias_healthcheck_username',
15828        'identity_set_id',
15829        'name',
15830        'port',
15831        'port_override',
15832        'proxy_cluster_id',
15833        'secret_store_id',
15834        'subdomain',
15835        'tags',
15836        'token',
15837    ]
15838
15839    def __init__(
15840        self,
15841        allow_resource_role_bypass=None,
15842        bind_interface=None,
15843        discovery_enabled=None,
15844        discovery_username=None,
15845        egress_filter=None,
15846        healthcheck_namespace=None,
15847        healthy=None,
15848        hostname=None,
15849        id=None,
15850        identity_alias_healthcheck_username=None,
15851        identity_set_id=None,
15852        name=None,
15853        port=None,
15854        port_override=None,
15855        proxy_cluster_id=None,
15856        secret_store_id=None,
15857        subdomain=None,
15858        tags=None,
15859        token=None,
15860    ):
15861        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15862        '''
15863         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15864         when a resource role is not provided.
15865        '''
15866        self.bind_interface = bind_interface if bind_interface is not None else ''
15867        '''
15868         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15869        '''
15870        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15871        '''
15872         If true, configures discovery of a cluster to be run from a node.
15873        '''
15874        self.discovery_username = discovery_username if discovery_username is not None else ''
15875        '''
15876         If a cluster is configured for user impersonation, this is the user to impersonate when
15877         running discovery.
15878        '''
15879        self.egress_filter = egress_filter if egress_filter is not None else ''
15880        '''
15881         A filter applied to the routing logic to pin datasource to nodes.
15882        '''
15883        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15884        '''
15885         The path used to check the health of your connection.  Defaults to `default`.
15886        '''
15887        self.healthy = healthy if healthy is not None else False
15888        '''
15889         True if the datasource is reachable and the credentials are valid.
15890        '''
15891        self.hostname = hostname if hostname is not None else ''
15892        '''
15893         The host to dial to initiate a connection from the egress node to this resource.
15894        '''
15895        self.id = id if id is not None else ''
15896        '''
15897         Unique identifier of the Resource.
15898        '''
15899        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15900        '''
15901         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15902        '''
15903        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15904        '''
15905         The ID of the identity set to use for identity connections.
15906        '''
15907        self.name = name if name is not None else ''
15908        '''
15909         Unique human-readable name of the Resource.
15910        '''
15911        self.port = port if port is not None else 0
15912        '''
15913         The port to dial to initiate a connection from the egress node to this resource.
15914        '''
15915        self.port_override = port_override if port_override is not None else 0
15916        '''
15917         The local port used by clients to connect to this resource.
15918        '''
15919        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15920        '''
15921         ID of the proxy cluster for this resource, if any.
15922        '''
15923        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15924        '''
15925         ID of the secret store containing credentials for this resource, if any.
15926        '''
15927        self.subdomain = subdomain if subdomain is not None else ''
15928        '''
15929         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15930        '''
15931        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15932        '''
15933         Tags is a map of key, value pairs.
15934        '''
15935        self.token = token if token is not None else ''
15936        '''
15937         The API token to authenticate with.
15938        '''
15939
15940    def __repr__(self):
15941        return '<sdm.KubernetesServiceAccount ' + \
15942            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15943            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15944            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15945            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15946            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15947            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15948            'healthy: ' + repr(self.healthy) + ' ' +\
15949            'hostname: ' + repr(self.hostname) + ' ' +\
15950            'id: ' + repr(self.id) + ' ' +\
15951            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15952            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15953            'name: ' + repr(self.name) + ' ' +\
15954            'port: ' + repr(self.port) + ' ' +\
15955            'port_override: ' + repr(self.port_override) + ' ' +\
15956            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15957            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15958            'subdomain: ' + repr(self.subdomain) + ' ' +\
15959            'tags: ' + repr(self.tags) + ' ' +\
15960            'token: ' + repr(self.token) + ' ' +\
15961            '>'
15962
15963    def to_dict(self):
15964        return {
15965            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15966            'bind_interface': self.bind_interface,
15967            'discovery_enabled': self.discovery_enabled,
15968            'discovery_username': self.discovery_username,
15969            'egress_filter': self.egress_filter,
15970            'healthcheck_namespace': self.healthcheck_namespace,
15971            'healthy': self.healthy,
15972            'hostname': self.hostname,
15973            'id': self.id,
15974            'identity_alias_healthcheck_username':
15975            self.identity_alias_healthcheck_username,
15976            'identity_set_id': self.identity_set_id,
15977            'name': self.name,
15978            'port': self.port,
15979            'port_override': self.port_override,
15980            'proxy_cluster_id': self.proxy_cluster_id,
15981            'secret_store_id': self.secret_store_id,
15982            'subdomain': self.subdomain,
15983            'tags': self.tags,
15984            'token': self.token,
15985        }
15986
15987    @classmethod
15988    def from_dict(cls, d):
15989        return cls(
15990            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15991            bind_interface=d.get('bind_interface'),
15992            discovery_enabled=d.get('discovery_enabled'),
15993            discovery_username=d.get('discovery_username'),
15994            egress_filter=d.get('egress_filter'),
15995            healthcheck_namespace=d.get('healthcheck_namespace'),
15996            healthy=d.get('healthy'),
15997            hostname=d.get('hostname'),
15998            id=d.get('id'),
15999            identity_alias_healthcheck_username=d.get(
16000                'identity_alias_healthcheck_username'),
16001            identity_set_id=d.get('identity_set_id'),
16002            name=d.get('name'),
16003            port=d.get('port'),
16004            port_override=d.get('port_override'),
16005            proxy_cluster_id=d.get('proxy_cluster_id'),
16006            secret_store_id=d.get('secret_store_id'),
16007            subdomain=d.get('subdomain'),
16008            tags=d.get('tags'),
16009            token=d.get('token'),
16010        )
16011
16012
16013class KubernetesServiceAccountUserImpersonation:
16014    __slots__ = [
16015        'bind_interface',
16016        'egress_filter',
16017        'healthcheck_namespace',
16018        'healthy',
16019        'hostname',
16020        'id',
16021        'name',
16022        'port',
16023        'port_override',
16024        'proxy_cluster_id',
16025        'secret_store_id',
16026        'subdomain',
16027        'tags',
16028        'token',
16029    ]
16030
16031    def __init__(
16032        self,
16033        bind_interface=None,
16034        egress_filter=None,
16035        healthcheck_namespace=None,
16036        healthy=None,
16037        hostname=None,
16038        id=None,
16039        name=None,
16040        port=None,
16041        port_override=None,
16042        proxy_cluster_id=None,
16043        secret_store_id=None,
16044        subdomain=None,
16045        tags=None,
16046        token=None,
16047    ):
16048        self.bind_interface = bind_interface if bind_interface is not None else ''
16049        '''
16050         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16051        '''
16052        self.egress_filter = egress_filter if egress_filter is not None else ''
16053        '''
16054         A filter applied to the routing logic to pin datasource to nodes.
16055        '''
16056        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16057        '''
16058         The path used to check the health of your connection.  Defaults to `default`.
16059        '''
16060        self.healthy = healthy if healthy is not None else False
16061        '''
16062         True if the datasource is reachable and the credentials are valid.
16063        '''
16064        self.hostname = hostname if hostname is not None else ''
16065        '''
16066         The host to dial to initiate a connection from the egress node to this resource.
16067        '''
16068        self.id = id if id is not None else ''
16069        '''
16070         Unique identifier of the Resource.
16071        '''
16072        self.name = name if name is not None else ''
16073        '''
16074         Unique human-readable name of the Resource.
16075        '''
16076        self.port = port if port is not None else 0
16077        '''
16078         The port to dial to initiate a connection from the egress node to this resource.
16079        '''
16080        self.port_override = port_override if port_override is not None else 0
16081        '''
16082         The local port used by clients to connect to this resource.
16083        '''
16084        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16085        '''
16086         ID of the proxy cluster for this resource, if any.
16087        '''
16088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16089        '''
16090         ID of the secret store containing credentials for this resource, if any.
16091        '''
16092        self.subdomain = subdomain if subdomain is not None else ''
16093        '''
16094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16095        '''
16096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16097        '''
16098         Tags is a map of key, value pairs.
16099        '''
16100        self.token = token if token is not None else ''
16101        '''
16102         The API token to authenticate with.
16103        '''
16104
16105    def __repr__(self):
16106        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
16107            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16108            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16109            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16110            'healthy: ' + repr(self.healthy) + ' ' +\
16111            'hostname: ' + repr(self.hostname) + ' ' +\
16112            'id: ' + repr(self.id) + ' ' +\
16113            'name: ' + repr(self.name) + ' ' +\
16114            'port: ' + repr(self.port) + ' ' +\
16115            'port_override: ' + repr(self.port_override) + ' ' +\
16116            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16117            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16118            'subdomain: ' + repr(self.subdomain) + ' ' +\
16119            'tags: ' + repr(self.tags) + ' ' +\
16120            'token: ' + repr(self.token) + ' ' +\
16121            '>'
16122
16123    def to_dict(self):
16124        return {
16125            'bind_interface': self.bind_interface,
16126            'egress_filter': self.egress_filter,
16127            'healthcheck_namespace': self.healthcheck_namespace,
16128            'healthy': self.healthy,
16129            'hostname': self.hostname,
16130            'id': self.id,
16131            'name': self.name,
16132            'port': self.port,
16133            'port_override': self.port_override,
16134            'proxy_cluster_id': self.proxy_cluster_id,
16135            'secret_store_id': self.secret_store_id,
16136            'subdomain': self.subdomain,
16137            'tags': self.tags,
16138            'token': self.token,
16139        }
16140
16141    @classmethod
16142    def from_dict(cls, d):
16143        return cls(
16144            bind_interface=d.get('bind_interface'),
16145            egress_filter=d.get('egress_filter'),
16146            healthcheck_namespace=d.get('healthcheck_namespace'),
16147            healthy=d.get('healthy'),
16148            hostname=d.get('hostname'),
16149            id=d.get('id'),
16150            name=d.get('name'),
16151            port=d.get('port'),
16152            port_override=d.get('port_override'),
16153            proxy_cluster_id=d.get('proxy_cluster_id'),
16154            secret_store_id=d.get('secret_store_id'),
16155            subdomain=d.get('subdomain'),
16156            tags=d.get('tags'),
16157            token=d.get('token'),
16158        )
16159
16160
16161class KubernetesUserImpersonation:
16162    __slots__ = [
16163        'bind_interface',
16164        'certificate_authority',
16165        'client_certificate',
16166        'client_key',
16167        'egress_filter',
16168        'healthcheck_namespace',
16169        'healthy',
16170        'hostname',
16171        'id',
16172        'name',
16173        'port',
16174        'port_override',
16175        'proxy_cluster_id',
16176        'secret_store_id',
16177        'subdomain',
16178        'tags',
16179    ]
16180
16181    def __init__(
16182        self,
16183        bind_interface=None,
16184        certificate_authority=None,
16185        client_certificate=None,
16186        client_key=None,
16187        egress_filter=None,
16188        healthcheck_namespace=None,
16189        healthy=None,
16190        hostname=None,
16191        id=None,
16192        name=None,
16193        port=None,
16194        port_override=None,
16195        proxy_cluster_id=None,
16196        secret_store_id=None,
16197        subdomain=None,
16198        tags=None,
16199    ):
16200        self.bind_interface = bind_interface if bind_interface is not None else ''
16201        '''
16202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16203        '''
16204        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16205        '''
16206         The CA to authenticate TLS connections with.
16207        '''
16208        self.client_certificate = client_certificate if client_certificate is not None else ''
16209        '''
16210         The certificate to authenticate TLS connections with.
16211        '''
16212        self.client_key = client_key if client_key is not None else ''
16213        '''
16214         The key to authenticate TLS connections with.
16215        '''
16216        self.egress_filter = egress_filter if egress_filter is not None else ''
16217        '''
16218         A filter applied to the routing logic to pin datasource to nodes.
16219        '''
16220        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16221        '''
16222         The path used to check the health of your connection.  Defaults to `default`.
16223        '''
16224        self.healthy = healthy if healthy is not None else False
16225        '''
16226         True if the datasource is reachable and the credentials are valid.
16227        '''
16228        self.hostname = hostname if hostname is not None else ''
16229        '''
16230         The host to dial to initiate a connection from the egress node to this resource.
16231        '''
16232        self.id = id if id is not None else ''
16233        '''
16234         Unique identifier of the Resource.
16235        '''
16236        self.name = name if name is not None else ''
16237        '''
16238         Unique human-readable name of the Resource.
16239        '''
16240        self.port = port if port is not None else 0
16241        '''
16242         The port to dial to initiate a connection from the egress node to this resource.
16243        '''
16244        self.port_override = port_override if port_override is not None else 0
16245        '''
16246         The local port used by clients to connect to this resource.
16247        '''
16248        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16249        '''
16250         ID of the proxy cluster for this resource, if any.
16251        '''
16252        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16253        '''
16254         ID of the secret store containing credentials for this resource, if any.
16255        '''
16256        self.subdomain = subdomain if subdomain is not None else ''
16257        '''
16258         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16259        '''
16260        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16261        '''
16262         Tags is a map of key, value pairs.
16263        '''
16264
16265    def __repr__(self):
16266        return '<sdm.KubernetesUserImpersonation ' + \
16267            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16268            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16269            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16270            'client_key: ' + repr(self.client_key) + ' ' +\
16271            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16272            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16273            'healthy: ' + repr(self.healthy) + ' ' +\
16274            'hostname: ' + repr(self.hostname) + ' ' +\
16275            'id: ' + repr(self.id) + ' ' +\
16276            'name: ' + repr(self.name) + ' ' +\
16277            'port: ' + repr(self.port) + ' ' +\
16278            'port_override: ' + repr(self.port_override) + ' ' +\
16279            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16280            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16281            'subdomain: ' + repr(self.subdomain) + ' ' +\
16282            'tags: ' + repr(self.tags) + ' ' +\
16283            '>'
16284
16285    def to_dict(self):
16286        return {
16287            'bind_interface': self.bind_interface,
16288            'certificate_authority': self.certificate_authority,
16289            'client_certificate': self.client_certificate,
16290            'client_key': self.client_key,
16291            'egress_filter': self.egress_filter,
16292            'healthcheck_namespace': self.healthcheck_namespace,
16293            'healthy': self.healthy,
16294            'hostname': self.hostname,
16295            'id': self.id,
16296            'name': self.name,
16297            'port': self.port,
16298            'port_override': self.port_override,
16299            'proxy_cluster_id': self.proxy_cluster_id,
16300            'secret_store_id': self.secret_store_id,
16301            'subdomain': self.subdomain,
16302            'tags': self.tags,
16303        }
16304
16305    @classmethod
16306    def from_dict(cls, d):
16307        return cls(
16308            bind_interface=d.get('bind_interface'),
16309            certificate_authority=d.get('certificate_authority'),
16310            client_certificate=d.get('client_certificate'),
16311            client_key=d.get('client_key'),
16312            egress_filter=d.get('egress_filter'),
16313            healthcheck_namespace=d.get('healthcheck_namespace'),
16314            healthy=d.get('healthy'),
16315            hostname=d.get('hostname'),
16316            id=d.get('id'),
16317            name=d.get('name'),
16318            port=d.get('port'),
16319            port_override=d.get('port_override'),
16320            proxy_cluster_id=d.get('proxy_cluster_id'),
16321            secret_store_id=d.get('secret_store_id'),
16322            subdomain=d.get('subdomain'),
16323            tags=d.get('tags'),
16324        )
16325
16326
16327class LogCategoryConfig:
16328    __slots__ = [
16329        'remote_discard_replays',
16330        'remote_encoder',
16331    ]
16332
16333    def __init__(
16334        self,
16335        remote_discard_replays=None,
16336        remote_encoder=None,
16337    ):
16338        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
16339        '''
16340         Indicates if the Organization should exclude replay data from remote logging for the log category.
16341        '''
16342        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
16343        '''
16344         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
16345        '''
16346
16347    def __repr__(self):
16348        return '<sdm.LogCategoryConfig ' + \
16349            'remote_discard_replays: ' + repr(self.remote_discard_replays) + ' ' +\
16350            'remote_encoder: ' + repr(self.remote_encoder) + ' ' +\
16351            '>'
16352
16353    def to_dict(self):
16354        return {
16355            'remote_discard_replays': self.remote_discard_replays,
16356            'remote_encoder': self.remote_encoder,
16357        }
16358
16359    @classmethod
16360    def from_dict(cls, d):
16361        return cls(
16362            remote_discard_replays=d.get('remote_discard_replays'),
16363            remote_encoder=d.get('remote_encoder'),
16364        )
16365
16366
16367class LogConfig:
16368    __slots__ = [
16369        'categories',
16370        'local_encoder',
16371        'local_format',
16372        'local_socket_path',
16373        'local_storage',
16374        'local_tcp_address',
16375        'public_key',
16376    ]
16377
16378    def __init__(
16379        self,
16380        categories=None,
16381        local_encoder=None,
16382        local_format=None,
16383        local_socket_path=None,
16384        local_storage=None,
16385        local_tcp_address=None,
16386        public_key=None,
16387    ):
16388        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
16389        )
16390        '''
16391         The Organization's log category configuration settings.
16392        '''
16393        self.local_encoder = local_encoder if local_encoder is not None else ''
16394        '''
16395         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
16396        '''
16397        self.local_format = local_format if local_format is not None else ''
16398        '''
16399         The Organization's local log format, one of the LogLocalFormat constants.
16400        '''
16401        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
16402        '''
16403         The Organization's local log socket path.
16404        '''
16405        self.local_storage = local_storage if local_storage is not None else ''
16406        '''
16407         The Organization's local log storage, one of the LogLocalStorage constants.
16408        '''
16409        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
16410        '''
16411         The Organization's local log TCP address.
16412        '''
16413        self.public_key = public_key if public_key is not None else ''
16414        '''
16415         The Organization's public key in PEM format for encrypting logs.
16416        '''
16417
16418    def __repr__(self):
16419        return '<sdm.LogConfig ' + \
16420            'categories: ' + repr(self.categories) + ' ' +\
16421            'local_encoder: ' + repr(self.local_encoder) + ' ' +\
16422            'local_format: ' + repr(self.local_format) + ' ' +\
16423            'local_socket_path: ' + repr(self.local_socket_path) + ' ' +\
16424            'local_storage: ' + repr(self.local_storage) + ' ' +\
16425            'local_tcp_address: ' + repr(self.local_tcp_address) + ' ' +\
16426            'public_key: ' + repr(self.public_key) + ' ' +\
16427            '>'
16428
16429    def to_dict(self):
16430        return {
16431            'categories': self.categories,
16432            'local_encoder': self.local_encoder,
16433            'local_format': self.local_format,
16434            'local_socket_path': self.local_socket_path,
16435            'local_storage': self.local_storage,
16436            'local_tcp_address': self.local_tcp_address,
16437            'public_key': self.public_key,
16438        }
16439
16440    @classmethod
16441    def from_dict(cls, d):
16442        return cls(
16443            categories=d.get('categories'),
16444            local_encoder=d.get('local_encoder'),
16445            local_format=d.get('local_format'),
16446            local_socket_path=d.get('local_socket_path'),
16447            local_storage=d.get('local_storage'),
16448            local_tcp_address=d.get('local_tcp_address'),
16449            public_key=d.get('public_key'),
16450        )
16451
16452
16453class MTLSMysql:
16454    '''
16455    MTLSMysql is currently unstable, and its API may change, or it may be removed,
16456    without a major version bump.
16457    '''
16458    __slots__ = [
16459        'bind_interface',
16460        'certificate_authority',
16461        'client_certificate',
16462        'client_key',
16463        'database',
16464        'egress_filter',
16465        'healthy',
16466        'hostname',
16467        'id',
16468        'name',
16469        'password',
16470        'port',
16471        'port_override',
16472        'proxy_cluster_id',
16473        'require_native_auth',
16474        'secret_store_id',
16475        'server_name',
16476        'subdomain',
16477        'tags',
16478        'use_azure_single_server_usernames',
16479        'username',
16480    ]
16481
16482    def __init__(
16483        self,
16484        bind_interface=None,
16485        certificate_authority=None,
16486        client_certificate=None,
16487        client_key=None,
16488        database=None,
16489        egress_filter=None,
16490        healthy=None,
16491        hostname=None,
16492        id=None,
16493        name=None,
16494        password=None,
16495        port=None,
16496        port_override=None,
16497        proxy_cluster_id=None,
16498        require_native_auth=None,
16499        secret_store_id=None,
16500        server_name=None,
16501        subdomain=None,
16502        tags=None,
16503        use_azure_single_server_usernames=None,
16504        username=None,
16505    ):
16506        self.bind_interface = bind_interface if bind_interface is not None else ''
16507        '''
16508         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16509        '''
16510        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16511        '''
16512         The CA to authenticate TLS connections with.
16513        '''
16514        self.client_certificate = client_certificate if client_certificate is not None else ''
16515        '''
16516         The certificate to authenticate TLS connections with.
16517        '''
16518        self.client_key = client_key if client_key is not None else ''
16519        '''
16520         The key to authenticate TLS connections with.
16521        '''
16522        self.database = database if database is not None else ''
16523        '''
16524         The database for healthchecks. Does not affect client requests.
16525        '''
16526        self.egress_filter = egress_filter if egress_filter is not None else ''
16527        '''
16528         A filter applied to the routing logic to pin datasource to nodes.
16529        '''
16530        self.healthy = healthy if healthy is not None else False
16531        '''
16532         True if the datasource is reachable and the credentials are valid.
16533        '''
16534        self.hostname = hostname if hostname is not None else ''
16535        '''
16536         The host to dial to initiate a connection from the egress node to this resource.
16537        '''
16538        self.id = id if id is not None else ''
16539        '''
16540         Unique identifier of the Resource.
16541        '''
16542        self.name = name if name is not None else ''
16543        '''
16544         Unique human-readable name of the Resource.
16545        '''
16546        self.password = password if password is not None else ''
16547        '''
16548         The password to authenticate with.
16549        '''
16550        self.port = port if port is not None else 0
16551        '''
16552         The port to dial to initiate a connection from the egress node to this resource.
16553        '''
16554        self.port_override = port_override if port_override is not None else 0
16555        '''
16556         The local port used by clients to connect to this resource.
16557        '''
16558        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16559        '''
16560         ID of the proxy cluster for this resource, if any.
16561        '''
16562        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16563        '''
16564         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16565        '''
16566        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16567        '''
16568         ID of the secret store containing credentials for this resource, if any.
16569        '''
16570        self.server_name = server_name if server_name is not None else ''
16571        '''
16572         Server name for TLS verification (unverified by StrongDM if empty)
16573        '''
16574        self.subdomain = subdomain if subdomain is not None else ''
16575        '''
16576         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16577        '''
16578        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16579        '''
16580         Tags is a map of key, value pairs.
16581        '''
16582        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16583        '''
16584         If true, appends the hostname to the username when hitting a database.azure.com address
16585        '''
16586        self.username = username if username is not None else ''
16587        '''
16588         The username to authenticate with.
16589        '''
16590
16591    def __repr__(self):
16592        return '<sdm.MTLSMysql ' + \
16593            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16594            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16595            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16596            'client_key: ' + repr(self.client_key) + ' ' +\
16597            'database: ' + repr(self.database) + ' ' +\
16598            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16599            'healthy: ' + repr(self.healthy) + ' ' +\
16600            'hostname: ' + repr(self.hostname) + ' ' +\
16601            'id: ' + repr(self.id) + ' ' +\
16602            'name: ' + repr(self.name) + ' ' +\
16603            'password: ' + repr(self.password) + ' ' +\
16604            'port: ' + repr(self.port) + ' ' +\
16605            'port_override: ' + repr(self.port_override) + ' ' +\
16606            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16607            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16608            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16609            'server_name: ' + repr(self.server_name) + ' ' +\
16610            'subdomain: ' + repr(self.subdomain) + ' ' +\
16611            'tags: ' + repr(self.tags) + ' ' +\
16612            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16613            'username: ' + repr(self.username) + ' ' +\
16614            '>'
16615
16616    def to_dict(self):
16617        return {
16618            'bind_interface': self.bind_interface,
16619            'certificate_authority': self.certificate_authority,
16620            'client_certificate': self.client_certificate,
16621            'client_key': self.client_key,
16622            'database': self.database,
16623            'egress_filter': self.egress_filter,
16624            'healthy': self.healthy,
16625            'hostname': self.hostname,
16626            'id': self.id,
16627            'name': self.name,
16628            'password': self.password,
16629            'port': self.port,
16630            'port_override': self.port_override,
16631            'proxy_cluster_id': self.proxy_cluster_id,
16632            'require_native_auth': self.require_native_auth,
16633            'secret_store_id': self.secret_store_id,
16634            'server_name': self.server_name,
16635            'subdomain': self.subdomain,
16636            'tags': self.tags,
16637            'use_azure_single_server_usernames':
16638            self.use_azure_single_server_usernames,
16639            'username': self.username,
16640        }
16641
16642    @classmethod
16643    def from_dict(cls, d):
16644        return cls(
16645            bind_interface=d.get('bind_interface'),
16646            certificate_authority=d.get('certificate_authority'),
16647            client_certificate=d.get('client_certificate'),
16648            client_key=d.get('client_key'),
16649            database=d.get('database'),
16650            egress_filter=d.get('egress_filter'),
16651            healthy=d.get('healthy'),
16652            hostname=d.get('hostname'),
16653            id=d.get('id'),
16654            name=d.get('name'),
16655            password=d.get('password'),
16656            port=d.get('port'),
16657            port_override=d.get('port_override'),
16658            proxy_cluster_id=d.get('proxy_cluster_id'),
16659            require_native_auth=d.get('require_native_auth'),
16660            secret_store_id=d.get('secret_store_id'),
16661            server_name=d.get('server_name'),
16662            subdomain=d.get('subdomain'),
16663            tags=d.get('tags'),
16664            use_azure_single_server_usernames=d.get(
16665                'use_azure_single_server_usernames'),
16666            username=d.get('username'),
16667        )
16668
16669
16670class MTLSPostgres:
16671    __slots__ = [
16672        'bind_interface',
16673        'certificate_authority',
16674        'client_certificate',
16675        'client_key',
16676        'database',
16677        'egress_filter',
16678        'healthy',
16679        'hostname',
16680        'id',
16681        'name',
16682        'override_database',
16683        'password',
16684        'port',
16685        'port_override',
16686        'proxy_cluster_id',
16687        'secret_store_id',
16688        'server_name',
16689        'subdomain',
16690        'tags',
16691        'username',
16692    ]
16693
16694    def __init__(
16695        self,
16696        bind_interface=None,
16697        certificate_authority=None,
16698        client_certificate=None,
16699        client_key=None,
16700        database=None,
16701        egress_filter=None,
16702        healthy=None,
16703        hostname=None,
16704        id=None,
16705        name=None,
16706        override_database=None,
16707        password=None,
16708        port=None,
16709        port_override=None,
16710        proxy_cluster_id=None,
16711        secret_store_id=None,
16712        server_name=None,
16713        subdomain=None,
16714        tags=None,
16715        username=None,
16716    ):
16717        self.bind_interface = bind_interface if bind_interface is not None else ''
16718        '''
16719         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16720        '''
16721        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16722        '''
16723         The CA to authenticate TLS connections with.
16724        '''
16725        self.client_certificate = client_certificate if client_certificate is not None else ''
16726        '''
16727         The certificate to authenticate TLS connections with.
16728        '''
16729        self.client_key = client_key if client_key is not None else ''
16730        '''
16731         The key to authenticate TLS connections with.
16732        '''
16733        self.database = database if database is not None else ''
16734        '''
16735         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16736        '''
16737        self.egress_filter = egress_filter if egress_filter is not None else ''
16738        '''
16739         A filter applied to the routing logic to pin datasource to nodes.
16740        '''
16741        self.healthy = healthy if healthy is not None else False
16742        '''
16743         True if the datasource is reachable and the credentials are valid.
16744        '''
16745        self.hostname = hostname if hostname is not None else ''
16746        '''
16747         The host to dial to initiate a connection from the egress node to this resource.
16748        '''
16749        self.id = id if id is not None else ''
16750        '''
16751         Unique identifier of the Resource.
16752        '''
16753        self.name = name if name is not None else ''
16754        '''
16755         Unique human-readable name of the Resource.
16756        '''
16757        self.override_database = override_database if override_database is not None else False
16758        '''
16759         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.
16760        '''
16761        self.password = password if password is not None else ''
16762        '''
16763         The password to authenticate with.
16764        '''
16765        self.port = port if port is not None else 0
16766        '''
16767         The port to dial to initiate a connection from the egress node to this resource.
16768        '''
16769        self.port_override = port_override if port_override is not None else 0
16770        '''
16771         The local port used by clients to connect to this resource.
16772        '''
16773        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16774        '''
16775         ID of the proxy cluster for this resource, if any.
16776        '''
16777        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16778        '''
16779         ID of the secret store containing credentials for this resource, if any.
16780        '''
16781        self.server_name = server_name if server_name is not None else ''
16782        '''
16783         Server name for TLS verification (unverified by StrongDM if empty)
16784        '''
16785        self.subdomain = subdomain if subdomain is not None else ''
16786        '''
16787         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16788        '''
16789        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16790        '''
16791         Tags is a map of key, value pairs.
16792        '''
16793        self.username = username if username is not None else ''
16794        '''
16795         The username to authenticate with.
16796        '''
16797
16798    def __repr__(self):
16799        return '<sdm.MTLSPostgres ' + \
16800            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16801            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16802            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16803            'client_key: ' + repr(self.client_key) + ' ' +\
16804            'database: ' + repr(self.database) + ' ' +\
16805            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16806            'healthy: ' + repr(self.healthy) + ' ' +\
16807            'hostname: ' + repr(self.hostname) + ' ' +\
16808            'id: ' + repr(self.id) + ' ' +\
16809            'name: ' + repr(self.name) + ' ' +\
16810            'override_database: ' + repr(self.override_database) + ' ' +\
16811            'password: ' + repr(self.password) + ' ' +\
16812            'port: ' + repr(self.port) + ' ' +\
16813            'port_override: ' + repr(self.port_override) + ' ' +\
16814            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16815            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16816            'server_name: ' + repr(self.server_name) + ' ' +\
16817            'subdomain: ' + repr(self.subdomain) + ' ' +\
16818            'tags: ' + repr(self.tags) + ' ' +\
16819            'username: ' + repr(self.username) + ' ' +\
16820            '>'
16821
16822    def to_dict(self):
16823        return {
16824            'bind_interface': self.bind_interface,
16825            'certificate_authority': self.certificate_authority,
16826            'client_certificate': self.client_certificate,
16827            'client_key': self.client_key,
16828            'database': self.database,
16829            'egress_filter': self.egress_filter,
16830            'healthy': self.healthy,
16831            'hostname': self.hostname,
16832            'id': self.id,
16833            'name': self.name,
16834            'override_database': self.override_database,
16835            'password': self.password,
16836            'port': self.port,
16837            'port_override': self.port_override,
16838            'proxy_cluster_id': self.proxy_cluster_id,
16839            'secret_store_id': self.secret_store_id,
16840            'server_name': self.server_name,
16841            'subdomain': self.subdomain,
16842            'tags': self.tags,
16843            'username': self.username,
16844        }
16845
16846    @classmethod
16847    def from_dict(cls, d):
16848        return cls(
16849            bind_interface=d.get('bind_interface'),
16850            certificate_authority=d.get('certificate_authority'),
16851            client_certificate=d.get('client_certificate'),
16852            client_key=d.get('client_key'),
16853            database=d.get('database'),
16854            egress_filter=d.get('egress_filter'),
16855            healthy=d.get('healthy'),
16856            hostname=d.get('hostname'),
16857            id=d.get('id'),
16858            name=d.get('name'),
16859            override_database=d.get('override_database'),
16860            password=d.get('password'),
16861            port=d.get('port'),
16862            port_override=d.get('port_override'),
16863            proxy_cluster_id=d.get('proxy_cluster_id'),
16864            secret_store_id=d.get('secret_store_id'),
16865            server_name=d.get('server_name'),
16866            subdomain=d.get('subdomain'),
16867            tags=d.get('tags'),
16868            username=d.get('username'),
16869        )
16870
16871
16872class ManagedSecret:
16873    '''
16874         ManagedSecret contains details about managed secret
16875    '''
16876    __slots__ = [
16877        'config',
16878        'expires_at',
16879        'id',
16880        'last_rotated_at',
16881        'name',
16882        'policy',
16883        'secret_engine_id',
16884        'secret_store_path',
16885        'tags',
16886        'value',
16887    ]
16888
16889    def __init__(
16890        self,
16891        config=None,
16892        expires_at=None,
16893        id=None,
16894        last_rotated_at=None,
16895        name=None,
16896        policy=None,
16897        secret_engine_id=None,
16898        secret_store_path=None,
16899        tags=None,
16900        value=None,
16901    ):
16902        self.config = config if config is not None else ''
16903        '''
16904         public part of the secret value
16905        '''
16906        self.expires_at = expires_at if expires_at is not None else None
16907        '''
16908         Timestamp of when secret is going to be rotated
16909        '''
16910        self.id = id if id is not None else ''
16911        '''
16912         Unique identifier of the Managed Secret.
16913        '''
16914        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16915        '''
16916         Timestamp of when secret was last rotated
16917        '''
16918        self.name = name if name is not None else ''
16919        '''
16920         Unique human-readable name of the Managed Secret.
16921        '''
16922        self.policy = policy if policy is not None else None
16923        '''
16924         Password and rotation policy for the secret
16925        '''
16926        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16927        '''
16928         An ID of a Secret Engine linked with the Managed Secret.
16929        '''
16930        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16931        '''
16932         Path in a secret store.
16933        '''
16934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16935        '''
16936         Tags is a map of key, value pairs.
16937        '''
16938        self.value = value if value is not None else b''
16939        '''
16940         Sensitive value of the secret.
16941        '''
16942
16943    def __repr__(self):
16944        return '<sdm.ManagedSecret ' + \
16945            'config: ' + repr(self.config) + ' ' +\
16946            'expires_at: ' + repr(self.expires_at) + ' ' +\
16947            'id: ' + repr(self.id) + ' ' +\
16948            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
16949            'name: ' + repr(self.name) + ' ' +\
16950            'policy: ' + repr(self.policy) + ' ' +\
16951            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16952            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
16953            'tags: ' + repr(self.tags) + ' ' +\
16954            'value: ' + repr(self.value) + ' ' +\
16955            '>'
16956
16957    def to_dict(self):
16958        return {
16959            'config': self.config,
16960            'expires_at': self.expires_at,
16961            'id': self.id,
16962            'last_rotated_at': self.last_rotated_at,
16963            'name': self.name,
16964            'policy': self.policy,
16965            'secret_engine_id': self.secret_engine_id,
16966            'secret_store_path': self.secret_store_path,
16967            'tags': self.tags,
16968            'value': self.value,
16969        }
16970
16971    @classmethod
16972    def from_dict(cls, d):
16973        return cls(
16974            config=d.get('config'),
16975            expires_at=d.get('expires_at'),
16976            id=d.get('id'),
16977            last_rotated_at=d.get('last_rotated_at'),
16978            name=d.get('name'),
16979            policy=d.get('policy'),
16980            secret_engine_id=d.get('secret_engine_id'),
16981            secret_store_path=d.get('secret_store_path'),
16982            tags=d.get('tags'),
16983            value=d.get('value'),
16984        )
16985
16986
16987class ManagedSecretCreateRequest:
16988    '''
16989         ManagedSecretCreateRequest specifies a Managed Secret to create.
16990    '''
16991    __slots__ = [
16992        'managed_secret',
16993    ]
16994
16995    def __init__(
16996        self,
16997        managed_secret=None,
16998    ):
16999        self.managed_secret = managed_secret if managed_secret is not None else None
17000        '''
17001         Parameters to define the new Managed Secret.
17002        '''
17003
17004    def __repr__(self):
17005        return '<sdm.ManagedSecretCreateRequest ' + \
17006            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17007            '>'
17008
17009    def to_dict(self):
17010        return {
17011            'managed_secret': self.managed_secret,
17012        }
17013
17014    @classmethod
17015    def from_dict(cls, d):
17016        return cls(managed_secret=d.get('managed_secret'), )
17017
17018
17019class ManagedSecretCreateResponse:
17020    '''
17021         ManagedSecretCreateResponse contains information about a Managed Secret after
17022     successful creation.
17023    '''
17024    __slots__ = [
17025        'managed_secret',
17026        'meta',
17027        'rate_limit',
17028    ]
17029
17030    def __init__(
17031        self,
17032        managed_secret=None,
17033        meta=None,
17034        rate_limit=None,
17035    ):
17036        self.managed_secret = managed_secret if managed_secret is not None else None
17037        '''
17038         The requested Managed Secret.
17039        '''
17040        self.meta = meta if meta is not None else None
17041        '''
17042         Reserved for future use.
17043        '''
17044        self.rate_limit = rate_limit if rate_limit is not None else None
17045        '''
17046         Rate limit information.
17047        '''
17048
17049    def __repr__(self):
17050        return '<sdm.ManagedSecretCreateResponse ' + \
17051            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17052            'meta: ' + repr(self.meta) + ' ' +\
17053            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17054            '>'
17055
17056    def to_dict(self):
17057        return {
17058            'managed_secret': self.managed_secret,
17059            'meta': self.meta,
17060            'rate_limit': self.rate_limit,
17061        }
17062
17063    @classmethod
17064    def from_dict(cls, d):
17065        return cls(
17066            managed_secret=d.get('managed_secret'),
17067            meta=d.get('meta'),
17068            rate_limit=d.get('rate_limit'),
17069        )
17070
17071
17072class ManagedSecretDeleteRequest:
17073    '''
17074         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
17075     deleted.
17076    '''
17077    __slots__ = [
17078        'id',
17079    ]
17080
17081    def __init__(
17082        self,
17083        id=None,
17084    ):
17085        self.id = id if id is not None else ''
17086        '''
17087         The unique identifier of the Managed Secret to delete.
17088        '''
17089
17090    def __repr__(self):
17091        return '<sdm.ManagedSecretDeleteRequest ' + \
17092            'id: ' + repr(self.id) + ' ' +\
17093            '>'
17094
17095    def to_dict(self):
17096        return {
17097            'id': self.id,
17098        }
17099
17100    @classmethod
17101    def from_dict(cls, d):
17102        return cls(id=d.get('id'), )
17103
17104
17105class ManagedSecretDeleteResponse:
17106    '''
17107         ManagedSecretDeleteResponse contains information about a Managed Secret after
17108     it was deleted.
17109    '''
17110    __slots__ = [
17111        'rate_limit',
17112    ]
17113
17114    def __init__(
17115        self,
17116        rate_limit=None,
17117    ):
17118        self.rate_limit = rate_limit if rate_limit is not None else None
17119        '''
17120         Rate limit information.
17121        '''
17122
17123    def __repr__(self):
17124        return '<sdm.ManagedSecretDeleteResponse ' + \
17125            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17126            '>'
17127
17128    def to_dict(self):
17129        return {
17130            'rate_limit': self.rate_limit,
17131        }
17132
17133    @classmethod
17134    def from_dict(cls, d):
17135        return cls(rate_limit=d.get('rate_limit'), )
17136
17137
17138class ManagedSecretGetRequest:
17139    '''
17140         ManagedSecretGetRequest specifies which Managed Secret to retrieve
17141    '''
17142    __slots__ = [
17143        'id',
17144    ]
17145
17146    def __init__(
17147        self,
17148        id=None,
17149    ):
17150        self.id = id if id is not None else ''
17151        '''
17152         The unique identifier of the Managed Secret to retrieve.
17153        '''
17154
17155    def __repr__(self):
17156        return '<sdm.ManagedSecretGetRequest ' + \
17157            'id: ' + repr(self.id) + ' ' +\
17158            '>'
17159
17160    def to_dict(self):
17161        return {
17162            'id': self.id,
17163        }
17164
17165    @classmethod
17166    def from_dict(cls, d):
17167        return cls(id=d.get('id'), )
17168
17169
17170class ManagedSecretGetResponse:
17171    '''
17172         ManagedSecretGetResponse contains information about requested Managed Secret
17173    '''
17174    __slots__ = [
17175        'managed_secret',
17176        'meta',
17177        'rate_limit',
17178    ]
17179
17180    def __init__(
17181        self,
17182        managed_secret=None,
17183        meta=None,
17184        rate_limit=None,
17185    ):
17186        self.managed_secret = managed_secret if managed_secret is not None else None
17187        '''
17188         The requested Managed Secret.
17189        '''
17190        self.meta = meta if meta is not None else None
17191        '''
17192         Reserved for future use.
17193        '''
17194        self.rate_limit = rate_limit if rate_limit is not None else None
17195        '''
17196         Rate limit information.
17197        '''
17198
17199    def __repr__(self):
17200        return '<sdm.ManagedSecretGetResponse ' + \
17201            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17202            'meta: ' + repr(self.meta) + ' ' +\
17203            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17204            '>'
17205
17206    def to_dict(self):
17207        return {
17208            'managed_secret': self.managed_secret,
17209            'meta': self.meta,
17210            'rate_limit': self.rate_limit,
17211        }
17212
17213    @classmethod
17214    def from_dict(cls, d):
17215        return cls(
17216            managed_secret=d.get('managed_secret'),
17217            meta=d.get('meta'),
17218            rate_limit=d.get('rate_limit'),
17219        )
17220
17221
17222class ManagedSecretListRequest:
17223    '''
17224         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
17225     Secrets.
17226    '''
17227    __slots__ = [
17228        'filter',
17229    ]
17230
17231    def __init__(
17232        self,
17233        filter=None,
17234    ):
17235        self.filter = filter if filter is not None else ''
17236        '''
17237         A human-readable filter query string.
17238        '''
17239
17240    def __repr__(self):
17241        return '<sdm.ManagedSecretListRequest ' + \
17242            'filter: ' + repr(self.filter) + ' ' +\
17243            '>'
17244
17245    def to_dict(self):
17246        return {
17247            'filter': self.filter,
17248        }
17249
17250    @classmethod
17251    def from_dict(cls, d):
17252        return cls(filter=d.get('filter'), )
17253
17254
17255class ManagedSecretListResponse:
17256    '''
17257         ManagedSecretListResponse contains a list of requested Managed Secrets
17258    '''
17259    __slots__ = [
17260        'rate_limit',
17261    ]
17262
17263    def __init__(
17264        self,
17265        rate_limit=None,
17266    ):
17267        self.rate_limit = rate_limit if rate_limit is not None else None
17268        '''
17269         Rate limit information.
17270        '''
17271
17272    def __repr__(self):
17273        return '<sdm.ManagedSecretListResponse ' + \
17274            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17275            '>'
17276
17277    def to_dict(self):
17278        return {
17279            'rate_limit': self.rate_limit,
17280        }
17281
17282    @classmethod
17283    def from_dict(cls, d):
17284        return cls(rate_limit=d.get('rate_limit'), )
17285
17286
17287class ManagedSecretLog:
17288    '''
17289         ManagedSecretLog contains details about action performed against a managed
17290     secret
17291    '''
17292    __slots__ = [
17293        'account_id',
17294        'action',
17295        'created_at',
17296        'debug',
17297        'id',
17298        'managed_secret_id',
17299        'secret_engine_id',
17300    ]
17301
17302    def __init__(
17303        self,
17304        account_id=None,
17305        action=None,
17306        created_at=None,
17307        debug=None,
17308        id=None,
17309        managed_secret_id=None,
17310        secret_engine_id=None,
17311    ):
17312        self.account_id = account_id if account_id is not None else ''
17313        '''
17314         An ID of the account the action was performed by.
17315        '''
17316        self.action = action if action is not None else ''
17317        '''
17318         The action performed by the account against the managed secret.
17319        '''
17320        self.created_at = created_at if created_at is not None else None
17321        '''
17322         Timestamp of when action was performed.
17323        '''
17324        self.debug = debug if debug is not None else ''
17325        '''
17326         Any debug logs associated with the action.
17327        '''
17328        self.id = id if id is not None else ''
17329        '''
17330         Unique identifier of the Managed Secret Log.
17331        '''
17332        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17333        '''
17334         An ID of the Managed Secret the action was performed against.
17335        '''
17336        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17337        '''
17338         An ID of the Secret Engine linked with the Managed Secret.
17339        '''
17340
17341    def __repr__(self):
17342        return '<sdm.ManagedSecretLog ' + \
17343            'account_id: ' + repr(self.account_id) + ' ' +\
17344            'action: ' + repr(self.action) + ' ' +\
17345            'created_at: ' + repr(self.created_at) + ' ' +\
17346            'debug: ' + repr(self.debug) + ' ' +\
17347            'id: ' + repr(self.id) + ' ' +\
17348            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17349            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17350            '>'
17351
17352    def to_dict(self):
17353        return {
17354            'account_id': self.account_id,
17355            'action': self.action,
17356            'created_at': self.created_at,
17357            'debug': self.debug,
17358            'id': self.id,
17359            'managed_secret_id': self.managed_secret_id,
17360            'secret_engine_id': self.secret_engine_id,
17361        }
17362
17363    @classmethod
17364    def from_dict(cls, d):
17365        return cls(
17366            account_id=d.get('account_id'),
17367            action=d.get('action'),
17368            created_at=d.get('created_at'),
17369            debug=d.get('debug'),
17370            id=d.get('id'),
17371            managed_secret_id=d.get('managed_secret_id'),
17372            secret_engine_id=d.get('secret_engine_id'),
17373        )
17374
17375
17376class ManagedSecretLogsRequest:
17377    '''
17378         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17379     Secrets actions.
17380    '''
17381    __slots__ = [
17382        'filter',
17383    ]
17384
17385    def __init__(
17386        self,
17387        filter=None,
17388    ):
17389        self.filter = filter if filter is not None else ''
17390        '''
17391         A human-readable filter query string.
17392        '''
17393
17394    def __repr__(self):
17395        return '<sdm.ManagedSecretLogsRequest ' + \
17396            'filter: ' + repr(self.filter) + ' ' +\
17397            '>'
17398
17399    def to_dict(self):
17400        return {
17401            'filter': self.filter,
17402        }
17403
17404    @classmethod
17405    def from_dict(cls, d):
17406        return cls(filter=d.get('filter'), )
17407
17408
17409class ManagedSecretLogsResponse:
17410    '''
17411         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17412    '''
17413    __slots__ = [
17414        'rate_limit',
17415    ]
17416
17417    def __init__(
17418        self,
17419        rate_limit=None,
17420    ):
17421        self.rate_limit = rate_limit if rate_limit is not None else None
17422        '''
17423         Rate limit information.
17424        '''
17425
17426    def __repr__(self):
17427        return '<sdm.ManagedSecretLogsResponse ' + \
17428            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17429            '>'
17430
17431    def to_dict(self):
17432        return {
17433            'rate_limit': self.rate_limit,
17434        }
17435
17436    @classmethod
17437    def from_dict(cls, d):
17438        return cls(rate_limit=d.get('rate_limit'), )
17439
17440
17441class ManagedSecretPasswordPolicy:
17442    __slots__ = [
17443        'allow_repeat',
17444        'exclude_characters',
17445        'exclude_upper_case',
17446        'length',
17447        'num_digits',
17448        'num_symbols',
17449    ]
17450
17451    def __init__(
17452        self,
17453        allow_repeat=None,
17454        exclude_characters=None,
17455        exclude_upper_case=None,
17456        length=None,
17457        num_digits=None,
17458        num_symbols=None,
17459    ):
17460        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17461        '''
17462         If set to true allows for consecutive characters to repeat itself
17463        '''
17464        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17465        '''
17466         Characters to exclude when generating password
17467        '''
17468        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17469        '''
17470         If set to true do not include upper case letters when generating password
17471        '''
17472        self.length = length if length is not None else 0
17473        '''
17474         Password length
17475        '''
17476        self.num_digits = num_digits if num_digits is not None else 0
17477        '''
17478         Numbers of digits to use when generating password
17479        '''
17480        self.num_symbols = num_symbols if num_symbols is not None else 0
17481        '''
17482         Number of symbols to use when generating password
17483        '''
17484
17485    def __repr__(self):
17486        return '<sdm.ManagedSecretPasswordPolicy ' + \
17487            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17488            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17489            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17490            'length: ' + repr(self.length) + ' ' +\
17491            'num_digits: ' + repr(self.num_digits) + ' ' +\
17492            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17493            '>'
17494
17495    def to_dict(self):
17496        return {
17497            'allow_repeat': self.allow_repeat,
17498            'exclude_characters': self.exclude_characters,
17499            'exclude_upper_case': self.exclude_upper_case,
17500            'length': self.length,
17501            'num_digits': self.num_digits,
17502            'num_symbols': self.num_symbols,
17503        }
17504
17505    @classmethod
17506    def from_dict(cls, d):
17507        return cls(
17508            allow_repeat=d.get('allow_repeat'),
17509            exclude_characters=d.get('exclude_characters'),
17510            exclude_upper_case=d.get('exclude_upper_case'),
17511            length=d.get('length'),
17512            num_digits=d.get('num_digits'),
17513            num_symbols=d.get('num_symbols'),
17514        )
17515
17516
17517class ManagedSecretPolicy:
17518    '''
17519         ManagedSecretPolicy contains password and rotation policy for managed secret
17520    '''
17521    __slots__ = [
17522        'password_policy',
17523        'rotation_policy',
17524    ]
17525
17526    def __init__(
17527        self,
17528        password_policy=None,
17529        rotation_policy=None,
17530    ):
17531        self.password_policy = password_policy if password_policy is not None else None
17532        '''
17533         Password policy for a managed secret
17534        '''
17535        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17536        '''
17537         Rotation policy for a managed secret
17538        '''
17539
17540    def __repr__(self):
17541        return '<sdm.ManagedSecretPolicy ' + \
17542            'password_policy: ' + repr(self.password_policy) + ' ' +\
17543            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17544            '>'
17545
17546    def to_dict(self):
17547        return {
17548            'password_policy': self.password_policy,
17549            'rotation_policy': self.rotation_policy,
17550        }
17551
17552    @classmethod
17553    def from_dict(cls, d):
17554        return cls(
17555            password_policy=d.get('password_policy'),
17556            rotation_policy=d.get('rotation_policy'),
17557        )
17558
17559
17560class ManagedSecretRetrieveRequest:
17561    '''
17562         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17563    '''
17564    __slots__ = [
17565        'id',
17566        'public_key',
17567    ]
17568
17569    def __init__(
17570        self,
17571        id=None,
17572        public_key=None,
17573    ):
17574        self.id = id if id is not None else ''
17575        '''
17576         The unique identifier of the Managed Secret to retrieve.
17577        '''
17578        self.public_key = public_key if public_key is not None else b''
17579        '''
17580         Public key to encrypt a sensitive value with
17581        '''
17582
17583    def __repr__(self):
17584        return '<sdm.ManagedSecretRetrieveRequest ' + \
17585            'id: ' + repr(self.id) + ' ' +\
17586            'public_key: ' + repr(self.public_key) + ' ' +\
17587            '>'
17588
17589    def to_dict(self):
17590        return {
17591            'id': self.id,
17592            'public_key': self.public_key,
17593        }
17594
17595    @classmethod
17596    def from_dict(cls, d):
17597        return cls(
17598            id=d.get('id'),
17599            public_key=d.get('public_key'),
17600        )
17601
17602
17603class ManagedSecretRetrieveResponse:
17604    '''
17605         ManagedSecretRetrieveResponse contains information about requested Managed
17606     Secret
17607    '''
17608    __slots__ = [
17609        'managed_secret',
17610        'meta',
17611        'rate_limit',
17612    ]
17613
17614    def __init__(
17615        self,
17616        managed_secret=None,
17617        meta=None,
17618        rate_limit=None,
17619    ):
17620        self.managed_secret = managed_secret if managed_secret is not None else None
17621        '''
17622         The requested Managed Secret.
17623        '''
17624        self.meta = meta if meta is not None else None
17625        '''
17626         Reserved for future use.
17627        '''
17628        self.rate_limit = rate_limit if rate_limit is not None else None
17629        '''
17630         Rate limit information.
17631        '''
17632
17633    def __repr__(self):
17634        return '<sdm.ManagedSecretRetrieveResponse ' + \
17635            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17636            'meta: ' + repr(self.meta) + ' ' +\
17637            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17638            '>'
17639
17640    def to_dict(self):
17641        return {
17642            'managed_secret': self.managed_secret,
17643            'meta': self.meta,
17644            'rate_limit': self.rate_limit,
17645        }
17646
17647    @classmethod
17648    def from_dict(cls, d):
17649        return cls(
17650            managed_secret=d.get('managed_secret'),
17651            meta=d.get('meta'),
17652            rate_limit=d.get('rate_limit'),
17653        )
17654
17655
17656class ManagedSecretRotateRequest:
17657    '''
17658         ManagedSecretRotateRequest specifies Managed Secret to rotate
17659    '''
17660    __slots__ = [
17661        'id',
17662    ]
17663
17664    def __init__(
17665        self,
17666        id=None,
17667    ):
17668        self.id = id if id is not None else ''
17669        '''
17670         The unique identifier of the Managed Secret to rotate.
17671        '''
17672
17673    def __repr__(self):
17674        return '<sdm.ManagedSecretRotateRequest ' + \
17675            'id: ' + repr(self.id) + ' ' +\
17676            '>'
17677
17678    def to_dict(self):
17679        return {
17680            'id': self.id,
17681        }
17682
17683    @classmethod
17684    def from_dict(cls, d):
17685        return cls(id=d.get('id'), )
17686
17687
17688class ManagedSecretRotateResponse:
17689    '''
17690         ManagedSecretRotateResponse contains information about Secret Engine after
17691     successful rotation.
17692    '''
17693    __slots__ = [
17694        'meta',
17695        'rate_limit',
17696    ]
17697
17698    def __init__(
17699        self,
17700        meta=None,
17701        rate_limit=None,
17702    ):
17703        self.meta = meta if meta is not None else None
17704        '''
17705         Reserved for future use.
17706        '''
17707        self.rate_limit = rate_limit if rate_limit is not None else None
17708        '''
17709         Rate limit information.
17710        '''
17711
17712    def __repr__(self):
17713        return '<sdm.ManagedSecretRotateResponse ' + \
17714            'meta: ' + repr(self.meta) + ' ' +\
17715            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17716            '>'
17717
17718    def to_dict(self):
17719        return {
17720            'meta': self.meta,
17721            'rate_limit': self.rate_limit,
17722        }
17723
17724    @classmethod
17725    def from_dict(cls, d):
17726        return cls(
17727            meta=d.get('meta'),
17728            rate_limit=d.get('rate_limit'),
17729        )
17730
17731
17732class ManagedSecretRotationPolicy:
17733    __slots__ = []
17734
17735    def __init__(self, ):
17736        pass
17737
17738    def __repr__(self):
17739        return '<sdm.ManagedSecretRotationPolicy ' + \
17740            '>'
17741
17742    def to_dict(self):
17743        return {}
17744
17745    @classmethod
17746    def from_dict(cls, d):
17747        return cls()
17748
17749
17750class ManagedSecretUpdateRequest:
17751    '''
17752         ManagedSecretUpdateRequest specifies Managed Secret to update
17753    '''
17754    __slots__ = [
17755        'managed_secret',
17756    ]
17757
17758    def __init__(
17759        self,
17760        managed_secret=None,
17761    ):
17762        self.managed_secret = managed_secret if managed_secret is not None else None
17763        '''
17764         Managed Secret to update
17765        '''
17766
17767    def __repr__(self):
17768        return '<sdm.ManagedSecretUpdateRequest ' + \
17769            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17770            '>'
17771
17772    def to_dict(self):
17773        return {
17774            'managed_secret': self.managed_secret,
17775        }
17776
17777    @classmethod
17778    def from_dict(cls, d):
17779        return cls(managed_secret=d.get('managed_secret'), )
17780
17781
17782class ManagedSecretUpdateResponse:
17783    '''
17784         ManagedSecretUpdateResponse contains information about Secret Engine after
17785     successful update.
17786    '''
17787    __slots__ = [
17788        'managed_secret',
17789        'meta',
17790        'rate_limit',
17791    ]
17792
17793    def __init__(
17794        self,
17795        managed_secret=None,
17796        meta=None,
17797        rate_limit=None,
17798    ):
17799        self.managed_secret = managed_secret if managed_secret is not None else None
17800        '''
17801         The requested Managed Secret.
17802        '''
17803        self.meta = meta if meta is not None else None
17804        '''
17805         Reserved for future use.
17806        '''
17807        self.rate_limit = rate_limit if rate_limit is not None else None
17808        '''
17809         Rate limit information.
17810        '''
17811
17812    def __repr__(self):
17813        return '<sdm.ManagedSecretUpdateResponse ' + \
17814            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17815            'meta: ' + repr(self.meta) + ' ' +\
17816            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17817            '>'
17818
17819    def to_dict(self):
17820        return {
17821            'managed_secret': self.managed_secret,
17822            'meta': self.meta,
17823            'rate_limit': self.rate_limit,
17824        }
17825
17826    @classmethod
17827    def from_dict(cls, d):
17828        return cls(
17829            managed_secret=d.get('managed_secret'),
17830            meta=d.get('meta'),
17831            rate_limit=d.get('rate_limit'),
17832        )
17833
17834
17835class ManagedSecretValidateRequest:
17836    '''
17837         ManagedSecretValidateRequest specifies which Managed Secret to validate
17838    '''
17839    __slots__ = [
17840        'id',
17841    ]
17842
17843    def __init__(
17844        self,
17845        id=None,
17846    ):
17847        self.id = id if id is not None else ''
17848        '''
17849         The unique identifier of the Managed Secret to validate.
17850        '''
17851
17852    def __repr__(self):
17853        return '<sdm.ManagedSecretValidateRequest ' + \
17854            'id: ' + repr(self.id) + ' ' +\
17855            '>'
17856
17857    def to_dict(self):
17858        return {
17859            'id': self.id,
17860        }
17861
17862    @classmethod
17863    def from_dict(cls, d):
17864        return cls(id=d.get('id'), )
17865
17866
17867class ManagedSecretValidateResponse:
17868    '''
17869         ManagedSecretValidateResponse contains validity of requested Managed
17870     Secret
17871    '''
17872    __slots__ = [
17873        'invalid_info',
17874        'meta',
17875        'rate_limit',
17876        'valid',
17877    ]
17878
17879    def __init__(
17880        self,
17881        invalid_info=None,
17882        meta=None,
17883        rate_limit=None,
17884        valid=None,
17885    ):
17886        self.invalid_info = invalid_info if invalid_info is not None else ''
17887        '''
17888         Information about why secret is invalid
17889        '''
17890        self.meta = meta if meta is not None else None
17891        '''
17892         Reserved for future use.
17893        '''
17894        self.rate_limit = rate_limit if rate_limit is not None else None
17895        '''
17896         Rate limit information.
17897        '''
17898        self.valid = valid if valid is not None else False
17899        '''
17900         Whether the secret is valid
17901        '''
17902
17903    def __repr__(self):
17904        return '<sdm.ManagedSecretValidateResponse ' + \
17905            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17906            'meta: ' + repr(self.meta) + ' ' +\
17907            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17908            'valid: ' + repr(self.valid) + ' ' +\
17909            '>'
17910
17911    def to_dict(self):
17912        return {
17913            'invalid_info': self.invalid_info,
17914            'meta': self.meta,
17915            'rate_limit': self.rate_limit,
17916            'valid': self.valid,
17917        }
17918
17919    @classmethod
17920    def from_dict(cls, d):
17921        return cls(
17922            invalid_info=d.get('invalid_info'),
17923            meta=d.get('meta'),
17924            rate_limit=d.get('rate_limit'),
17925            valid=d.get('valid'),
17926        )
17927
17928
17929class Maria:
17930    __slots__ = [
17931        'bind_interface',
17932        'database',
17933        'egress_filter',
17934        'healthy',
17935        'hostname',
17936        'id',
17937        'name',
17938        'password',
17939        'port',
17940        'port_override',
17941        'proxy_cluster_id',
17942        'require_native_auth',
17943        'secret_store_id',
17944        'subdomain',
17945        'tags',
17946        'use_azure_single_server_usernames',
17947        'username',
17948    ]
17949
17950    def __init__(
17951        self,
17952        bind_interface=None,
17953        database=None,
17954        egress_filter=None,
17955        healthy=None,
17956        hostname=None,
17957        id=None,
17958        name=None,
17959        password=None,
17960        port=None,
17961        port_override=None,
17962        proxy_cluster_id=None,
17963        require_native_auth=None,
17964        secret_store_id=None,
17965        subdomain=None,
17966        tags=None,
17967        use_azure_single_server_usernames=None,
17968        username=None,
17969    ):
17970        self.bind_interface = bind_interface if bind_interface is not None else ''
17971        '''
17972         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17973        '''
17974        self.database = database if database is not None else ''
17975        '''
17976         The database for healthchecks. Does not affect client requests.
17977        '''
17978        self.egress_filter = egress_filter if egress_filter is not None else ''
17979        '''
17980         A filter applied to the routing logic to pin datasource to nodes.
17981        '''
17982        self.healthy = healthy if healthy is not None else False
17983        '''
17984         True if the datasource is reachable and the credentials are valid.
17985        '''
17986        self.hostname = hostname if hostname is not None else ''
17987        '''
17988         The host to dial to initiate a connection from the egress node to this resource.
17989        '''
17990        self.id = id if id is not None else ''
17991        '''
17992         Unique identifier of the Resource.
17993        '''
17994        self.name = name if name is not None else ''
17995        '''
17996         Unique human-readable name of the Resource.
17997        '''
17998        self.password = password if password is not None else ''
17999        '''
18000         The password to authenticate with.
18001        '''
18002        self.port = port if port is not None else 0
18003        '''
18004         The port to dial to initiate a connection from the egress node to this resource.
18005        '''
18006        self.port_override = port_override if port_override is not None else 0
18007        '''
18008         The local port used by clients to connect to this resource.
18009        '''
18010        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18011        '''
18012         ID of the proxy cluster for this resource, if any.
18013        '''
18014        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18015        '''
18016         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18017        '''
18018        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18019        '''
18020         ID of the secret store containing credentials for this resource, if any.
18021        '''
18022        self.subdomain = subdomain if subdomain is not None else ''
18023        '''
18024         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18025        '''
18026        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18027        '''
18028         Tags is a map of key, value pairs.
18029        '''
18030        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18031        '''
18032         If true, appends the hostname to the username when hitting a database.azure.com address
18033        '''
18034        self.username = username if username is not None else ''
18035        '''
18036         The username to authenticate with.
18037        '''
18038
18039    def __repr__(self):
18040        return '<sdm.Maria ' + \
18041            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18042            'database: ' + repr(self.database) + ' ' +\
18043            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18044            'healthy: ' + repr(self.healthy) + ' ' +\
18045            'hostname: ' + repr(self.hostname) + ' ' +\
18046            'id: ' + repr(self.id) + ' ' +\
18047            'name: ' + repr(self.name) + ' ' +\
18048            'password: ' + repr(self.password) + ' ' +\
18049            'port: ' + repr(self.port) + ' ' +\
18050            'port_override: ' + repr(self.port_override) + ' ' +\
18051            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18052            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18053            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18054            'subdomain: ' + repr(self.subdomain) + ' ' +\
18055            'tags: ' + repr(self.tags) + ' ' +\
18056            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18057            'username: ' + repr(self.username) + ' ' +\
18058            '>'
18059
18060    def to_dict(self):
18061        return {
18062            'bind_interface': self.bind_interface,
18063            'database': self.database,
18064            'egress_filter': self.egress_filter,
18065            'healthy': self.healthy,
18066            'hostname': self.hostname,
18067            'id': self.id,
18068            'name': self.name,
18069            'password': self.password,
18070            'port': self.port,
18071            'port_override': self.port_override,
18072            'proxy_cluster_id': self.proxy_cluster_id,
18073            'require_native_auth': self.require_native_auth,
18074            'secret_store_id': self.secret_store_id,
18075            'subdomain': self.subdomain,
18076            'tags': self.tags,
18077            'use_azure_single_server_usernames':
18078            self.use_azure_single_server_usernames,
18079            'username': self.username,
18080        }
18081
18082    @classmethod
18083    def from_dict(cls, d):
18084        return cls(
18085            bind_interface=d.get('bind_interface'),
18086            database=d.get('database'),
18087            egress_filter=d.get('egress_filter'),
18088            healthy=d.get('healthy'),
18089            hostname=d.get('hostname'),
18090            id=d.get('id'),
18091            name=d.get('name'),
18092            password=d.get('password'),
18093            port=d.get('port'),
18094            port_override=d.get('port_override'),
18095            proxy_cluster_id=d.get('proxy_cluster_id'),
18096            require_native_auth=d.get('require_native_auth'),
18097            secret_store_id=d.get('secret_store_id'),
18098            subdomain=d.get('subdomain'),
18099            tags=d.get('tags'),
18100            use_azure_single_server_usernames=d.get(
18101                'use_azure_single_server_usernames'),
18102            username=d.get('username'),
18103        )
18104
18105
18106class Memcached:
18107    __slots__ = [
18108        'bind_interface',
18109        'egress_filter',
18110        'healthy',
18111        'hostname',
18112        'id',
18113        'name',
18114        'port',
18115        'port_override',
18116        'proxy_cluster_id',
18117        'secret_store_id',
18118        'subdomain',
18119        'tags',
18120    ]
18121
18122    def __init__(
18123        self,
18124        bind_interface=None,
18125        egress_filter=None,
18126        healthy=None,
18127        hostname=None,
18128        id=None,
18129        name=None,
18130        port=None,
18131        port_override=None,
18132        proxy_cluster_id=None,
18133        secret_store_id=None,
18134        subdomain=None,
18135        tags=None,
18136    ):
18137        self.bind_interface = bind_interface if bind_interface is not None else ''
18138        '''
18139         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18140        '''
18141        self.egress_filter = egress_filter if egress_filter is not None else ''
18142        '''
18143         A filter applied to the routing logic to pin datasource to nodes.
18144        '''
18145        self.healthy = healthy if healthy is not None else False
18146        '''
18147         True if the datasource is reachable and the credentials are valid.
18148        '''
18149        self.hostname = hostname if hostname is not None else ''
18150        '''
18151         The host to dial to initiate a connection from the egress node to this resource.
18152        '''
18153        self.id = id if id is not None else ''
18154        '''
18155         Unique identifier of the Resource.
18156        '''
18157        self.name = name if name is not None else ''
18158        '''
18159         Unique human-readable name of the Resource.
18160        '''
18161        self.port = port if port is not None else 0
18162        '''
18163         The port to dial to initiate a connection from the egress node to this resource.
18164        '''
18165        self.port_override = port_override if port_override is not None else 0
18166        '''
18167         The local port used by clients to connect to this resource.
18168        '''
18169        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18170        '''
18171         ID of the proxy cluster for this resource, if any.
18172        '''
18173        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18174        '''
18175         ID of the secret store containing credentials for this resource, if any.
18176        '''
18177        self.subdomain = subdomain if subdomain is not None else ''
18178        '''
18179         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18180        '''
18181        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18182        '''
18183         Tags is a map of key, value pairs.
18184        '''
18185
18186    def __repr__(self):
18187        return '<sdm.Memcached ' + \
18188            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18189            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18190            'healthy: ' + repr(self.healthy) + ' ' +\
18191            'hostname: ' + repr(self.hostname) + ' ' +\
18192            'id: ' + repr(self.id) + ' ' +\
18193            'name: ' + repr(self.name) + ' ' +\
18194            'port: ' + repr(self.port) + ' ' +\
18195            'port_override: ' + repr(self.port_override) + ' ' +\
18196            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18197            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18198            'subdomain: ' + repr(self.subdomain) + ' ' +\
18199            'tags: ' + repr(self.tags) + ' ' +\
18200            '>'
18201
18202    def to_dict(self):
18203        return {
18204            'bind_interface': self.bind_interface,
18205            'egress_filter': self.egress_filter,
18206            'healthy': self.healthy,
18207            'hostname': self.hostname,
18208            'id': self.id,
18209            'name': self.name,
18210            'port': self.port,
18211            'port_override': self.port_override,
18212            'proxy_cluster_id': self.proxy_cluster_id,
18213            'secret_store_id': self.secret_store_id,
18214            'subdomain': self.subdomain,
18215            'tags': self.tags,
18216        }
18217
18218    @classmethod
18219    def from_dict(cls, d):
18220        return cls(
18221            bind_interface=d.get('bind_interface'),
18222            egress_filter=d.get('egress_filter'),
18223            healthy=d.get('healthy'),
18224            hostname=d.get('hostname'),
18225            id=d.get('id'),
18226            name=d.get('name'),
18227            port=d.get('port'),
18228            port_override=d.get('port_override'),
18229            proxy_cluster_id=d.get('proxy_cluster_id'),
18230            secret_store_id=d.get('secret_store_id'),
18231            subdomain=d.get('subdomain'),
18232            tags=d.get('tags'),
18233        )
18234
18235
18236class Memsql:
18237    __slots__ = [
18238        'bind_interface',
18239        'database',
18240        'egress_filter',
18241        'healthy',
18242        'hostname',
18243        'id',
18244        'name',
18245        'password',
18246        'port',
18247        'port_override',
18248        'proxy_cluster_id',
18249        'require_native_auth',
18250        'secret_store_id',
18251        'subdomain',
18252        'tags',
18253        'use_azure_single_server_usernames',
18254        'username',
18255    ]
18256
18257    def __init__(
18258        self,
18259        bind_interface=None,
18260        database=None,
18261        egress_filter=None,
18262        healthy=None,
18263        hostname=None,
18264        id=None,
18265        name=None,
18266        password=None,
18267        port=None,
18268        port_override=None,
18269        proxy_cluster_id=None,
18270        require_native_auth=None,
18271        secret_store_id=None,
18272        subdomain=None,
18273        tags=None,
18274        use_azure_single_server_usernames=None,
18275        username=None,
18276    ):
18277        self.bind_interface = bind_interface if bind_interface is not None else ''
18278        '''
18279         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18280        '''
18281        self.database = database if database is not None else ''
18282        '''
18283         The database for healthchecks. Does not affect client requests.
18284        '''
18285        self.egress_filter = egress_filter if egress_filter is not None else ''
18286        '''
18287         A filter applied to the routing logic to pin datasource to nodes.
18288        '''
18289        self.healthy = healthy if healthy is not None else False
18290        '''
18291         True if the datasource is reachable and the credentials are valid.
18292        '''
18293        self.hostname = hostname if hostname is not None else ''
18294        '''
18295         The host to dial to initiate a connection from the egress node to this resource.
18296        '''
18297        self.id = id if id is not None else ''
18298        '''
18299         Unique identifier of the Resource.
18300        '''
18301        self.name = name if name is not None else ''
18302        '''
18303         Unique human-readable name of the Resource.
18304        '''
18305        self.password = password if password is not None else ''
18306        '''
18307         The password to authenticate with.
18308        '''
18309        self.port = port if port is not None else 0
18310        '''
18311         The port to dial to initiate a connection from the egress node to this resource.
18312        '''
18313        self.port_override = port_override if port_override is not None else 0
18314        '''
18315         The local port used by clients to connect to this resource.
18316        '''
18317        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18318        '''
18319         ID of the proxy cluster for this resource, if any.
18320        '''
18321        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18322        '''
18323         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18324        '''
18325        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18326        '''
18327         ID of the secret store containing credentials for this resource, if any.
18328        '''
18329        self.subdomain = subdomain if subdomain is not None else ''
18330        '''
18331         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18332        '''
18333        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18334        '''
18335         Tags is a map of key, value pairs.
18336        '''
18337        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18338        '''
18339         If true, appends the hostname to the username when hitting a database.azure.com address
18340        '''
18341        self.username = username if username is not None else ''
18342        '''
18343         The username to authenticate with.
18344        '''
18345
18346    def __repr__(self):
18347        return '<sdm.Memsql ' + \
18348            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18349            'database: ' + repr(self.database) + ' ' +\
18350            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18351            'healthy: ' + repr(self.healthy) + ' ' +\
18352            'hostname: ' + repr(self.hostname) + ' ' +\
18353            'id: ' + repr(self.id) + ' ' +\
18354            'name: ' + repr(self.name) + ' ' +\
18355            'password: ' + repr(self.password) + ' ' +\
18356            'port: ' + repr(self.port) + ' ' +\
18357            'port_override: ' + repr(self.port_override) + ' ' +\
18358            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18359            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18360            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18361            'subdomain: ' + repr(self.subdomain) + ' ' +\
18362            'tags: ' + repr(self.tags) + ' ' +\
18363            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18364            'username: ' + repr(self.username) + ' ' +\
18365            '>'
18366
18367    def to_dict(self):
18368        return {
18369            'bind_interface': self.bind_interface,
18370            'database': self.database,
18371            'egress_filter': self.egress_filter,
18372            'healthy': self.healthy,
18373            'hostname': self.hostname,
18374            'id': self.id,
18375            'name': self.name,
18376            'password': self.password,
18377            'port': self.port,
18378            'port_override': self.port_override,
18379            'proxy_cluster_id': self.proxy_cluster_id,
18380            'require_native_auth': self.require_native_auth,
18381            'secret_store_id': self.secret_store_id,
18382            'subdomain': self.subdomain,
18383            'tags': self.tags,
18384            'use_azure_single_server_usernames':
18385            self.use_azure_single_server_usernames,
18386            'username': self.username,
18387        }
18388
18389    @classmethod
18390    def from_dict(cls, d):
18391        return cls(
18392            bind_interface=d.get('bind_interface'),
18393            database=d.get('database'),
18394            egress_filter=d.get('egress_filter'),
18395            healthy=d.get('healthy'),
18396            hostname=d.get('hostname'),
18397            id=d.get('id'),
18398            name=d.get('name'),
18399            password=d.get('password'),
18400            port=d.get('port'),
18401            port_override=d.get('port_override'),
18402            proxy_cluster_id=d.get('proxy_cluster_id'),
18403            require_native_auth=d.get('require_native_auth'),
18404            secret_store_id=d.get('secret_store_id'),
18405            subdomain=d.get('subdomain'),
18406            tags=d.get('tags'),
18407            use_azure_single_server_usernames=d.get(
18408                'use_azure_single_server_usernames'),
18409            username=d.get('username'),
18410        )
18411
18412
18413class MongoHost:
18414    __slots__ = [
18415        'auth_database',
18416        'bind_interface',
18417        'egress_filter',
18418        'healthy',
18419        'hostname',
18420        'id',
18421        'name',
18422        'password',
18423        'port',
18424        'port_override',
18425        'proxy_cluster_id',
18426        'secret_store_id',
18427        'subdomain',
18428        'tags',
18429        'tls_required',
18430        'username',
18431    ]
18432
18433    def __init__(
18434        self,
18435        auth_database=None,
18436        bind_interface=None,
18437        egress_filter=None,
18438        healthy=None,
18439        hostname=None,
18440        id=None,
18441        name=None,
18442        password=None,
18443        port=None,
18444        port_override=None,
18445        proxy_cluster_id=None,
18446        secret_store_id=None,
18447        subdomain=None,
18448        tags=None,
18449        tls_required=None,
18450        username=None,
18451    ):
18452        self.auth_database = auth_database if auth_database is not None else ''
18453        '''
18454         The authentication database to use.
18455        '''
18456        self.bind_interface = bind_interface if bind_interface is not None else ''
18457        '''
18458         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18459        '''
18460        self.egress_filter = egress_filter if egress_filter is not None else ''
18461        '''
18462         A filter applied to the routing logic to pin datasource to nodes.
18463        '''
18464        self.healthy = healthy if healthy is not None else False
18465        '''
18466         True if the datasource is reachable and the credentials are valid.
18467        '''
18468        self.hostname = hostname if hostname is not None else ''
18469        '''
18470         The host to dial to initiate a connection from the egress node to this resource.
18471        '''
18472        self.id = id if id is not None else ''
18473        '''
18474         Unique identifier of the Resource.
18475        '''
18476        self.name = name if name is not None else ''
18477        '''
18478         Unique human-readable name of the Resource.
18479        '''
18480        self.password = password if password is not None else ''
18481        '''
18482         The password to authenticate with.
18483        '''
18484        self.port = port if port is not None else 0
18485        '''
18486         The port to dial to initiate a connection from the egress node to this resource.
18487        '''
18488        self.port_override = port_override if port_override is not None else 0
18489        '''
18490         The local port used by clients to connect to this resource.
18491        '''
18492        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18493        '''
18494         ID of the proxy cluster for this resource, if any.
18495        '''
18496        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18497        '''
18498         ID of the secret store containing credentials for this resource, if any.
18499        '''
18500        self.subdomain = subdomain if subdomain is not None else ''
18501        '''
18502         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18503        '''
18504        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18505        '''
18506         Tags is a map of key, value pairs.
18507        '''
18508        self.tls_required = tls_required if tls_required is not None else False
18509        '''
18510         If set, TLS must be used to connect to this resource.
18511        '''
18512        self.username = username if username is not None else ''
18513        '''
18514         The username to authenticate with.
18515        '''
18516
18517    def __repr__(self):
18518        return '<sdm.MongoHost ' + \
18519            'auth_database: ' + repr(self.auth_database) + ' ' +\
18520            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18521            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18522            'healthy: ' + repr(self.healthy) + ' ' +\
18523            'hostname: ' + repr(self.hostname) + ' ' +\
18524            'id: ' + repr(self.id) + ' ' +\
18525            'name: ' + repr(self.name) + ' ' +\
18526            'password: ' + repr(self.password) + ' ' +\
18527            'port: ' + repr(self.port) + ' ' +\
18528            'port_override: ' + repr(self.port_override) + ' ' +\
18529            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18530            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18531            'subdomain: ' + repr(self.subdomain) + ' ' +\
18532            'tags: ' + repr(self.tags) + ' ' +\
18533            'tls_required: ' + repr(self.tls_required) + ' ' +\
18534            'username: ' + repr(self.username) + ' ' +\
18535            '>'
18536
18537    def to_dict(self):
18538        return {
18539            'auth_database': self.auth_database,
18540            'bind_interface': self.bind_interface,
18541            'egress_filter': self.egress_filter,
18542            'healthy': self.healthy,
18543            'hostname': self.hostname,
18544            'id': self.id,
18545            'name': self.name,
18546            'password': self.password,
18547            'port': self.port,
18548            'port_override': self.port_override,
18549            'proxy_cluster_id': self.proxy_cluster_id,
18550            'secret_store_id': self.secret_store_id,
18551            'subdomain': self.subdomain,
18552            'tags': self.tags,
18553            'tls_required': self.tls_required,
18554            'username': self.username,
18555        }
18556
18557    @classmethod
18558    def from_dict(cls, d):
18559        return cls(
18560            auth_database=d.get('auth_database'),
18561            bind_interface=d.get('bind_interface'),
18562            egress_filter=d.get('egress_filter'),
18563            healthy=d.get('healthy'),
18564            hostname=d.get('hostname'),
18565            id=d.get('id'),
18566            name=d.get('name'),
18567            password=d.get('password'),
18568            port=d.get('port'),
18569            port_override=d.get('port_override'),
18570            proxy_cluster_id=d.get('proxy_cluster_id'),
18571            secret_store_id=d.get('secret_store_id'),
18572            subdomain=d.get('subdomain'),
18573            tags=d.get('tags'),
18574            tls_required=d.get('tls_required'),
18575            username=d.get('username'),
18576        )
18577
18578
18579class MongoLegacyHost:
18580    '''
18581    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
18582    without a major version bump.
18583    '''
18584    __slots__ = [
18585        'auth_database',
18586        'bind_interface',
18587        'egress_filter',
18588        'healthy',
18589        'hostname',
18590        'id',
18591        'name',
18592        'password',
18593        'port',
18594        'port_override',
18595        'proxy_cluster_id',
18596        'secret_store_id',
18597        'subdomain',
18598        'tags',
18599        'tls_required',
18600        'username',
18601    ]
18602
18603    def __init__(
18604        self,
18605        auth_database=None,
18606        bind_interface=None,
18607        egress_filter=None,
18608        healthy=None,
18609        hostname=None,
18610        id=None,
18611        name=None,
18612        password=None,
18613        port=None,
18614        port_override=None,
18615        proxy_cluster_id=None,
18616        secret_store_id=None,
18617        subdomain=None,
18618        tags=None,
18619        tls_required=None,
18620        username=None,
18621    ):
18622        self.auth_database = auth_database if auth_database is not None else ''
18623        '''
18624         The authentication database to use.
18625        '''
18626        self.bind_interface = bind_interface if bind_interface is not None else ''
18627        '''
18628         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18629        '''
18630        self.egress_filter = egress_filter if egress_filter is not None else ''
18631        '''
18632         A filter applied to the routing logic to pin datasource to nodes.
18633        '''
18634        self.healthy = healthy if healthy is not None else False
18635        '''
18636         True if the datasource is reachable and the credentials are valid.
18637        '''
18638        self.hostname = hostname if hostname is not None else ''
18639        '''
18640         The host to dial to initiate a connection from the egress node to this resource.
18641        '''
18642        self.id = id if id is not None else ''
18643        '''
18644         Unique identifier of the Resource.
18645        '''
18646        self.name = name if name is not None else ''
18647        '''
18648         Unique human-readable name of the Resource.
18649        '''
18650        self.password = password if password is not None else ''
18651        '''
18652         The password to authenticate with.
18653        '''
18654        self.port = port if port is not None else 0
18655        '''
18656         The port to dial to initiate a connection from the egress node to this resource.
18657        '''
18658        self.port_override = port_override if port_override is not None else 0
18659        '''
18660         The local port used by clients to connect to this resource.
18661        '''
18662        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18663        '''
18664         ID of the proxy cluster for this resource, if any.
18665        '''
18666        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18667        '''
18668         ID of the secret store containing credentials for this resource, if any.
18669        '''
18670        self.subdomain = subdomain if subdomain is not None else ''
18671        '''
18672         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18673        '''
18674        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18675        '''
18676         Tags is a map of key, value pairs.
18677        '''
18678        self.tls_required = tls_required if tls_required is not None else False
18679        '''
18680         If set, TLS must be used to connect to this resource.
18681        '''
18682        self.username = username if username is not None else ''
18683        '''
18684         The username to authenticate with.
18685        '''
18686
18687    def __repr__(self):
18688        return '<sdm.MongoLegacyHost ' + \
18689            'auth_database: ' + repr(self.auth_database) + ' ' +\
18690            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18691            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18692            'healthy: ' + repr(self.healthy) + ' ' +\
18693            'hostname: ' + repr(self.hostname) + ' ' +\
18694            'id: ' + repr(self.id) + ' ' +\
18695            'name: ' + repr(self.name) + ' ' +\
18696            'password: ' + repr(self.password) + ' ' +\
18697            'port: ' + repr(self.port) + ' ' +\
18698            'port_override: ' + repr(self.port_override) + ' ' +\
18699            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18700            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18701            'subdomain: ' + repr(self.subdomain) + ' ' +\
18702            'tags: ' + repr(self.tags) + ' ' +\
18703            'tls_required: ' + repr(self.tls_required) + ' ' +\
18704            'username: ' + repr(self.username) + ' ' +\
18705            '>'
18706
18707    def to_dict(self):
18708        return {
18709            'auth_database': self.auth_database,
18710            'bind_interface': self.bind_interface,
18711            'egress_filter': self.egress_filter,
18712            'healthy': self.healthy,
18713            'hostname': self.hostname,
18714            'id': self.id,
18715            'name': self.name,
18716            'password': self.password,
18717            'port': self.port,
18718            'port_override': self.port_override,
18719            'proxy_cluster_id': self.proxy_cluster_id,
18720            'secret_store_id': self.secret_store_id,
18721            'subdomain': self.subdomain,
18722            'tags': self.tags,
18723            'tls_required': self.tls_required,
18724            'username': self.username,
18725        }
18726
18727    @classmethod
18728    def from_dict(cls, d):
18729        return cls(
18730            auth_database=d.get('auth_database'),
18731            bind_interface=d.get('bind_interface'),
18732            egress_filter=d.get('egress_filter'),
18733            healthy=d.get('healthy'),
18734            hostname=d.get('hostname'),
18735            id=d.get('id'),
18736            name=d.get('name'),
18737            password=d.get('password'),
18738            port=d.get('port'),
18739            port_override=d.get('port_override'),
18740            proxy_cluster_id=d.get('proxy_cluster_id'),
18741            secret_store_id=d.get('secret_store_id'),
18742            subdomain=d.get('subdomain'),
18743            tags=d.get('tags'),
18744            tls_required=d.get('tls_required'),
18745            username=d.get('username'),
18746        )
18747
18748
18749class MongoLegacyReplicaset:
18750    '''
18751    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
18752    without a major version bump.
18753    '''
18754    __slots__ = [
18755        'auth_database',
18756        'bind_interface',
18757        'connect_to_replica',
18758        'egress_filter',
18759        'healthy',
18760        'hostname',
18761        'id',
18762        'name',
18763        'password',
18764        'port',
18765        'port_override',
18766        'proxy_cluster_id',
18767        'replica_set',
18768        'secret_store_id',
18769        'subdomain',
18770        'tags',
18771        'tls_required',
18772        'username',
18773    ]
18774
18775    def __init__(
18776        self,
18777        auth_database=None,
18778        bind_interface=None,
18779        connect_to_replica=None,
18780        egress_filter=None,
18781        healthy=None,
18782        hostname=None,
18783        id=None,
18784        name=None,
18785        password=None,
18786        port=None,
18787        port_override=None,
18788        proxy_cluster_id=None,
18789        replica_set=None,
18790        secret_store_id=None,
18791        subdomain=None,
18792        tags=None,
18793        tls_required=None,
18794        username=None,
18795    ):
18796        self.auth_database = auth_database if auth_database is not None else ''
18797        '''
18798         The authentication database to use.
18799        '''
18800        self.bind_interface = bind_interface if bind_interface is not None else ''
18801        '''
18802         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18803        '''
18804        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18805        '''
18806         Set to connect to a replica instead of the primary node.
18807        '''
18808        self.egress_filter = egress_filter if egress_filter is not None else ''
18809        '''
18810         A filter applied to the routing logic to pin datasource to nodes.
18811        '''
18812        self.healthy = healthy if healthy is not None else False
18813        '''
18814         True if the datasource is reachable and the credentials are valid.
18815        '''
18816        self.hostname = hostname if hostname is not None else ''
18817        '''
18818         The host to dial to initiate a connection from the egress node to this resource.
18819        '''
18820        self.id = id if id is not None else ''
18821        '''
18822         Unique identifier of the Resource.
18823        '''
18824        self.name = name if name is not None else ''
18825        '''
18826         Unique human-readable name of the Resource.
18827        '''
18828        self.password = password if password is not None else ''
18829        '''
18830         The password to authenticate with.
18831        '''
18832        self.port = port if port is not None else 0
18833        '''
18834         The port to dial to initiate a connection from the egress node to this resource.
18835        '''
18836        self.port_override = port_override if port_override is not None else 0
18837        '''
18838         The local port used by clients to connect to this resource.
18839        '''
18840        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18841        '''
18842         ID of the proxy cluster for this resource, if any.
18843        '''
18844        self.replica_set = replica_set if replica_set is not None else ''
18845        '''
18846         The name of the mongo replicaset.
18847        '''
18848        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18849        '''
18850         ID of the secret store containing credentials for this resource, if any.
18851        '''
18852        self.subdomain = subdomain if subdomain is not None else ''
18853        '''
18854         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18855        '''
18856        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18857        '''
18858         Tags is a map of key, value pairs.
18859        '''
18860        self.tls_required = tls_required if tls_required is not None else False
18861        '''
18862         If set, TLS must be used to connect to this resource.
18863        '''
18864        self.username = username if username is not None else ''
18865        '''
18866         The username to authenticate with.
18867        '''
18868
18869    def __repr__(self):
18870        return '<sdm.MongoLegacyReplicaset ' + \
18871            'auth_database: ' + repr(self.auth_database) + ' ' +\
18872            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18873            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18874            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18875            'healthy: ' + repr(self.healthy) + ' ' +\
18876            'hostname: ' + repr(self.hostname) + ' ' +\
18877            'id: ' + repr(self.id) + ' ' +\
18878            'name: ' + repr(self.name) + ' ' +\
18879            'password: ' + repr(self.password) + ' ' +\
18880            'port: ' + repr(self.port) + ' ' +\
18881            'port_override: ' + repr(self.port_override) + ' ' +\
18882            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18883            'replica_set: ' + repr(self.replica_set) + ' ' +\
18884            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18885            'subdomain: ' + repr(self.subdomain) + ' ' +\
18886            'tags: ' + repr(self.tags) + ' ' +\
18887            'tls_required: ' + repr(self.tls_required) + ' ' +\
18888            'username: ' + repr(self.username) + ' ' +\
18889            '>'
18890
18891    def to_dict(self):
18892        return {
18893            'auth_database': self.auth_database,
18894            'bind_interface': self.bind_interface,
18895            'connect_to_replica': self.connect_to_replica,
18896            'egress_filter': self.egress_filter,
18897            'healthy': self.healthy,
18898            'hostname': self.hostname,
18899            'id': self.id,
18900            'name': self.name,
18901            'password': self.password,
18902            'port': self.port,
18903            'port_override': self.port_override,
18904            'proxy_cluster_id': self.proxy_cluster_id,
18905            'replica_set': self.replica_set,
18906            'secret_store_id': self.secret_store_id,
18907            'subdomain': self.subdomain,
18908            'tags': self.tags,
18909            'tls_required': self.tls_required,
18910            'username': self.username,
18911        }
18912
18913    @classmethod
18914    def from_dict(cls, d):
18915        return cls(
18916            auth_database=d.get('auth_database'),
18917            bind_interface=d.get('bind_interface'),
18918            connect_to_replica=d.get('connect_to_replica'),
18919            egress_filter=d.get('egress_filter'),
18920            healthy=d.get('healthy'),
18921            hostname=d.get('hostname'),
18922            id=d.get('id'),
18923            name=d.get('name'),
18924            password=d.get('password'),
18925            port=d.get('port'),
18926            port_override=d.get('port_override'),
18927            proxy_cluster_id=d.get('proxy_cluster_id'),
18928            replica_set=d.get('replica_set'),
18929            secret_store_id=d.get('secret_store_id'),
18930            subdomain=d.get('subdomain'),
18931            tags=d.get('tags'),
18932            tls_required=d.get('tls_required'),
18933            username=d.get('username'),
18934        )
18935
18936
18937class MongoReplicaSet:
18938    __slots__ = [
18939        'auth_database',
18940        'bind_interface',
18941        'connect_to_replica',
18942        'egress_filter',
18943        'healthy',
18944        'hostname',
18945        'id',
18946        'name',
18947        'password',
18948        'port',
18949        'port_override',
18950        'proxy_cluster_id',
18951        'replica_set',
18952        'secret_store_id',
18953        'subdomain',
18954        'tags',
18955        'tls_required',
18956        'username',
18957    ]
18958
18959    def __init__(
18960        self,
18961        auth_database=None,
18962        bind_interface=None,
18963        connect_to_replica=None,
18964        egress_filter=None,
18965        healthy=None,
18966        hostname=None,
18967        id=None,
18968        name=None,
18969        password=None,
18970        port=None,
18971        port_override=None,
18972        proxy_cluster_id=None,
18973        replica_set=None,
18974        secret_store_id=None,
18975        subdomain=None,
18976        tags=None,
18977        tls_required=None,
18978        username=None,
18979    ):
18980        self.auth_database = auth_database if auth_database is not None else ''
18981        '''
18982         The authentication database to use.
18983        '''
18984        self.bind_interface = bind_interface if bind_interface is not None else ''
18985        '''
18986         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18987        '''
18988        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18989        '''
18990         Set to connect to a replica instead of the primary node.
18991        '''
18992        self.egress_filter = egress_filter if egress_filter is not None else ''
18993        '''
18994         A filter applied to the routing logic to pin datasource to nodes.
18995        '''
18996        self.healthy = healthy if healthy is not None else False
18997        '''
18998         True if the datasource is reachable and the credentials are valid.
18999        '''
19000        self.hostname = hostname if hostname is not None else ''
19001        '''
19002         The host to dial to initiate a connection from the egress node to this resource.
19003        '''
19004        self.id = id if id is not None else ''
19005        '''
19006         Unique identifier of the Resource.
19007        '''
19008        self.name = name if name is not None else ''
19009        '''
19010         Unique human-readable name of the Resource.
19011        '''
19012        self.password = password if password is not None else ''
19013        '''
19014         The password to authenticate with.
19015        '''
19016        self.port = port if port is not None else 0
19017        '''
19018         The port to dial to initiate a connection from the egress node to this resource.
19019        '''
19020        self.port_override = port_override if port_override is not None else 0
19021        '''
19022         The local port used by clients to connect to this resource.
19023        '''
19024        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19025        '''
19026         ID of the proxy cluster for this resource, if any.
19027        '''
19028        self.replica_set = replica_set if replica_set is not None else ''
19029        '''
19030         The name of the mongo replicaset.
19031        '''
19032        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19033        '''
19034         ID of the secret store containing credentials for this resource, if any.
19035        '''
19036        self.subdomain = subdomain if subdomain is not None else ''
19037        '''
19038         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19039        '''
19040        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19041        '''
19042         Tags is a map of key, value pairs.
19043        '''
19044        self.tls_required = tls_required if tls_required is not None else False
19045        '''
19046         If set, TLS must be used to connect to this resource.
19047        '''
19048        self.username = username if username is not None else ''
19049        '''
19050         The username to authenticate with.
19051        '''
19052
19053    def __repr__(self):
19054        return '<sdm.MongoReplicaSet ' + \
19055            'auth_database: ' + repr(self.auth_database) + ' ' +\
19056            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19057            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
19058            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19059            'healthy: ' + repr(self.healthy) + ' ' +\
19060            'hostname: ' + repr(self.hostname) + ' ' +\
19061            'id: ' + repr(self.id) + ' ' +\
19062            'name: ' + repr(self.name) + ' ' +\
19063            'password: ' + repr(self.password) + ' ' +\
19064            'port: ' + repr(self.port) + ' ' +\
19065            'port_override: ' + repr(self.port_override) + ' ' +\
19066            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19067            'replica_set: ' + repr(self.replica_set) + ' ' +\
19068            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19069            'subdomain: ' + repr(self.subdomain) + ' ' +\
19070            'tags: ' + repr(self.tags) + ' ' +\
19071            'tls_required: ' + repr(self.tls_required) + ' ' +\
19072            'username: ' + repr(self.username) + ' ' +\
19073            '>'
19074
19075    def to_dict(self):
19076        return {
19077            'auth_database': self.auth_database,
19078            'bind_interface': self.bind_interface,
19079            'connect_to_replica': self.connect_to_replica,
19080            'egress_filter': self.egress_filter,
19081            'healthy': self.healthy,
19082            'hostname': self.hostname,
19083            'id': self.id,
19084            'name': self.name,
19085            'password': self.password,
19086            'port': self.port,
19087            'port_override': self.port_override,
19088            'proxy_cluster_id': self.proxy_cluster_id,
19089            'replica_set': self.replica_set,
19090            'secret_store_id': self.secret_store_id,
19091            'subdomain': self.subdomain,
19092            'tags': self.tags,
19093            'tls_required': self.tls_required,
19094            'username': self.username,
19095        }
19096
19097    @classmethod
19098    def from_dict(cls, d):
19099        return cls(
19100            auth_database=d.get('auth_database'),
19101            bind_interface=d.get('bind_interface'),
19102            connect_to_replica=d.get('connect_to_replica'),
19103            egress_filter=d.get('egress_filter'),
19104            healthy=d.get('healthy'),
19105            hostname=d.get('hostname'),
19106            id=d.get('id'),
19107            name=d.get('name'),
19108            password=d.get('password'),
19109            port=d.get('port'),
19110            port_override=d.get('port_override'),
19111            proxy_cluster_id=d.get('proxy_cluster_id'),
19112            replica_set=d.get('replica_set'),
19113            secret_store_id=d.get('secret_store_id'),
19114            subdomain=d.get('subdomain'),
19115            tags=d.get('tags'),
19116            tls_required=d.get('tls_required'),
19117            username=d.get('username'),
19118        )
19119
19120
19121class MongoShardedCluster:
19122    __slots__ = [
19123        'auth_database',
19124        'bind_interface',
19125        'egress_filter',
19126        'healthy',
19127        'hostname',
19128        'id',
19129        'name',
19130        'password',
19131        'port_override',
19132        'proxy_cluster_id',
19133        'secret_store_id',
19134        'subdomain',
19135        'tags',
19136        'tls_required',
19137        'username',
19138    ]
19139
19140    def __init__(
19141        self,
19142        auth_database=None,
19143        bind_interface=None,
19144        egress_filter=None,
19145        healthy=None,
19146        hostname=None,
19147        id=None,
19148        name=None,
19149        password=None,
19150        port_override=None,
19151        proxy_cluster_id=None,
19152        secret_store_id=None,
19153        subdomain=None,
19154        tags=None,
19155        tls_required=None,
19156        username=None,
19157    ):
19158        self.auth_database = auth_database if auth_database is not None else ''
19159        '''
19160         The authentication database to use.
19161        '''
19162        self.bind_interface = bind_interface if bind_interface is not None else ''
19163        '''
19164         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19165        '''
19166        self.egress_filter = egress_filter if egress_filter is not None else ''
19167        '''
19168         A filter applied to the routing logic to pin datasource to nodes.
19169        '''
19170        self.healthy = healthy if healthy is not None else False
19171        '''
19172         True if the datasource is reachable and the credentials are valid.
19173        '''
19174        self.hostname = hostname if hostname is not None else ''
19175        '''
19176         The host to dial to initiate a connection from the egress node to this resource.
19177        '''
19178        self.id = id if id is not None else ''
19179        '''
19180         Unique identifier of the Resource.
19181        '''
19182        self.name = name if name is not None else ''
19183        '''
19184         Unique human-readable name of the Resource.
19185        '''
19186        self.password = password if password is not None else ''
19187        '''
19188         The password to authenticate with.
19189        '''
19190        self.port_override = port_override if port_override is not None else 0
19191        '''
19192         The local port used by clients to connect to this resource.
19193        '''
19194        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19195        '''
19196         ID of the proxy cluster for this resource, if any.
19197        '''
19198        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19199        '''
19200         ID of the secret store containing credentials for this resource, if any.
19201        '''
19202        self.subdomain = subdomain if subdomain is not None else ''
19203        '''
19204         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19205        '''
19206        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19207        '''
19208         Tags is a map of key, value pairs.
19209        '''
19210        self.tls_required = tls_required if tls_required is not None else False
19211        '''
19212         If set, TLS must be used to connect to this resource.
19213        '''
19214        self.username = username if username is not None else ''
19215        '''
19216         The username to authenticate with.
19217        '''
19218
19219    def __repr__(self):
19220        return '<sdm.MongoShardedCluster ' + \
19221            'auth_database: ' + repr(self.auth_database) + ' ' +\
19222            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19223            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19224            'healthy: ' + repr(self.healthy) + ' ' +\
19225            'hostname: ' + repr(self.hostname) + ' ' +\
19226            'id: ' + repr(self.id) + ' ' +\
19227            'name: ' + repr(self.name) + ' ' +\
19228            'password: ' + repr(self.password) + ' ' +\
19229            'port_override: ' + repr(self.port_override) + ' ' +\
19230            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19231            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19232            'subdomain: ' + repr(self.subdomain) + ' ' +\
19233            'tags: ' + repr(self.tags) + ' ' +\
19234            'tls_required: ' + repr(self.tls_required) + ' ' +\
19235            'username: ' + repr(self.username) + ' ' +\
19236            '>'
19237
19238    def to_dict(self):
19239        return {
19240            'auth_database': self.auth_database,
19241            'bind_interface': self.bind_interface,
19242            'egress_filter': self.egress_filter,
19243            'healthy': self.healthy,
19244            'hostname': self.hostname,
19245            'id': self.id,
19246            'name': self.name,
19247            'password': self.password,
19248            'port_override': self.port_override,
19249            'proxy_cluster_id': self.proxy_cluster_id,
19250            'secret_store_id': self.secret_store_id,
19251            'subdomain': self.subdomain,
19252            'tags': self.tags,
19253            'tls_required': self.tls_required,
19254            'username': self.username,
19255        }
19256
19257    @classmethod
19258    def from_dict(cls, d):
19259        return cls(
19260            auth_database=d.get('auth_database'),
19261            bind_interface=d.get('bind_interface'),
19262            egress_filter=d.get('egress_filter'),
19263            healthy=d.get('healthy'),
19264            hostname=d.get('hostname'),
19265            id=d.get('id'),
19266            name=d.get('name'),
19267            password=d.get('password'),
19268            port_override=d.get('port_override'),
19269            proxy_cluster_id=d.get('proxy_cluster_id'),
19270            secret_store_id=d.get('secret_store_id'),
19271            subdomain=d.get('subdomain'),
19272            tags=d.get('tags'),
19273            tls_required=d.get('tls_required'),
19274            username=d.get('username'),
19275        )
19276
19277
19278class Mysql:
19279    __slots__ = [
19280        'bind_interface',
19281        'database',
19282        'egress_filter',
19283        'healthy',
19284        'hostname',
19285        'id',
19286        'name',
19287        'password',
19288        'port',
19289        'port_override',
19290        'proxy_cluster_id',
19291        'require_native_auth',
19292        'secret_store_id',
19293        'subdomain',
19294        'tags',
19295        'use_azure_single_server_usernames',
19296        'username',
19297    ]
19298
19299    def __init__(
19300        self,
19301        bind_interface=None,
19302        database=None,
19303        egress_filter=None,
19304        healthy=None,
19305        hostname=None,
19306        id=None,
19307        name=None,
19308        password=None,
19309        port=None,
19310        port_override=None,
19311        proxy_cluster_id=None,
19312        require_native_auth=None,
19313        secret_store_id=None,
19314        subdomain=None,
19315        tags=None,
19316        use_azure_single_server_usernames=None,
19317        username=None,
19318    ):
19319        self.bind_interface = bind_interface if bind_interface is not None else ''
19320        '''
19321         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19322        '''
19323        self.database = database if database is not None else ''
19324        '''
19325         The database for healthchecks. Does not affect client requests.
19326        '''
19327        self.egress_filter = egress_filter if egress_filter is not None else ''
19328        '''
19329         A filter applied to the routing logic to pin datasource to nodes.
19330        '''
19331        self.healthy = healthy if healthy is not None else False
19332        '''
19333         True if the datasource is reachable and the credentials are valid.
19334        '''
19335        self.hostname = hostname if hostname is not None else ''
19336        '''
19337         The host to dial to initiate a connection from the egress node to this resource.
19338        '''
19339        self.id = id if id is not None else ''
19340        '''
19341         Unique identifier of the Resource.
19342        '''
19343        self.name = name if name is not None else ''
19344        '''
19345         Unique human-readable name of the Resource.
19346        '''
19347        self.password = password if password is not None else ''
19348        '''
19349         The password to authenticate with.
19350        '''
19351        self.port = port if port is not None else 0
19352        '''
19353         The port to dial to initiate a connection from the egress node to this resource.
19354        '''
19355        self.port_override = port_override if port_override is not None else 0
19356        '''
19357         The local port used by clients to connect to this resource.
19358        '''
19359        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19360        '''
19361         ID of the proxy cluster for this resource, if any.
19362        '''
19363        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19364        '''
19365         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19366        '''
19367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19368        '''
19369         ID of the secret store containing credentials for this resource, if any.
19370        '''
19371        self.subdomain = subdomain if subdomain is not None else ''
19372        '''
19373         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19374        '''
19375        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19376        '''
19377         Tags is a map of key, value pairs.
19378        '''
19379        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19380        '''
19381         If true, appends the hostname to the username when hitting a database.azure.com address
19382        '''
19383        self.username = username if username is not None else ''
19384        '''
19385         The username to authenticate with.
19386        '''
19387
19388    def __repr__(self):
19389        return '<sdm.Mysql ' + \
19390            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19391            'database: ' + repr(self.database) + ' ' +\
19392            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19393            'healthy: ' + repr(self.healthy) + ' ' +\
19394            'hostname: ' + repr(self.hostname) + ' ' +\
19395            'id: ' + repr(self.id) + ' ' +\
19396            'name: ' + repr(self.name) + ' ' +\
19397            'password: ' + repr(self.password) + ' ' +\
19398            'port: ' + repr(self.port) + ' ' +\
19399            'port_override: ' + repr(self.port_override) + ' ' +\
19400            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19401            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
19402            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19403            'subdomain: ' + repr(self.subdomain) + ' ' +\
19404            'tags: ' + repr(self.tags) + ' ' +\
19405            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
19406            'username: ' + repr(self.username) + ' ' +\
19407            '>'
19408
19409    def to_dict(self):
19410        return {
19411            'bind_interface': self.bind_interface,
19412            'database': self.database,
19413            'egress_filter': self.egress_filter,
19414            'healthy': self.healthy,
19415            'hostname': self.hostname,
19416            'id': self.id,
19417            'name': self.name,
19418            'password': self.password,
19419            'port': self.port,
19420            'port_override': self.port_override,
19421            'proxy_cluster_id': self.proxy_cluster_id,
19422            'require_native_auth': self.require_native_auth,
19423            'secret_store_id': self.secret_store_id,
19424            'subdomain': self.subdomain,
19425            'tags': self.tags,
19426            'use_azure_single_server_usernames':
19427            self.use_azure_single_server_usernames,
19428            'username': self.username,
19429        }
19430
19431    @classmethod
19432    def from_dict(cls, d):
19433        return cls(
19434            bind_interface=d.get('bind_interface'),
19435            database=d.get('database'),
19436            egress_filter=d.get('egress_filter'),
19437            healthy=d.get('healthy'),
19438            hostname=d.get('hostname'),
19439            id=d.get('id'),
19440            name=d.get('name'),
19441            password=d.get('password'),
19442            port=d.get('port'),
19443            port_override=d.get('port_override'),
19444            proxy_cluster_id=d.get('proxy_cluster_id'),
19445            require_native_auth=d.get('require_native_auth'),
19446            secret_store_id=d.get('secret_store_id'),
19447            subdomain=d.get('subdomain'),
19448            tags=d.get('tags'),
19449            use_azure_single_server_usernames=d.get(
19450                'use_azure_single_server_usernames'),
19451            username=d.get('username'),
19452        )
19453
19454
19455class Neptune:
19456    __slots__ = [
19457        'bind_interface',
19458        'egress_filter',
19459        'endpoint',
19460        'healthy',
19461        'id',
19462        'name',
19463        'port',
19464        'port_override',
19465        'proxy_cluster_id',
19466        'secret_store_id',
19467        'subdomain',
19468        'tags',
19469    ]
19470
19471    def __init__(
19472        self,
19473        bind_interface=None,
19474        egress_filter=None,
19475        endpoint=None,
19476        healthy=None,
19477        id=None,
19478        name=None,
19479        port=None,
19480        port_override=None,
19481        proxy_cluster_id=None,
19482        secret_store_id=None,
19483        subdomain=None,
19484        tags=None,
19485    ):
19486        self.bind_interface = bind_interface if bind_interface is not None else ''
19487        '''
19488         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19489        '''
19490        self.egress_filter = egress_filter if egress_filter is not None else ''
19491        '''
19492         A filter applied to the routing logic to pin datasource to nodes.
19493        '''
19494        self.endpoint = endpoint if endpoint is not None else ''
19495        '''
19496         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19497        '''
19498        self.healthy = healthy if healthy is not None else False
19499        '''
19500         True if the datasource is reachable and the credentials are valid.
19501        '''
19502        self.id = id if id is not None else ''
19503        '''
19504         Unique identifier of the Resource.
19505        '''
19506        self.name = name if name is not None else ''
19507        '''
19508         Unique human-readable name of the Resource.
19509        '''
19510        self.port = port if port is not None else 0
19511        '''
19512         The port to dial to initiate a connection from the egress node to this resource.
19513        '''
19514        self.port_override = port_override if port_override is not None else 0
19515        '''
19516         The local port used by clients to connect to this resource.
19517        '''
19518        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19519        '''
19520         ID of the proxy cluster for this resource, if any.
19521        '''
19522        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19523        '''
19524         ID of the secret store containing credentials for this resource, if any.
19525        '''
19526        self.subdomain = subdomain if subdomain is not None else ''
19527        '''
19528         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19529        '''
19530        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19531        '''
19532         Tags is a map of key, value pairs.
19533        '''
19534
19535    def __repr__(self):
19536        return '<sdm.Neptune ' + \
19537            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19538            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19539            'endpoint: ' + repr(self.endpoint) + ' ' +\
19540            'healthy: ' + repr(self.healthy) + ' ' +\
19541            'id: ' + repr(self.id) + ' ' +\
19542            'name: ' + repr(self.name) + ' ' +\
19543            'port: ' + repr(self.port) + ' ' +\
19544            'port_override: ' + repr(self.port_override) + ' ' +\
19545            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19546            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19547            'subdomain: ' + repr(self.subdomain) + ' ' +\
19548            'tags: ' + repr(self.tags) + ' ' +\
19549            '>'
19550
19551    def to_dict(self):
19552        return {
19553            'bind_interface': self.bind_interface,
19554            'egress_filter': self.egress_filter,
19555            'endpoint': self.endpoint,
19556            'healthy': self.healthy,
19557            'id': self.id,
19558            'name': self.name,
19559            'port': self.port,
19560            'port_override': self.port_override,
19561            'proxy_cluster_id': self.proxy_cluster_id,
19562            'secret_store_id': self.secret_store_id,
19563            'subdomain': self.subdomain,
19564            'tags': self.tags,
19565        }
19566
19567    @classmethod
19568    def from_dict(cls, d):
19569        return cls(
19570            bind_interface=d.get('bind_interface'),
19571            egress_filter=d.get('egress_filter'),
19572            endpoint=d.get('endpoint'),
19573            healthy=d.get('healthy'),
19574            id=d.get('id'),
19575            name=d.get('name'),
19576            port=d.get('port'),
19577            port_override=d.get('port_override'),
19578            proxy_cluster_id=d.get('proxy_cluster_id'),
19579            secret_store_id=d.get('secret_store_id'),
19580            subdomain=d.get('subdomain'),
19581            tags=d.get('tags'),
19582        )
19583
19584
19585class NeptuneIAM:
19586    __slots__ = [
19587        'access_key',
19588        'bind_interface',
19589        'egress_filter',
19590        'endpoint',
19591        'healthy',
19592        'id',
19593        'name',
19594        'port',
19595        'port_override',
19596        'proxy_cluster_id',
19597        'region',
19598        'role_arn',
19599        'role_external_id',
19600        'secret_access_key',
19601        'secret_store_id',
19602        'subdomain',
19603        'tags',
19604    ]
19605
19606    def __init__(
19607        self,
19608        access_key=None,
19609        bind_interface=None,
19610        egress_filter=None,
19611        endpoint=None,
19612        healthy=None,
19613        id=None,
19614        name=None,
19615        port=None,
19616        port_override=None,
19617        proxy_cluster_id=None,
19618        region=None,
19619        role_arn=None,
19620        role_external_id=None,
19621        secret_access_key=None,
19622        secret_store_id=None,
19623        subdomain=None,
19624        tags=None,
19625    ):
19626        self.access_key = access_key if access_key is not None else ''
19627        '''
19628         The Access Key ID to use to authenticate.
19629        '''
19630        self.bind_interface = bind_interface if bind_interface is not None else ''
19631        '''
19632         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19633        '''
19634        self.egress_filter = egress_filter if egress_filter is not None else ''
19635        '''
19636         A filter applied to the routing logic to pin datasource to nodes.
19637        '''
19638        self.endpoint = endpoint if endpoint is not None else ''
19639        '''
19640         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19641        '''
19642        self.healthy = healthy if healthy is not None else False
19643        '''
19644         True if the datasource is reachable and the credentials are valid.
19645        '''
19646        self.id = id if id is not None else ''
19647        '''
19648         Unique identifier of the Resource.
19649        '''
19650        self.name = name if name is not None else ''
19651        '''
19652         Unique human-readable name of the Resource.
19653        '''
19654        self.port = port if port is not None else 0
19655        '''
19656         The port to dial to initiate a connection from the egress node to this resource.
19657        '''
19658        self.port_override = port_override if port_override is not None else 0
19659        '''
19660         The local port used by clients to connect to this resource.
19661        '''
19662        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19663        '''
19664         ID of the proxy cluster for this resource, if any.
19665        '''
19666        self.region = region if region is not None else ''
19667        '''
19668         The AWS region to connect to.
19669        '''
19670        self.role_arn = role_arn if role_arn is not None else ''
19671        '''
19672         The role to assume after logging in.
19673        '''
19674        self.role_external_id = role_external_id if role_external_id is not None else ''
19675        '''
19676         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19677        '''
19678        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19679        '''
19680         The Secret Access Key to use to authenticate.
19681        '''
19682        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19683        '''
19684         ID of the secret store containing credentials for this resource, if any.
19685        '''
19686        self.subdomain = subdomain if subdomain is not None else ''
19687        '''
19688         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19689        '''
19690        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19691        '''
19692         Tags is a map of key, value pairs.
19693        '''
19694
19695    def __repr__(self):
19696        return '<sdm.NeptuneIAM ' + \
19697            'access_key: ' + repr(self.access_key) + ' ' +\
19698            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19699            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19700            'endpoint: ' + repr(self.endpoint) + ' ' +\
19701            'healthy: ' + repr(self.healthy) + ' ' +\
19702            'id: ' + repr(self.id) + ' ' +\
19703            'name: ' + repr(self.name) + ' ' +\
19704            'port: ' + repr(self.port) + ' ' +\
19705            'port_override: ' + repr(self.port_override) + ' ' +\
19706            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19707            'region: ' + repr(self.region) + ' ' +\
19708            'role_arn: ' + repr(self.role_arn) + ' ' +\
19709            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
19710            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
19711            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19712            'subdomain: ' + repr(self.subdomain) + ' ' +\
19713            'tags: ' + repr(self.tags) + ' ' +\
19714            '>'
19715
19716    def to_dict(self):
19717        return {
19718            'access_key': self.access_key,
19719            'bind_interface': self.bind_interface,
19720            'egress_filter': self.egress_filter,
19721            'endpoint': self.endpoint,
19722            'healthy': self.healthy,
19723            'id': self.id,
19724            'name': self.name,
19725            'port': self.port,
19726            'port_override': self.port_override,
19727            'proxy_cluster_id': self.proxy_cluster_id,
19728            'region': self.region,
19729            'role_arn': self.role_arn,
19730            'role_external_id': self.role_external_id,
19731            'secret_access_key': self.secret_access_key,
19732            'secret_store_id': self.secret_store_id,
19733            'subdomain': self.subdomain,
19734            'tags': self.tags,
19735        }
19736
19737    @classmethod
19738    def from_dict(cls, d):
19739        return cls(
19740            access_key=d.get('access_key'),
19741            bind_interface=d.get('bind_interface'),
19742            egress_filter=d.get('egress_filter'),
19743            endpoint=d.get('endpoint'),
19744            healthy=d.get('healthy'),
19745            id=d.get('id'),
19746            name=d.get('name'),
19747            port=d.get('port'),
19748            port_override=d.get('port_override'),
19749            proxy_cluster_id=d.get('proxy_cluster_id'),
19750            region=d.get('region'),
19751            role_arn=d.get('role_arn'),
19752            role_external_id=d.get('role_external_id'),
19753            secret_access_key=d.get('secret_access_key'),
19754            secret_store_id=d.get('secret_store_id'),
19755            subdomain=d.get('subdomain'),
19756            tags=d.get('tags'),
19757        )
19758
19759
19760class NodeCreateResponse:
19761    '''
19762         NodeCreateResponse reports how the Nodes were created in the system.
19763    '''
19764    __slots__ = [
19765        'meta',
19766        'node',
19767        'rate_limit',
19768        'token',
19769    ]
19770
19771    def __init__(
19772        self,
19773        meta=None,
19774        node=None,
19775        rate_limit=None,
19776        token=None,
19777    ):
19778        self.meta = meta if meta is not None else None
19779        '''
19780         Reserved for future use.
19781        '''
19782        self.node = node if node is not None else None
19783        '''
19784         The created Node.
19785        '''
19786        self.rate_limit = rate_limit if rate_limit is not None else None
19787        '''
19788         Rate limit information.
19789        '''
19790        self.token = token if token is not None else ''
19791        '''
19792         The auth token generated for the Node. The Node will use this token to
19793         authenticate with the strongDM API.
19794        '''
19795
19796    def __repr__(self):
19797        return '<sdm.NodeCreateResponse ' + \
19798            'meta: ' + repr(self.meta) + ' ' +\
19799            'node: ' + repr(self.node) + ' ' +\
19800            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19801            'token: ' + repr(self.token) + ' ' +\
19802            '>'
19803
19804    def to_dict(self):
19805        return {
19806            'meta': self.meta,
19807            'node': self.node,
19808            'rate_limit': self.rate_limit,
19809            'token': self.token,
19810        }
19811
19812    @classmethod
19813    def from_dict(cls, d):
19814        return cls(
19815            meta=d.get('meta'),
19816            node=d.get('node'),
19817            rate_limit=d.get('rate_limit'),
19818            token=d.get('token'),
19819        )
19820
19821
19822class NodeDeleteResponse:
19823    '''
19824         NodeDeleteResponse returns information about a Node that was deleted.
19825    '''
19826    __slots__ = [
19827        'meta',
19828        'rate_limit',
19829    ]
19830
19831    def __init__(
19832        self,
19833        meta=None,
19834        rate_limit=None,
19835    ):
19836        self.meta = meta if meta is not None else None
19837        '''
19838         Reserved for future use.
19839        '''
19840        self.rate_limit = rate_limit if rate_limit is not None else None
19841        '''
19842         Rate limit information.
19843        '''
19844
19845    def __repr__(self):
19846        return '<sdm.NodeDeleteResponse ' + \
19847            'meta: ' + repr(self.meta) + ' ' +\
19848            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19849            '>'
19850
19851    def to_dict(self):
19852        return {
19853            'meta': self.meta,
19854            'rate_limit': self.rate_limit,
19855        }
19856
19857    @classmethod
19858    def from_dict(cls, d):
19859        return cls(
19860            meta=d.get('meta'),
19861            rate_limit=d.get('rate_limit'),
19862        )
19863
19864
19865class NodeGetResponse:
19866    '''
19867         NodeGetResponse returns a requested Node.
19868    '''
19869    __slots__ = [
19870        'meta',
19871        'node',
19872        'rate_limit',
19873    ]
19874
19875    def __init__(
19876        self,
19877        meta=None,
19878        node=None,
19879        rate_limit=None,
19880    ):
19881        self.meta = meta if meta is not None else None
19882        '''
19883         Reserved for future use.
19884        '''
19885        self.node = node if node is not None else None
19886        '''
19887         The requested Node.
19888        '''
19889        self.rate_limit = rate_limit if rate_limit is not None else None
19890        '''
19891         Rate limit information.
19892        '''
19893
19894    def __repr__(self):
19895        return '<sdm.NodeGetResponse ' + \
19896            'meta: ' + repr(self.meta) + ' ' +\
19897            'node: ' + repr(self.node) + ' ' +\
19898            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19899            '>'
19900
19901    def to_dict(self):
19902        return {
19903            'meta': self.meta,
19904            'node': self.node,
19905            'rate_limit': self.rate_limit,
19906        }
19907
19908    @classmethod
19909    def from_dict(cls, d):
19910        return cls(
19911            meta=d.get('meta'),
19912            node=d.get('node'),
19913            rate_limit=d.get('rate_limit'),
19914        )
19915
19916
19917class NodeHistory:
19918    '''
19919         NodeHistory records the state of a Node at a given point in time,
19920     where every change (create, update and delete) to a Node produces an
19921     NodeHistory record.
19922    '''
19923    __slots__ = [
19924        'activity_id',
19925        'deleted_at',
19926        'node',
19927        'timestamp',
19928    ]
19929
19930    def __init__(
19931        self,
19932        activity_id=None,
19933        deleted_at=None,
19934        node=None,
19935        timestamp=None,
19936    ):
19937        self.activity_id = activity_id if activity_id is not None else ''
19938        '''
19939         The unique identifier of the Activity that produced this change to the Node.
19940         May be empty for some system-initiated updates.
19941        '''
19942        self.deleted_at = deleted_at if deleted_at is not None else None
19943        '''
19944         If this Node was deleted, the time it was deleted.
19945        '''
19946        self.node = node if node is not None else None
19947        '''
19948         The complete Node state at this time.
19949        '''
19950        self.timestamp = timestamp if timestamp is not None else None
19951        '''
19952         The time at which the Node state was recorded.
19953        '''
19954
19955    def __repr__(self):
19956        return '<sdm.NodeHistory ' + \
19957            'activity_id: ' + repr(self.activity_id) + ' ' +\
19958            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19959            'node: ' + repr(self.node) + ' ' +\
19960            'timestamp: ' + repr(self.timestamp) + ' ' +\
19961            '>'
19962
19963    def to_dict(self):
19964        return {
19965            'activity_id': self.activity_id,
19966            'deleted_at': self.deleted_at,
19967            'node': self.node,
19968            'timestamp': self.timestamp,
19969        }
19970
19971    @classmethod
19972    def from_dict(cls, d):
19973        return cls(
19974            activity_id=d.get('activity_id'),
19975            deleted_at=d.get('deleted_at'),
19976            node=d.get('node'),
19977            timestamp=d.get('timestamp'),
19978        )
19979
19980
19981class NodeMaintenanceWindow:
19982    __slots__ = [
19983        'cron_schedule',
19984        'require_idleness',
19985    ]
19986
19987    def __init__(
19988        self,
19989        cron_schedule=None,
19990        require_idleness=None,
19991    ):
19992        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19993        '''
19994         Cron job syntax for when this maintenance window is active. On this schedule, associated
19995         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19996         are represented in UTC.
19997         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19998         Saturday. Not all possible inputs are supported: the month and day of month selections
19999         must be '*'.
20000        '''
20001        self.require_idleness = require_idleness if require_idleness is not None else False
20002        '''
20003         Require Idleness defines whether this window can sever live connections. If true,
20004         this window will not allow a node to be restarted unless it is serving no connections.
20005         If false, given a restart of the node has been requested (for an update, usually), the
20006         node will restart as soon as it enters an allowed day / hour combination. At least one
20007         maintenance window, out of all configured windows for a node, must have this as false.
20008        '''
20009
20010    def __repr__(self):
20011        return '<sdm.NodeMaintenanceWindow ' + \
20012            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
20013            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
20014            '>'
20015
20016    def to_dict(self):
20017        return {
20018            'cron_schedule': self.cron_schedule,
20019            'require_idleness': self.require_idleness,
20020        }
20021
20022    @classmethod
20023    def from_dict(cls, d):
20024        return cls(
20025            cron_schedule=d.get('cron_schedule'),
20026            require_idleness=d.get('require_idleness'),
20027        )
20028
20029
20030class NodeUpdateResponse:
20031    '''
20032         NodeUpdateResponse returns the fields of a Node after it has been updated by
20033     a NodeUpdateRequest.
20034    '''
20035    __slots__ = [
20036        'meta',
20037        'node',
20038        'rate_limit',
20039    ]
20040
20041    def __init__(
20042        self,
20043        meta=None,
20044        node=None,
20045        rate_limit=None,
20046    ):
20047        self.meta = meta if meta is not None else None
20048        '''
20049         Reserved for future use.
20050        '''
20051        self.node = node if node is not None else None
20052        '''
20053         The updated Node.
20054        '''
20055        self.rate_limit = rate_limit if rate_limit is not None else None
20056        '''
20057         Rate limit information.
20058        '''
20059
20060    def __repr__(self):
20061        return '<sdm.NodeUpdateResponse ' + \
20062            'meta: ' + repr(self.meta) + ' ' +\
20063            'node: ' + repr(self.node) + ' ' +\
20064            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20065            '>'
20066
20067    def to_dict(self):
20068        return {
20069            'meta': self.meta,
20070            'node': self.node,
20071            'rate_limit': self.rate_limit,
20072        }
20073
20074    @classmethod
20075    def from_dict(cls, d):
20076        return cls(
20077            meta=d.get('meta'),
20078            node=d.get('node'),
20079            rate_limit=d.get('rate_limit'),
20080        )
20081
20082
20083class Oracle:
20084    __slots__ = [
20085        'bind_interface',
20086        'database',
20087        'egress_filter',
20088        'healthy',
20089        'hostname',
20090        'id',
20091        'name',
20092        'password',
20093        'port',
20094        'port_override',
20095        'proxy_cluster_id',
20096        'secret_store_id',
20097        'subdomain',
20098        'tags',
20099        'tls_required',
20100        'username',
20101    ]
20102
20103    def __init__(
20104        self,
20105        bind_interface=None,
20106        database=None,
20107        egress_filter=None,
20108        healthy=None,
20109        hostname=None,
20110        id=None,
20111        name=None,
20112        password=None,
20113        port=None,
20114        port_override=None,
20115        proxy_cluster_id=None,
20116        secret_store_id=None,
20117        subdomain=None,
20118        tags=None,
20119        tls_required=None,
20120        username=None,
20121    ):
20122        self.bind_interface = bind_interface if bind_interface is not None else ''
20123        '''
20124         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20125        '''
20126        self.database = database if database is not None else ''
20127        '''
20128         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20129        '''
20130        self.egress_filter = egress_filter if egress_filter is not None else ''
20131        '''
20132         A filter applied to the routing logic to pin datasource to nodes.
20133        '''
20134        self.healthy = healthy if healthy is not None else False
20135        '''
20136         True if the datasource is reachable and the credentials are valid.
20137        '''
20138        self.hostname = hostname if hostname is not None else ''
20139        '''
20140         The host to dial to initiate a connection from the egress node to this resource.
20141        '''
20142        self.id = id if id is not None else ''
20143        '''
20144         Unique identifier of the Resource.
20145        '''
20146        self.name = name if name is not None else ''
20147        '''
20148         Unique human-readable name of the Resource.
20149        '''
20150        self.password = password if password is not None else ''
20151        '''
20152         The password to authenticate with.
20153        '''
20154        self.port = port if port is not None else 0
20155        '''
20156         The port to dial to initiate a connection from the egress node to this resource.
20157        '''
20158        self.port_override = port_override if port_override is not None else 0
20159        '''
20160         The local port used by clients to connect to this resource.
20161        '''
20162        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20163        '''
20164         ID of the proxy cluster for this resource, if any.
20165        '''
20166        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20167        '''
20168         ID of the secret store containing credentials for this resource, if any.
20169        '''
20170        self.subdomain = subdomain if subdomain is not None else ''
20171        '''
20172         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20173        '''
20174        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20175        '''
20176         Tags is a map of key, value pairs.
20177        '''
20178        self.tls_required = tls_required if tls_required is not None else False
20179        '''
20180         If set, TLS must be used to connect to this resource.
20181        '''
20182        self.username = username if username is not None else ''
20183        '''
20184         The username to authenticate with.
20185        '''
20186
20187    def __repr__(self):
20188        return '<sdm.Oracle ' + \
20189            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20190            'database: ' + repr(self.database) + ' ' +\
20191            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20192            'healthy: ' + repr(self.healthy) + ' ' +\
20193            'hostname: ' + repr(self.hostname) + ' ' +\
20194            'id: ' + repr(self.id) + ' ' +\
20195            'name: ' + repr(self.name) + ' ' +\
20196            'password: ' + repr(self.password) + ' ' +\
20197            'port: ' + repr(self.port) + ' ' +\
20198            'port_override: ' + repr(self.port_override) + ' ' +\
20199            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20200            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20201            'subdomain: ' + repr(self.subdomain) + ' ' +\
20202            'tags: ' + repr(self.tags) + ' ' +\
20203            'tls_required: ' + repr(self.tls_required) + ' ' +\
20204            'username: ' + repr(self.username) + ' ' +\
20205            '>'
20206
20207    def to_dict(self):
20208        return {
20209            'bind_interface': self.bind_interface,
20210            'database': self.database,
20211            'egress_filter': self.egress_filter,
20212            'healthy': self.healthy,
20213            'hostname': self.hostname,
20214            'id': self.id,
20215            'name': self.name,
20216            'password': self.password,
20217            'port': self.port,
20218            'port_override': self.port_override,
20219            'proxy_cluster_id': self.proxy_cluster_id,
20220            'secret_store_id': self.secret_store_id,
20221            'subdomain': self.subdomain,
20222            'tags': self.tags,
20223            'tls_required': self.tls_required,
20224            'username': self.username,
20225        }
20226
20227    @classmethod
20228    def from_dict(cls, d):
20229        return cls(
20230            bind_interface=d.get('bind_interface'),
20231            database=d.get('database'),
20232            egress_filter=d.get('egress_filter'),
20233            healthy=d.get('healthy'),
20234            hostname=d.get('hostname'),
20235            id=d.get('id'),
20236            name=d.get('name'),
20237            password=d.get('password'),
20238            port=d.get('port'),
20239            port_override=d.get('port_override'),
20240            proxy_cluster_id=d.get('proxy_cluster_id'),
20241            secret_store_id=d.get('secret_store_id'),
20242            subdomain=d.get('subdomain'),
20243            tags=d.get('tags'),
20244            tls_required=d.get('tls_required'),
20245            username=d.get('username'),
20246        )
20247
20248
20249class OracleNNE:
20250    __slots__ = [
20251        'bind_interface',
20252        'database',
20253        'egress_filter',
20254        'healthy',
20255        'hostname',
20256        'id',
20257        'name',
20258        'password',
20259        'port',
20260        'port_override',
20261        'proxy_cluster_id',
20262        'secret_store_id',
20263        'subdomain',
20264        'tags',
20265        'username',
20266    ]
20267
20268    def __init__(
20269        self,
20270        bind_interface=None,
20271        database=None,
20272        egress_filter=None,
20273        healthy=None,
20274        hostname=None,
20275        id=None,
20276        name=None,
20277        password=None,
20278        port=None,
20279        port_override=None,
20280        proxy_cluster_id=None,
20281        secret_store_id=None,
20282        subdomain=None,
20283        tags=None,
20284        username=None,
20285    ):
20286        self.bind_interface = bind_interface if bind_interface is not None else ''
20287        '''
20288         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20289        '''
20290        self.database = database if database is not None else ''
20291        '''
20292         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20293        '''
20294        self.egress_filter = egress_filter if egress_filter is not None else ''
20295        '''
20296         A filter applied to the routing logic to pin datasource to nodes.
20297        '''
20298        self.healthy = healthy if healthy is not None else False
20299        '''
20300         True if the datasource is reachable and the credentials are valid.
20301        '''
20302        self.hostname = hostname if hostname is not None else ''
20303        '''
20304         The host to dial to initiate a connection from the egress node to this resource.
20305        '''
20306        self.id = id if id is not None else ''
20307        '''
20308         Unique identifier of the Resource.
20309        '''
20310        self.name = name if name is not None else ''
20311        '''
20312         Unique human-readable name of the Resource.
20313        '''
20314        self.password = password if password is not None else ''
20315        '''
20316         The password to authenticate with.
20317        '''
20318        self.port = port if port is not None else 0
20319        '''
20320         The port to dial to initiate a connection from the egress node to this resource.
20321        '''
20322        self.port_override = port_override if port_override is not None else 0
20323        '''
20324         The local port used by clients to connect to this resource.
20325        '''
20326        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20327        '''
20328         ID of the proxy cluster for this resource, if any.
20329        '''
20330        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20331        '''
20332         ID of the secret store containing credentials for this resource, if any.
20333        '''
20334        self.subdomain = subdomain if subdomain is not None else ''
20335        '''
20336         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20337        '''
20338        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20339        '''
20340         Tags is a map of key, value pairs.
20341        '''
20342        self.username = username if username is not None else ''
20343        '''
20344         The username to authenticate with.
20345        '''
20346
20347    def __repr__(self):
20348        return '<sdm.OracleNNE ' + \
20349            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20350            'database: ' + repr(self.database) + ' ' +\
20351            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20352            'healthy: ' + repr(self.healthy) + ' ' +\
20353            'hostname: ' + repr(self.hostname) + ' ' +\
20354            'id: ' + repr(self.id) + ' ' +\
20355            'name: ' + repr(self.name) + ' ' +\
20356            'password: ' + repr(self.password) + ' ' +\
20357            'port: ' + repr(self.port) + ' ' +\
20358            'port_override: ' + repr(self.port_override) + ' ' +\
20359            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20360            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20361            'subdomain: ' + repr(self.subdomain) + ' ' +\
20362            'tags: ' + repr(self.tags) + ' ' +\
20363            'username: ' + repr(self.username) + ' ' +\
20364            '>'
20365
20366    def to_dict(self):
20367        return {
20368            'bind_interface': self.bind_interface,
20369            'database': self.database,
20370            'egress_filter': self.egress_filter,
20371            'healthy': self.healthy,
20372            'hostname': self.hostname,
20373            'id': self.id,
20374            'name': self.name,
20375            'password': self.password,
20376            'port': self.port,
20377            'port_override': self.port_override,
20378            'proxy_cluster_id': self.proxy_cluster_id,
20379            'secret_store_id': self.secret_store_id,
20380            'subdomain': self.subdomain,
20381            'tags': self.tags,
20382            'username': self.username,
20383        }
20384
20385    @classmethod
20386    def from_dict(cls, d):
20387        return cls(
20388            bind_interface=d.get('bind_interface'),
20389            database=d.get('database'),
20390            egress_filter=d.get('egress_filter'),
20391            healthy=d.get('healthy'),
20392            hostname=d.get('hostname'),
20393            id=d.get('id'),
20394            name=d.get('name'),
20395            password=d.get('password'),
20396            port=d.get('port'),
20397            port_override=d.get('port_override'),
20398            proxy_cluster_id=d.get('proxy_cluster_id'),
20399            secret_store_id=d.get('secret_store_id'),
20400            subdomain=d.get('subdomain'),
20401            tags=d.get('tags'),
20402            username=d.get('username'),
20403        )
20404
20405
20406class Organization:
20407    __slots__ = [
20408        'auth_provider',
20409        'created_at',
20410        'device_trust_enabled',
20411        'device_trust_provider',
20412        'discard_replays',
20413        'enforce_single_session',
20414        'idle_timeout',
20415        'idle_timeout_enabled',
20416        'kind',
20417        'log_config',
20418        'log_local_encoder',
20419        'log_local_format',
20420        'log_local_storage',
20421        'log_remote_encoder',
20422        'log_socket_path',
20423        'log_tcp_address',
20424        'loopback_range',
20425        'mfa_enabled',
20426        'mfa_provider',
20427        'name',
20428        'public_key_pem',
20429        'require_secret_store',
20430        'saml_metadata_url',
20431        'scim_provider',
20432        'sensitive_label',
20433        'session_timeout',
20434        'session_timeout_enabled',
20435        'ssh_certificate_authority_public_key',
20436        'ssh_certificate_authority_updated_at',
20437        'updated_at',
20438        'websites_subdomain',
20439    ]
20440
20441    def __init__(
20442        self,
20443        auth_provider=None,
20444        created_at=None,
20445        device_trust_enabled=None,
20446        device_trust_provider=None,
20447        discard_replays=None,
20448        enforce_single_session=None,
20449        idle_timeout=None,
20450        idle_timeout_enabled=None,
20451        kind=None,
20452        log_config=None,
20453        log_local_encoder=None,
20454        log_local_format=None,
20455        log_local_storage=None,
20456        log_remote_encoder=None,
20457        log_socket_path=None,
20458        log_tcp_address=None,
20459        loopback_range=None,
20460        mfa_enabled=None,
20461        mfa_provider=None,
20462        name=None,
20463        public_key_pem=None,
20464        require_secret_store=None,
20465        saml_metadata_url=None,
20466        scim_provider=None,
20467        sensitive_label=None,
20468        session_timeout=None,
20469        session_timeout_enabled=None,
20470        ssh_certificate_authority_public_key=None,
20471        ssh_certificate_authority_updated_at=None,
20472        updated_at=None,
20473        websites_subdomain=None,
20474    ):
20475        self.auth_provider = auth_provider if auth_provider is not None else ''
20476        '''
20477         The Organization's authentication provider, one of the AuthProvider constants.
20478        '''
20479        self.created_at = created_at if created_at is not None else None
20480        '''
20481         The time at which the Organization was created.
20482        '''
20483        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20484        '''
20485         Indicates if the Organization has device trust enabled.
20486        '''
20487        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20488        '''
20489         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20490        '''
20491        self.discard_replays = discard_replays if discard_replays is not None else False
20492        '''
20493         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20494         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
20495        '''
20496        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20497        '''
20498         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20499        '''
20500        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20501        '''
20502         The Organization's idle timeout, if enabled.
20503        '''
20504        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20505        '''
20506         Indicates if the Organization has idle timeouts enabled.
20507        '''
20508        self.kind = kind if kind is not None else ''
20509        '''
20510         The Organization's type, one of the OrgKind constants.
20511        '''
20512        self.log_config = log_config if log_config is not None else None
20513        '''
20514         The Organization's logging settings
20515        '''
20516        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20517        '''
20518         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20519         Deprecated: use log_config.local_encoder instead
20520        '''
20521        self.log_local_format = log_local_format if log_local_format is not None else ''
20522        '''
20523         The Organization's local log format, one of the LogLocalFormat constants.
20524         Deprecated: use log_config.local_format instead
20525        '''
20526        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20527        '''
20528         The Organization's local log storage, one of the LogLocalStorage constants.
20529         Deprecated: use log_config.local_storage instead
20530        '''
20531        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20532        '''
20533         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20534         Deprecated: use categories specific log_config.categories[].remote_encoder instead
20535        '''
20536        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20537        '''
20538         The Organization's socket path for Socket local log storage.
20539         Deprecated: use log_config.local_socket_path instead
20540        '''
20541        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20542        '''
20543         The Organization's TCP address for TCP or Syslog local log storage.
20544         Deprecated: use log_config.local_tcp_address instead
20545        '''
20546        self.loopback_range = loopback_range if loopback_range is not None else ''
20547        '''
20548         The Organization's loopback range.
20549        '''
20550        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20551        '''
20552         Indicates if the Organization has multi-factor authentication enabled.
20553        '''
20554        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20555        '''
20556         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20557        '''
20558        self.name = name if name is not None else ''
20559        '''
20560         The Organization's name.
20561        '''
20562        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20563        '''
20564         The Organization's public key PEM for encrypting remote logs.
20565         Deprecated: use log_config.public_key instead
20566        '''
20567        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20568        '''
20569         Indicates if the Organization requires secret stores.
20570        '''
20571        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20572        '''
20573         The Organization's URL for SAML metadata.
20574        '''
20575        self.scim_provider = scim_provider if scim_provider is not None else ''
20576        '''
20577         The Organization's SCIM provider, one of the SCIMProvider constants.
20578        '''
20579        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20580        '''
20581         The Organization's label for sensitive resources.
20582        '''
20583        self.session_timeout = session_timeout if session_timeout is not None else None
20584        '''
20585         The Organization's session timeout, if enabled.
20586        '''
20587        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20588        '''
20589         Indicates if the Organization has session timeouts enabled.
20590        '''
20591        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20592        '''
20593         The Organization's SSH certificate authority public key.
20594        '''
20595        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20596        '''
20597         The time at which the Organization's SSH certificate authority was last updated.
20598        '''
20599        self.updated_at = updated_at if updated_at is not None else None
20600        '''
20601         The time at which the Organization was last updated.
20602        '''
20603        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20604        '''
20605         The Organization's web site domain.
20606        '''
20607
20608    def __repr__(self):
20609        return '<sdm.Organization ' + \
20610            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
20611            'created_at: ' + repr(self.created_at) + ' ' +\
20612            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
20613            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
20614            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
20615            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
20616            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
20617            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
20618            'kind: ' + repr(self.kind) + ' ' +\
20619            'log_config: ' + repr(self.log_config) + ' ' +\
20620            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
20621            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
20622            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
20623            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
20624            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
20625            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
20626            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
20627            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
20628            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
20629            'name: ' + repr(self.name) + ' ' +\
20630            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
20631            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
20632            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
20633            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
20634            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
20635            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
20636            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
20637            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
20638            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
20639            'updated_at: ' + repr(self.updated_at) + ' ' +\
20640            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
20641            '>'
20642
20643    def to_dict(self):
20644        return {
20645            'auth_provider': self.auth_provider,
20646            'created_at': self.created_at,
20647            'device_trust_enabled': self.device_trust_enabled,
20648            'device_trust_provider': self.device_trust_provider,
20649            'discard_replays': self.discard_replays,
20650            'enforce_single_session': self.enforce_single_session,
20651            'idle_timeout': self.idle_timeout,
20652            'idle_timeout_enabled': self.idle_timeout_enabled,
20653            'kind': self.kind,
20654            'log_config': self.log_config,
20655            'log_local_encoder': self.log_local_encoder,
20656            'log_local_format': self.log_local_format,
20657            'log_local_storage': self.log_local_storage,
20658            'log_remote_encoder': self.log_remote_encoder,
20659            'log_socket_path': self.log_socket_path,
20660            'log_tcp_address': self.log_tcp_address,
20661            'loopback_range': self.loopback_range,
20662            'mfa_enabled': self.mfa_enabled,
20663            'mfa_provider': self.mfa_provider,
20664            'name': self.name,
20665            'public_key_pem': self.public_key_pem,
20666            'require_secret_store': self.require_secret_store,
20667            'saml_metadata_url': self.saml_metadata_url,
20668            'scim_provider': self.scim_provider,
20669            'sensitive_label': self.sensitive_label,
20670            'session_timeout': self.session_timeout,
20671            'session_timeout_enabled': self.session_timeout_enabled,
20672            'ssh_certificate_authority_public_key':
20673            self.ssh_certificate_authority_public_key,
20674            'ssh_certificate_authority_updated_at':
20675            self.ssh_certificate_authority_updated_at,
20676            'updated_at': self.updated_at,
20677            'websites_subdomain': self.websites_subdomain,
20678        }
20679
20680    @classmethod
20681    def from_dict(cls, d):
20682        return cls(
20683            auth_provider=d.get('auth_provider'),
20684            created_at=d.get('created_at'),
20685            device_trust_enabled=d.get('device_trust_enabled'),
20686            device_trust_provider=d.get('device_trust_provider'),
20687            discard_replays=d.get('discard_replays'),
20688            enforce_single_session=d.get('enforce_single_session'),
20689            idle_timeout=d.get('idle_timeout'),
20690            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20691            kind=d.get('kind'),
20692            log_config=d.get('log_config'),
20693            log_local_encoder=d.get('log_local_encoder'),
20694            log_local_format=d.get('log_local_format'),
20695            log_local_storage=d.get('log_local_storage'),
20696            log_remote_encoder=d.get('log_remote_encoder'),
20697            log_socket_path=d.get('log_socket_path'),
20698            log_tcp_address=d.get('log_tcp_address'),
20699            loopback_range=d.get('loopback_range'),
20700            mfa_enabled=d.get('mfa_enabled'),
20701            mfa_provider=d.get('mfa_provider'),
20702            name=d.get('name'),
20703            public_key_pem=d.get('public_key_pem'),
20704            require_secret_store=d.get('require_secret_store'),
20705            saml_metadata_url=d.get('saml_metadata_url'),
20706            scim_provider=d.get('scim_provider'),
20707            sensitive_label=d.get('sensitive_label'),
20708            session_timeout=d.get('session_timeout'),
20709            session_timeout_enabled=d.get('session_timeout_enabled'),
20710            ssh_certificate_authority_public_key=d.get(
20711                'ssh_certificate_authority_public_key'),
20712            ssh_certificate_authority_updated_at=d.get(
20713                'ssh_certificate_authority_updated_at'),
20714            updated_at=d.get('updated_at'),
20715            websites_subdomain=d.get('websites_subdomain'),
20716        )
20717
20718
20719class OrganizationHistoryRecord:
20720    '''
20721         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20722     where every change to an Organization produces an OrganizationHistoryRecord.
20723    '''
20724    __slots__ = [
20725        'activity_id',
20726        'organization',
20727        'timestamp',
20728    ]
20729
20730    def __init__(
20731        self,
20732        activity_id=None,
20733        organization=None,
20734        timestamp=None,
20735    ):
20736        self.activity_id = activity_id if activity_id is not None else ''
20737        '''
20738         The unique identifier of the Activity that produced this change to the Organization.
20739         May be empty for some system-initiated organization updates.
20740        '''
20741        self.organization = organization if organization is not None else None
20742        '''
20743         The complete Organization state at this time.
20744        '''
20745        self.timestamp = timestamp if timestamp is not None else None
20746        '''
20747         The time at which the Organization state was recorded.
20748        '''
20749
20750    def __repr__(self):
20751        return '<sdm.OrganizationHistoryRecord ' + \
20752            'activity_id: ' + repr(self.activity_id) + ' ' +\
20753            'organization: ' + repr(self.organization) + ' ' +\
20754            'timestamp: ' + repr(self.timestamp) + ' ' +\
20755            '>'
20756
20757    def to_dict(self):
20758        return {
20759            'activity_id': self.activity_id,
20760            'organization': self.organization,
20761            'timestamp': self.timestamp,
20762        }
20763
20764    @classmethod
20765    def from_dict(cls, d):
20766        return cls(
20767            activity_id=d.get('activity_id'),
20768            organization=d.get('organization'),
20769            timestamp=d.get('timestamp'),
20770        )
20771
20772
20773class PeeringGroup:
20774    '''
20775         PeeringGroups are the building blocks used for explicit network topology making.
20776     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20777    '''
20778    __slots__ = [
20779        'id',
20780        'name',
20781    ]
20782
20783    def __init__(
20784        self,
20785        id=None,
20786        name=None,
20787    ):
20788        self.id = id if id is not None else ''
20789        '''
20790         Unique identifier of the PeeringGroup.
20791        '''
20792        self.name = name if name is not None else ''
20793        '''
20794         Unique human-readable name of the PeeringGroup.
20795        '''
20796
20797    def __repr__(self):
20798        return '<sdm.PeeringGroup ' + \
20799            'id: ' + repr(self.id) + ' ' +\
20800            'name: ' + repr(self.name) + ' ' +\
20801            '>'
20802
20803    def to_dict(self):
20804        return {
20805            'id': self.id,
20806            'name': self.name,
20807        }
20808
20809    @classmethod
20810    def from_dict(cls, d):
20811        return cls(
20812            id=d.get('id'),
20813            name=d.get('name'),
20814        )
20815
20816
20817class PeeringGroupCreateResponse:
20818    '''
20819         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20820    '''
20821    __slots__ = [
20822        'meta',
20823        'peering_group',
20824        'rate_limit',
20825    ]
20826
20827    def __init__(
20828        self,
20829        meta=None,
20830        peering_group=None,
20831        rate_limit=None,
20832    ):
20833        self.meta = meta if meta is not None else None
20834        '''
20835         Reserved for future use.
20836        '''
20837        self.peering_group = peering_group if peering_group is not None else None
20838        '''
20839         The created PeeringGroup.
20840        '''
20841        self.rate_limit = rate_limit if rate_limit is not None else None
20842        '''
20843         Rate limit information.
20844        '''
20845
20846    def __repr__(self):
20847        return '<sdm.PeeringGroupCreateResponse ' + \
20848            'meta: ' + repr(self.meta) + ' ' +\
20849            'peering_group: ' + repr(self.peering_group) + ' ' +\
20850            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20851            '>'
20852
20853    def to_dict(self):
20854        return {
20855            'meta': self.meta,
20856            'peering_group': self.peering_group,
20857            'rate_limit': self.rate_limit,
20858        }
20859
20860    @classmethod
20861    def from_dict(cls, d):
20862        return cls(
20863            meta=d.get('meta'),
20864            peering_group=d.get('peering_group'),
20865            rate_limit=d.get('rate_limit'),
20866        )
20867
20868
20869class PeeringGroupDeleteResponse:
20870    '''
20871         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20872    '''
20873    __slots__ = [
20874        'meta',
20875        'rate_limit',
20876    ]
20877
20878    def __init__(
20879        self,
20880        meta=None,
20881        rate_limit=None,
20882    ):
20883        self.meta = meta if meta is not None else None
20884        '''
20885         Reserved for future use.
20886        '''
20887        self.rate_limit = rate_limit if rate_limit is not None else None
20888        '''
20889         Rate limit information.
20890        '''
20891
20892    def __repr__(self):
20893        return '<sdm.PeeringGroupDeleteResponse ' + \
20894            'meta: ' + repr(self.meta) + ' ' +\
20895            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20896            '>'
20897
20898    def to_dict(self):
20899        return {
20900            'meta': self.meta,
20901            'rate_limit': self.rate_limit,
20902        }
20903
20904    @classmethod
20905    def from_dict(cls, d):
20906        return cls(
20907            meta=d.get('meta'),
20908            rate_limit=d.get('rate_limit'),
20909        )
20910
20911
20912class PeeringGroupGetResponse:
20913    '''
20914         PeeringGroupGetResponse returns a requested PeeringGroup.
20915    '''
20916    __slots__ = [
20917        'meta',
20918        'peering_group',
20919        'rate_limit',
20920    ]
20921
20922    def __init__(
20923        self,
20924        meta=None,
20925        peering_group=None,
20926        rate_limit=None,
20927    ):
20928        self.meta = meta if meta is not None else None
20929        '''
20930         Reserved for future use.
20931        '''
20932        self.peering_group = peering_group if peering_group is not None else None
20933        '''
20934         The requested PeeringGroup.
20935        '''
20936        self.rate_limit = rate_limit if rate_limit is not None else None
20937        '''
20938         Rate limit information.
20939        '''
20940
20941    def __repr__(self):
20942        return '<sdm.PeeringGroupGetResponse ' + \
20943            'meta: ' + repr(self.meta) + ' ' +\
20944            'peering_group: ' + repr(self.peering_group) + ' ' +\
20945            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20946            '>'
20947
20948    def to_dict(self):
20949        return {
20950            'meta': self.meta,
20951            'peering_group': self.peering_group,
20952            'rate_limit': self.rate_limit,
20953        }
20954
20955    @classmethod
20956    def from_dict(cls, d):
20957        return cls(
20958            meta=d.get('meta'),
20959            peering_group=d.get('peering_group'),
20960            rate_limit=d.get('rate_limit'),
20961        )
20962
20963
20964class PeeringGroupNode:
20965    '''
20966         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20967    '''
20968    __slots__ = [
20969        'group_id',
20970        'id',
20971        'node_id',
20972    ]
20973
20974    def __init__(
20975        self,
20976        group_id=None,
20977        id=None,
20978        node_id=None,
20979    ):
20980        self.group_id = group_id if group_id is not None else ''
20981        '''
20982         Peering Group ID to which the node will be attached to.
20983        '''
20984        self.id = id if id is not None else ''
20985        '''
20986         Unique identifier of the Attachment.
20987        '''
20988        self.node_id = node_id if node_id is not None else ''
20989        '''
20990         Node ID to be attached.
20991        '''
20992
20993    def __repr__(self):
20994        return '<sdm.PeeringGroupNode ' + \
20995            'group_id: ' + repr(self.group_id) + ' ' +\
20996            'id: ' + repr(self.id) + ' ' +\
20997            'node_id: ' + repr(self.node_id) + ' ' +\
20998            '>'
20999
21000    def to_dict(self):
21001        return {
21002            'group_id': self.group_id,
21003            'id': self.id,
21004            'node_id': self.node_id,
21005        }
21006
21007    @classmethod
21008    def from_dict(cls, d):
21009        return cls(
21010            group_id=d.get('group_id'),
21011            id=d.get('id'),
21012            node_id=d.get('node_id'),
21013        )
21014
21015
21016class PeeringGroupNodeCreateResponse:
21017    '''
21018         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
21019    '''
21020    __slots__ = [
21021        'meta',
21022        'peering_group_node',
21023        'rate_limit',
21024    ]
21025
21026    def __init__(
21027        self,
21028        meta=None,
21029        peering_group_node=None,
21030        rate_limit=None,
21031    ):
21032        self.meta = meta if meta is not None else None
21033        '''
21034         Reserved for future use.
21035        '''
21036        self.peering_group_node = peering_group_node if peering_group_node is not None else None
21037        '''
21038         The created PeeringGroupNode.
21039        '''
21040        self.rate_limit = rate_limit if rate_limit is not None else None
21041        '''
21042         Rate limit information.
21043        '''
21044
21045    def __repr__(self):
21046        return '<sdm.PeeringGroupNodeCreateResponse ' + \
21047            'meta: ' + repr(self.meta) + ' ' +\
21048            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
21049            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21050            '>'
21051
21052    def to_dict(self):
21053        return {
21054            'meta': self.meta,
21055            'peering_group_node': self.peering_group_node,
21056            'rate_limit': self.rate_limit,
21057        }
21058
21059    @classmethod
21060    def from_dict(cls, d):
21061        return cls(
21062            meta=d.get('meta'),
21063            peering_group_node=d.get('peering_group_node'),
21064            rate_limit=d.get('rate_limit'),
21065        )
21066
21067
21068class PeeringGroupNodeDeleteResponse:
21069    '''
21070         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
21071    '''
21072    __slots__ = [
21073        'meta',
21074        'rate_limit',
21075    ]
21076
21077    def __init__(
21078        self,
21079        meta=None,
21080        rate_limit=None,
21081    ):
21082        self.meta = meta if meta is not None else None
21083        '''
21084         Reserved for future use.
21085        '''
21086        self.rate_limit = rate_limit if rate_limit is not None else None
21087        '''
21088         Rate limit information.
21089        '''
21090
21091    def __repr__(self):
21092        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
21093            'meta: ' + repr(self.meta) + ' ' +\
21094            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21095            '>'
21096
21097    def to_dict(self):
21098        return {
21099            'meta': self.meta,
21100            'rate_limit': self.rate_limit,
21101        }
21102
21103    @classmethod
21104    def from_dict(cls, d):
21105        return cls(
21106            meta=d.get('meta'),
21107            rate_limit=d.get('rate_limit'),
21108        )
21109
21110
21111class PeeringGroupNodeGetResponse:
21112    '''
21113         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
21114    '''
21115    __slots__ = [
21116        'meta',
21117        'peering_group_node',
21118        'rate_limit',
21119    ]
21120
21121    def __init__(
21122        self,
21123        meta=None,
21124        peering_group_node=None,
21125        rate_limit=None,
21126    ):
21127        self.meta = meta if meta is not None else None
21128        '''
21129         Reserved for future use.
21130        '''
21131        self.peering_group_node = peering_group_node if peering_group_node is not None else None
21132        '''
21133         The requested PeeringGroupNode.
21134        '''
21135        self.rate_limit = rate_limit if rate_limit is not None else None
21136        '''
21137         Rate limit information.
21138        '''
21139
21140    def __repr__(self):
21141        return '<sdm.PeeringGroupNodeGetResponse ' + \
21142            'meta: ' + repr(self.meta) + ' ' +\
21143            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
21144            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21145            '>'
21146
21147    def to_dict(self):
21148        return {
21149            'meta': self.meta,
21150            'peering_group_node': self.peering_group_node,
21151            'rate_limit': self.rate_limit,
21152        }
21153
21154    @classmethod
21155    def from_dict(cls, d):
21156        return cls(
21157            meta=d.get('meta'),
21158            peering_group_node=d.get('peering_group_node'),
21159            rate_limit=d.get('rate_limit'),
21160        )
21161
21162
21163class PeeringGroupPeer:
21164    '''
21165         PeeringGroupPeer represents the link between two PeeringGroups
21166    '''
21167    __slots__ = [
21168        'group_id',
21169        'id',
21170        'peers_with_group_id',
21171    ]
21172
21173    def __init__(
21174        self,
21175        group_id=None,
21176        id=None,
21177        peers_with_group_id=None,
21178    ):
21179        self.group_id = group_id if group_id is not None else ''
21180        '''
21181         Group ID from which the link will originate.
21182        '''
21183        self.id = id if id is not None else ''
21184        '''
21185         Unique identifier of the Attachment.
21186        '''
21187        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
21188        '''
21189         Peering Group ID to which Group ID will link.
21190        '''
21191
21192    def __repr__(self):
21193        return '<sdm.PeeringGroupPeer ' + \
21194            'group_id: ' + repr(self.group_id) + ' ' +\
21195            'id: ' + repr(self.id) + ' ' +\
21196            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
21197            '>'
21198
21199    def to_dict(self):
21200        return {
21201            'group_id': self.group_id,
21202            'id': self.id,
21203            'peers_with_group_id': self.peers_with_group_id,
21204        }
21205
21206    @classmethod
21207    def from_dict(cls, d):
21208        return cls(
21209            group_id=d.get('group_id'),
21210            id=d.get('id'),
21211            peers_with_group_id=d.get('peers_with_group_id'),
21212        )
21213
21214
21215class PeeringGroupPeerCreateResponse:
21216    '''
21217         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
21218    '''
21219    __slots__ = [
21220        'meta',
21221        'peering_group_peer',
21222        'rate_limit',
21223    ]
21224
21225    def __init__(
21226        self,
21227        meta=None,
21228        peering_group_peer=None,
21229        rate_limit=None,
21230    ):
21231        self.meta = meta if meta is not None else None
21232        '''
21233         Reserved for future use.
21234        '''
21235        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21236        '''
21237         The created PeeringGroupPeer.
21238        '''
21239        self.rate_limit = rate_limit if rate_limit is not None else None
21240        '''
21241         Rate limit information.
21242        '''
21243
21244    def __repr__(self):
21245        return '<sdm.PeeringGroupPeerCreateResponse ' + \
21246            'meta: ' + repr(self.meta) + ' ' +\
21247            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21248            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21249            '>'
21250
21251    def to_dict(self):
21252        return {
21253            'meta': self.meta,
21254            'peering_group_peer': self.peering_group_peer,
21255            'rate_limit': self.rate_limit,
21256        }
21257
21258    @classmethod
21259    def from_dict(cls, d):
21260        return cls(
21261            meta=d.get('meta'),
21262            peering_group_peer=d.get('peering_group_peer'),
21263            rate_limit=d.get('rate_limit'),
21264        )
21265
21266
21267class PeeringGroupPeerDeleteResponse:
21268    '''
21269         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
21270    '''
21271    __slots__ = [
21272        'meta',
21273        'rate_limit',
21274    ]
21275
21276    def __init__(
21277        self,
21278        meta=None,
21279        rate_limit=None,
21280    ):
21281        self.meta = meta if meta is not None else None
21282        '''
21283         Reserved for future use.
21284        '''
21285        self.rate_limit = rate_limit if rate_limit is not None else None
21286        '''
21287         Rate limit information.
21288        '''
21289
21290    def __repr__(self):
21291        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
21292            'meta: ' + repr(self.meta) + ' ' +\
21293            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21294            '>'
21295
21296    def to_dict(self):
21297        return {
21298            'meta': self.meta,
21299            'rate_limit': self.rate_limit,
21300        }
21301
21302    @classmethod
21303    def from_dict(cls, d):
21304        return cls(
21305            meta=d.get('meta'),
21306            rate_limit=d.get('rate_limit'),
21307        )
21308
21309
21310class PeeringGroupPeerGetResponse:
21311    '''
21312         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
21313    '''
21314    __slots__ = [
21315        'meta',
21316        'peering_group_peer',
21317        'rate_limit',
21318    ]
21319
21320    def __init__(
21321        self,
21322        meta=None,
21323        peering_group_peer=None,
21324        rate_limit=None,
21325    ):
21326        self.meta = meta if meta is not None else None
21327        '''
21328         Reserved for future use.
21329        '''
21330        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21331        '''
21332         The requested PeeringGroupPeer.
21333        '''
21334        self.rate_limit = rate_limit if rate_limit is not None else None
21335        '''
21336         Rate limit information.
21337        '''
21338
21339    def __repr__(self):
21340        return '<sdm.PeeringGroupPeerGetResponse ' + \
21341            'meta: ' + repr(self.meta) + ' ' +\
21342            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21343            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21344            '>'
21345
21346    def to_dict(self):
21347        return {
21348            'meta': self.meta,
21349            'peering_group_peer': self.peering_group_peer,
21350            'rate_limit': self.rate_limit,
21351        }
21352
21353    @classmethod
21354    def from_dict(cls, d):
21355        return cls(
21356            meta=d.get('meta'),
21357            peering_group_peer=d.get('peering_group_peer'),
21358            rate_limit=d.get('rate_limit'),
21359        )
21360
21361
21362class PeeringGroupResource:
21363    '''
21364         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
21365    '''
21366    __slots__ = [
21367        'group_id',
21368        'id',
21369        'resource_id',
21370    ]
21371
21372    def __init__(
21373        self,
21374        group_id=None,
21375        id=None,
21376        resource_id=None,
21377    ):
21378        self.group_id = group_id if group_id is not None else ''
21379        '''
21380         Peering Group ID to which the resource will be attached to.
21381        '''
21382        self.id = id if id is not None else ''
21383        '''
21384         Unique identifier of the Attachment.
21385        '''
21386        self.resource_id = resource_id if resource_id is not None else ''
21387        '''
21388         Resource ID to be attached.
21389        '''
21390
21391    def __repr__(self):
21392        return '<sdm.PeeringGroupResource ' + \
21393            'group_id: ' + repr(self.group_id) + ' ' +\
21394            'id: ' + repr(self.id) + ' ' +\
21395            'resource_id: ' + repr(self.resource_id) + ' ' +\
21396            '>'
21397
21398    def to_dict(self):
21399        return {
21400            'group_id': self.group_id,
21401            'id': self.id,
21402            'resource_id': self.resource_id,
21403        }
21404
21405    @classmethod
21406    def from_dict(cls, d):
21407        return cls(
21408            group_id=d.get('group_id'),
21409            id=d.get('id'),
21410            resource_id=d.get('resource_id'),
21411        )
21412
21413
21414class PeeringGroupResourceCreateResponse:
21415    '''
21416         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21417    '''
21418    __slots__ = [
21419        'meta',
21420        'peering_group_resource',
21421        'rate_limit',
21422    ]
21423
21424    def __init__(
21425        self,
21426        meta=None,
21427        peering_group_resource=None,
21428        rate_limit=None,
21429    ):
21430        self.meta = meta if meta is not None else None
21431        '''
21432         Reserved for future use.
21433        '''
21434        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21435        '''
21436         The created PeeringGroupResource.
21437        '''
21438        self.rate_limit = rate_limit if rate_limit is not None else None
21439        '''
21440         Rate limit information.
21441        '''
21442
21443    def __repr__(self):
21444        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21445            'meta: ' + repr(self.meta) + ' ' +\
21446            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21447            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21448            '>'
21449
21450    def to_dict(self):
21451        return {
21452            'meta': self.meta,
21453            'peering_group_resource': self.peering_group_resource,
21454            'rate_limit': self.rate_limit,
21455        }
21456
21457    @classmethod
21458    def from_dict(cls, d):
21459        return cls(
21460            meta=d.get('meta'),
21461            peering_group_resource=d.get('peering_group_resource'),
21462            rate_limit=d.get('rate_limit'),
21463        )
21464
21465
21466class PeeringGroupResourceDeleteResponse:
21467    '''
21468         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21469    '''
21470    __slots__ = [
21471        'meta',
21472        'rate_limit',
21473    ]
21474
21475    def __init__(
21476        self,
21477        meta=None,
21478        rate_limit=None,
21479    ):
21480        self.meta = meta if meta is not None else None
21481        '''
21482         Reserved for future use.
21483        '''
21484        self.rate_limit = rate_limit if rate_limit is not None else None
21485        '''
21486         Rate limit information.
21487        '''
21488
21489    def __repr__(self):
21490        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21491            'meta: ' + repr(self.meta) + ' ' +\
21492            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21493            '>'
21494
21495    def to_dict(self):
21496        return {
21497            'meta': self.meta,
21498            'rate_limit': self.rate_limit,
21499        }
21500
21501    @classmethod
21502    def from_dict(cls, d):
21503        return cls(
21504            meta=d.get('meta'),
21505            rate_limit=d.get('rate_limit'),
21506        )
21507
21508
21509class PeeringGroupResourceGetResponse:
21510    '''
21511         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21512    '''
21513    __slots__ = [
21514        'meta',
21515        'peering_group_resource',
21516        'rate_limit',
21517    ]
21518
21519    def __init__(
21520        self,
21521        meta=None,
21522        peering_group_resource=None,
21523        rate_limit=None,
21524    ):
21525        self.meta = meta if meta is not None else None
21526        '''
21527         Reserved for future use.
21528        '''
21529        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21530        '''
21531         The requested PeeringGroupResource.
21532        '''
21533        self.rate_limit = rate_limit if rate_limit is not None else None
21534        '''
21535         Rate limit information.
21536        '''
21537
21538    def __repr__(self):
21539        return '<sdm.PeeringGroupResourceGetResponse ' + \
21540            'meta: ' + repr(self.meta) + ' ' +\
21541            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21542            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21543            '>'
21544
21545    def to_dict(self):
21546        return {
21547            'meta': self.meta,
21548            'peering_group_resource': self.peering_group_resource,
21549            'rate_limit': self.rate_limit,
21550        }
21551
21552    @classmethod
21553    def from_dict(cls, d):
21554        return cls(
21555            meta=d.get('meta'),
21556            peering_group_resource=d.get('peering_group_resource'),
21557            rate_limit=d.get('rate_limit'),
21558        )
21559
21560
21561class Policy:
21562    '''
21563         Policy is a collection of one or more statements that enforce fine-grained access control
21564     for the users of an organization.
21565    '''
21566    __slots__ = [
21567        'description',
21568        'id',
21569        'name',
21570        'policy',
21571    ]
21572
21573    def __init__(
21574        self,
21575        description=None,
21576        id=None,
21577        name=None,
21578        policy=None,
21579    ):
21580        self.description = description if description is not None else ''
21581        '''
21582         Optional description of the Policy.
21583        '''
21584        self.id = id if id is not None else ''
21585        '''
21586         Unique identifier of the Policy.
21587        '''
21588        self.name = name if name is not None else ''
21589        '''
21590         Unique human-readable name of the Policy.
21591        '''
21592        self.policy = policy if policy is not None else ''
21593        '''
21594         The content of the Policy, in Cedar policy language.
21595        '''
21596
21597    def __repr__(self):
21598        return '<sdm.Policy ' + \
21599            'description: ' + repr(self.description) + ' ' +\
21600            'id: ' + repr(self.id) + ' ' +\
21601            'name: ' + repr(self.name) + ' ' +\
21602            'policy: ' + repr(self.policy) + ' ' +\
21603            '>'
21604
21605    def to_dict(self):
21606        return {
21607            'description': self.description,
21608            'id': self.id,
21609            'name': self.name,
21610            'policy': self.policy,
21611        }
21612
21613    @classmethod
21614    def from_dict(cls, d):
21615        return cls(
21616            description=d.get('description'),
21617            id=d.get('id'),
21618            name=d.get('name'),
21619            policy=d.get('policy'),
21620        )
21621
21622
21623class PolicyCreateResponse:
21624    '''
21625         PolicyCreateResponse reports how the Policy was created in the system.
21626    '''
21627    __slots__ = [
21628        'policy',
21629        'rate_limit',
21630    ]
21631
21632    def __init__(
21633        self,
21634        policy=None,
21635        rate_limit=None,
21636    ):
21637        self.policy = policy if policy is not None else None
21638        '''
21639         The created Policy.
21640        '''
21641        self.rate_limit = rate_limit if rate_limit is not None else None
21642        '''
21643         Rate limit information.
21644        '''
21645
21646    def __repr__(self):
21647        return '<sdm.PolicyCreateResponse ' + \
21648            'policy: ' + repr(self.policy) + ' ' +\
21649            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21650            '>'
21651
21652    def to_dict(self):
21653        return {
21654            'policy': self.policy,
21655            'rate_limit': self.rate_limit,
21656        }
21657
21658    @classmethod
21659    def from_dict(cls, d):
21660        return cls(
21661            policy=d.get('policy'),
21662            rate_limit=d.get('rate_limit'),
21663        )
21664
21665
21666class PolicyDeleteResponse:
21667    '''
21668         PolicyDeleteResponse returns information about a Policy that was deleted.
21669    '''
21670    __slots__ = [
21671        'rate_limit',
21672    ]
21673
21674    def __init__(
21675        self,
21676        rate_limit=None,
21677    ):
21678        self.rate_limit = rate_limit if rate_limit is not None else None
21679        '''
21680         Rate limit information.
21681        '''
21682
21683    def __repr__(self):
21684        return '<sdm.PolicyDeleteResponse ' + \
21685            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21686            '>'
21687
21688    def to_dict(self):
21689        return {
21690            'rate_limit': self.rate_limit,
21691        }
21692
21693    @classmethod
21694    def from_dict(cls, d):
21695        return cls(rate_limit=d.get('rate_limit'), )
21696
21697
21698class PolicyGetResponse:
21699    '''
21700         PolicyGetResponse returns a requested Policy.
21701    '''
21702    __slots__ = [
21703        'meta',
21704        'policy',
21705        'rate_limit',
21706    ]
21707
21708    def __init__(
21709        self,
21710        meta=None,
21711        policy=None,
21712        rate_limit=None,
21713    ):
21714        self.meta = meta if meta is not None else None
21715        '''
21716         Reserved for future use.
21717        '''
21718        self.policy = policy if policy is not None else None
21719        '''
21720         The requested Policy.
21721        '''
21722        self.rate_limit = rate_limit if rate_limit is not None else None
21723        '''
21724         Rate limit information.
21725        '''
21726
21727    def __repr__(self):
21728        return '<sdm.PolicyGetResponse ' + \
21729            'meta: ' + repr(self.meta) + ' ' +\
21730            'policy: ' + repr(self.policy) + ' ' +\
21731            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21732            '>'
21733
21734    def to_dict(self):
21735        return {
21736            'meta': self.meta,
21737            'policy': self.policy,
21738            'rate_limit': self.rate_limit,
21739        }
21740
21741    @classmethod
21742    def from_dict(cls, d):
21743        return cls(
21744            meta=d.get('meta'),
21745            policy=d.get('policy'),
21746            rate_limit=d.get('rate_limit'),
21747        )
21748
21749
21750class PolicyHistory:
21751    '''
21752         PolicyHistory records the state of a Policy at a given point in time,
21753     where every change (create, update and delete) to a Policy produces a
21754     PolicyHistory record.
21755    '''
21756    __slots__ = [
21757        'activity_id',
21758        'deleted_at',
21759        'policy',
21760        'timestamp',
21761    ]
21762
21763    def __init__(
21764        self,
21765        activity_id=None,
21766        deleted_at=None,
21767        policy=None,
21768        timestamp=None,
21769    ):
21770        self.activity_id = activity_id if activity_id is not None else ''
21771        '''
21772         The unique identifier of the Activity that produced this change to the Policy.
21773         May be empty for some system-initiated updates.
21774        '''
21775        self.deleted_at = deleted_at if deleted_at is not None else None
21776        '''
21777         If this Policy was deleted, the time it was deleted.
21778        '''
21779        self.policy = policy if policy is not None else None
21780        '''
21781         The complete Policy state at this time.
21782        '''
21783        self.timestamp = timestamp if timestamp is not None else None
21784        '''
21785         The time at which the Policy state was recorded.
21786        '''
21787
21788    def __repr__(self):
21789        return '<sdm.PolicyHistory ' + \
21790            'activity_id: ' + repr(self.activity_id) + ' ' +\
21791            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21792            'policy: ' + repr(self.policy) + ' ' +\
21793            'timestamp: ' + repr(self.timestamp) + ' ' +\
21794            '>'
21795
21796    def to_dict(self):
21797        return {
21798            'activity_id': self.activity_id,
21799            'deleted_at': self.deleted_at,
21800            'policy': self.policy,
21801            'timestamp': self.timestamp,
21802        }
21803
21804    @classmethod
21805    def from_dict(cls, d):
21806        return cls(
21807            activity_id=d.get('activity_id'),
21808            deleted_at=d.get('deleted_at'),
21809            policy=d.get('policy'),
21810            timestamp=d.get('timestamp'),
21811        )
21812
21813
21814class PolicyListResponse:
21815    '''
21816         PolicyListResponse returns a list of Policy records that meet
21817     the criteria of a PolicyListRequest.
21818    '''
21819    __slots__ = [
21820        'rate_limit',
21821    ]
21822
21823    def __init__(
21824        self,
21825        rate_limit=None,
21826    ):
21827        self.rate_limit = rate_limit if rate_limit is not None else None
21828        '''
21829         Rate limit information.
21830        '''
21831
21832    def __repr__(self):
21833        return '<sdm.PolicyListResponse ' + \
21834            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21835            '>'
21836
21837    def to_dict(self):
21838        return {
21839            'rate_limit': self.rate_limit,
21840        }
21841
21842    @classmethod
21843    def from_dict(cls, d):
21844        return cls(rate_limit=d.get('rate_limit'), )
21845
21846
21847class PolicyUpdateResponse:
21848    '''
21849         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21850     a PolicyUpdateRequest.
21851    '''
21852    __slots__ = [
21853        'policy',
21854        'rate_limit',
21855    ]
21856
21857    def __init__(
21858        self,
21859        policy=None,
21860        rate_limit=None,
21861    ):
21862        self.policy = policy if policy is not None else None
21863        '''
21864         The updated Policy.
21865        '''
21866        self.rate_limit = rate_limit if rate_limit is not None else None
21867        '''
21868         Rate limit information.
21869        '''
21870
21871    def __repr__(self):
21872        return '<sdm.PolicyUpdateResponse ' + \
21873            'policy: ' + repr(self.policy) + ' ' +\
21874            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21875            '>'
21876
21877    def to_dict(self):
21878        return {
21879            'policy': self.policy,
21880            'rate_limit': self.rate_limit,
21881        }
21882
21883    @classmethod
21884    def from_dict(cls, d):
21885        return cls(
21886            policy=d.get('policy'),
21887            rate_limit=d.get('rate_limit'),
21888        )
21889
21890
21891class Postgres:
21892    __slots__ = [
21893        'bind_interface',
21894        'database',
21895        'egress_filter',
21896        'healthy',
21897        'hostname',
21898        'id',
21899        'name',
21900        'override_database',
21901        'password',
21902        'port',
21903        'port_override',
21904        'proxy_cluster_id',
21905        'secret_store_id',
21906        'subdomain',
21907        'tags',
21908        'username',
21909    ]
21910
21911    def __init__(
21912        self,
21913        bind_interface=None,
21914        database=None,
21915        egress_filter=None,
21916        healthy=None,
21917        hostname=None,
21918        id=None,
21919        name=None,
21920        override_database=None,
21921        password=None,
21922        port=None,
21923        port_override=None,
21924        proxy_cluster_id=None,
21925        secret_store_id=None,
21926        subdomain=None,
21927        tags=None,
21928        username=None,
21929    ):
21930        self.bind_interface = bind_interface if bind_interface is not None else ''
21931        '''
21932         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21933        '''
21934        self.database = database if database is not None else ''
21935        '''
21936         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21937        '''
21938        self.egress_filter = egress_filter if egress_filter is not None else ''
21939        '''
21940         A filter applied to the routing logic to pin datasource to nodes.
21941        '''
21942        self.healthy = healthy if healthy is not None else False
21943        '''
21944         True if the datasource is reachable and the credentials are valid.
21945        '''
21946        self.hostname = hostname if hostname is not None else ''
21947        '''
21948         The host to dial to initiate a connection from the egress node to this resource.
21949        '''
21950        self.id = id if id is not None else ''
21951        '''
21952         Unique identifier of the Resource.
21953        '''
21954        self.name = name if name is not None else ''
21955        '''
21956         Unique human-readable name of the Resource.
21957        '''
21958        self.override_database = override_database if override_database is not None else False
21959        '''
21960         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.
21961        '''
21962        self.password = password if password is not None else ''
21963        '''
21964         The password to authenticate with.
21965        '''
21966        self.port = port if port is not None else 0
21967        '''
21968         The port to dial to initiate a connection from the egress node to this resource.
21969        '''
21970        self.port_override = port_override if port_override is not None else 0
21971        '''
21972         The local port used by clients to connect to this resource.
21973        '''
21974        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21975        '''
21976         ID of the proxy cluster for this resource, if any.
21977        '''
21978        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21979        '''
21980         ID of the secret store containing credentials for this resource, if any.
21981        '''
21982        self.subdomain = subdomain if subdomain is not None else ''
21983        '''
21984         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21985        '''
21986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21987        '''
21988         Tags is a map of key, value pairs.
21989        '''
21990        self.username = username if username is not None else ''
21991        '''
21992         The username to authenticate with.
21993        '''
21994
21995    def __repr__(self):
21996        return '<sdm.Postgres ' + \
21997            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21998            'database: ' + repr(self.database) + ' ' +\
21999            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22000            'healthy: ' + repr(self.healthy) + ' ' +\
22001            'hostname: ' + repr(self.hostname) + ' ' +\
22002            'id: ' + repr(self.id) + ' ' +\
22003            'name: ' + repr(self.name) + ' ' +\
22004            'override_database: ' + repr(self.override_database) + ' ' +\
22005            'password: ' + repr(self.password) + ' ' +\
22006            'port: ' + repr(self.port) + ' ' +\
22007            'port_override: ' + repr(self.port_override) + ' ' +\
22008            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22009            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22010            'subdomain: ' + repr(self.subdomain) + ' ' +\
22011            'tags: ' + repr(self.tags) + ' ' +\
22012            'username: ' + repr(self.username) + ' ' +\
22013            '>'
22014
22015    def to_dict(self):
22016        return {
22017            'bind_interface': self.bind_interface,
22018            'database': self.database,
22019            'egress_filter': self.egress_filter,
22020            'healthy': self.healthy,
22021            'hostname': self.hostname,
22022            'id': self.id,
22023            'name': self.name,
22024            'override_database': self.override_database,
22025            'password': self.password,
22026            'port': self.port,
22027            'port_override': self.port_override,
22028            'proxy_cluster_id': self.proxy_cluster_id,
22029            'secret_store_id': self.secret_store_id,
22030            'subdomain': self.subdomain,
22031            'tags': self.tags,
22032            'username': self.username,
22033        }
22034
22035    @classmethod
22036    def from_dict(cls, d):
22037        return cls(
22038            bind_interface=d.get('bind_interface'),
22039            database=d.get('database'),
22040            egress_filter=d.get('egress_filter'),
22041            healthy=d.get('healthy'),
22042            hostname=d.get('hostname'),
22043            id=d.get('id'),
22044            name=d.get('name'),
22045            override_database=d.get('override_database'),
22046            password=d.get('password'),
22047            port=d.get('port'),
22048            port_override=d.get('port_override'),
22049            proxy_cluster_id=d.get('proxy_cluster_id'),
22050            secret_store_id=d.get('secret_store_id'),
22051            subdomain=d.get('subdomain'),
22052            tags=d.get('tags'),
22053            username=d.get('username'),
22054        )
22055
22056
22057class Presto:
22058    __slots__ = [
22059        'bind_interface',
22060        'database',
22061        'egress_filter',
22062        'healthy',
22063        'hostname',
22064        'id',
22065        'name',
22066        'password',
22067        'port',
22068        'port_override',
22069        'proxy_cluster_id',
22070        'secret_store_id',
22071        'subdomain',
22072        'tags',
22073        'tls_required',
22074        'username',
22075    ]
22076
22077    def __init__(
22078        self,
22079        bind_interface=None,
22080        database=None,
22081        egress_filter=None,
22082        healthy=None,
22083        hostname=None,
22084        id=None,
22085        name=None,
22086        password=None,
22087        port=None,
22088        port_override=None,
22089        proxy_cluster_id=None,
22090        secret_store_id=None,
22091        subdomain=None,
22092        tags=None,
22093        tls_required=None,
22094        username=None,
22095    ):
22096        self.bind_interface = bind_interface if bind_interface is not None else ''
22097        '''
22098         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22099        '''
22100        self.database = database if database is not None else ''
22101        '''
22102         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
22103        '''
22104        self.egress_filter = egress_filter if egress_filter is not None else ''
22105        '''
22106         A filter applied to the routing logic to pin datasource to nodes.
22107        '''
22108        self.healthy = healthy if healthy is not None else False
22109        '''
22110         True if the datasource is reachable and the credentials are valid.
22111        '''
22112        self.hostname = hostname if hostname is not None else ''
22113        '''
22114         The host to dial to initiate a connection from the egress node to this resource.
22115        '''
22116        self.id = id if id is not None else ''
22117        '''
22118         Unique identifier of the Resource.
22119        '''
22120        self.name = name if name is not None else ''
22121        '''
22122         Unique human-readable name of the Resource.
22123        '''
22124        self.password = password if password is not None else ''
22125        '''
22126         The password to authenticate with.
22127        '''
22128        self.port = port if port is not None else 0
22129        '''
22130         The port to dial to initiate a connection from the egress node to this resource.
22131        '''
22132        self.port_override = port_override if port_override is not None else 0
22133        '''
22134         The local port used by clients to connect to this resource.
22135        '''
22136        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22137        '''
22138         ID of the proxy cluster for this resource, if any.
22139        '''
22140        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22141        '''
22142         ID of the secret store containing credentials for this resource, if any.
22143        '''
22144        self.subdomain = subdomain if subdomain is not None else ''
22145        '''
22146         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22147        '''
22148        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22149        '''
22150         Tags is a map of key, value pairs.
22151        '''
22152        self.tls_required = tls_required if tls_required is not None else False
22153        '''
22154         If set, TLS must be used to connect to this resource.
22155        '''
22156        self.username = username if username is not None else ''
22157        '''
22158         The username to authenticate with.
22159        '''
22160
22161    def __repr__(self):
22162        return '<sdm.Presto ' + \
22163            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22164            'database: ' + repr(self.database) + ' ' +\
22165            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22166            'healthy: ' + repr(self.healthy) + ' ' +\
22167            'hostname: ' + repr(self.hostname) + ' ' +\
22168            'id: ' + repr(self.id) + ' ' +\
22169            'name: ' + repr(self.name) + ' ' +\
22170            'password: ' + repr(self.password) + ' ' +\
22171            'port: ' + repr(self.port) + ' ' +\
22172            'port_override: ' + repr(self.port_override) + ' ' +\
22173            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22174            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22175            'subdomain: ' + repr(self.subdomain) + ' ' +\
22176            'tags: ' + repr(self.tags) + ' ' +\
22177            'tls_required: ' + repr(self.tls_required) + ' ' +\
22178            'username: ' + repr(self.username) + ' ' +\
22179            '>'
22180
22181    def to_dict(self):
22182        return {
22183            'bind_interface': self.bind_interface,
22184            'database': self.database,
22185            'egress_filter': self.egress_filter,
22186            'healthy': self.healthy,
22187            'hostname': self.hostname,
22188            'id': self.id,
22189            'name': self.name,
22190            'password': self.password,
22191            'port': self.port,
22192            'port_override': self.port_override,
22193            'proxy_cluster_id': self.proxy_cluster_id,
22194            'secret_store_id': self.secret_store_id,
22195            'subdomain': self.subdomain,
22196            'tags': self.tags,
22197            'tls_required': self.tls_required,
22198            'username': self.username,
22199        }
22200
22201    @classmethod
22202    def from_dict(cls, d):
22203        return cls(
22204            bind_interface=d.get('bind_interface'),
22205            database=d.get('database'),
22206            egress_filter=d.get('egress_filter'),
22207            healthy=d.get('healthy'),
22208            hostname=d.get('hostname'),
22209            id=d.get('id'),
22210            name=d.get('name'),
22211            password=d.get('password'),
22212            port=d.get('port'),
22213            port_override=d.get('port_override'),
22214            proxy_cluster_id=d.get('proxy_cluster_id'),
22215            secret_store_id=d.get('secret_store_id'),
22216            subdomain=d.get('subdomain'),
22217            tags=d.get('tags'),
22218            tls_required=d.get('tls_required'),
22219            username=d.get('username'),
22220        )
22221
22222
22223class ProxyCluster:
22224    '''
22225         ProxyCluster represents a cluster of StrongDM proxies.
22226    '''
22227    __slots__ = [
22228        'address',
22229        'id',
22230        'maintenance_windows',
22231        'name',
22232        'tags',
22233    ]
22234
22235    def __init__(
22236        self,
22237        address=None,
22238        id=None,
22239        maintenance_windows=None,
22240        name=None,
22241        tags=None,
22242    ):
22243        self.address = address if address is not None else ''
22244        '''
22245         The public hostname/port tuple at which the proxy cluster will be
22246         accessible to clients.
22247        '''
22248        self.id = id if id is not None else ''
22249        '''
22250         Unique identifier of the Proxy Cluster.
22251        '''
22252        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22253        '''
22254         Maintenance Windows define when this node is allowed to restart. If a node
22255         is requested to restart, it will check each window to determine if any of
22256         them permit it to restart, and if any do, it will. This check is repeated
22257         per window until the restart is successfully completed.
22258         
22259         If not set here, may be set on the command line or via an environment variable
22260         on the process itself; any server setting will take precedence over local
22261         settings. This setting is ineffective for nodes below version 38.44.0.
22262         
22263         If this setting is not applied via this remote configuration or via local
22264         configuration, the default setting is used: always allow restarts if serving
22265         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22266        '''
22267        self.name = name if name is not None else ''
22268        '''
22269         Unique human-readable name of the proxy cluster. Names must
22270         include only letters, numbers, and hyphens (no spaces, underscores, or
22271         other special characters). Generated if not provided on create.
22272        '''
22273        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22274        '''
22275         Tags is a map of key, value pairs.
22276        '''
22277
22278    def __repr__(self):
22279        return '<sdm.ProxyCluster ' + \
22280            'address: ' + repr(self.address) + ' ' +\
22281            'id: ' + repr(self.id) + ' ' +\
22282            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
22283            'name: ' + repr(self.name) + ' ' +\
22284            'tags: ' + repr(self.tags) + ' ' +\
22285            '>'
22286
22287    def to_dict(self):
22288        return {
22289            'address': self.address,
22290            'id': self.id,
22291            'maintenance_windows': self.maintenance_windows,
22292            'name': self.name,
22293            'tags': self.tags,
22294        }
22295
22296    @classmethod
22297    def from_dict(cls, d):
22298        return cls(
22299            address=d.get('address'),
22300            id=d.get('id'),
22301            maintenance_windows=d.get('maintenance_windows'),
22302            name=d.get('name'),
22303            tags=d.get('tags'),
22304        )
22305
22306
22307class ProxyClusterKey:
22308    '''
22309         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
22310     The proxies within a cluster share the same key. One cluster can have
22311     multiple keys in order to facilitate key rotation.
22312    '''
22313    __slots__ = [
22314        'created_at',
22315        'id',
22316        'last_used_at',
22317        'proxy_cluster_id',
22318    ]
22319
22320    def __init__(
22321        self,
22322        created_at=None,
22323        id=None,
22324        last_used_at=None,
22325        proxy_cluster_id=None,
22326    ):
22327        self.created_at = created_at if created_at is not None else None
22328        '''
22329         The timestamp when this key was created.
22330        '''
22331        self.id = id if id is not None else ''
22332        '''
22333         Unique identifier of the Relay.
22334        '''
22335        self.last_used_at = last_used_at if last_used_at is not None else None
22336        '''
22337         The timestamp when this key was last used, if at all.
22338        '''
22339        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22340        '''
22341         The ID of the proxy cluster which this key authenticates to.
22342        '''
22343
22344    def __repr__(self):
22345        return '<sdm.ProxyClusterKey ' + \
22346            'created_at: ' + repr(self.created_at) + ' ' +\
22347            'id: ' + repr(self.id) + ' ' +\
22348            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
22349            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22350            '>'
22351
22352    def to_dict(self):
22353        return {
22354            'created_at': self.created_at,
22355            'id': self.id,
22356            'last_used_at': self.last_used_at,
22357            'proxy_cluster_id': self.proxy_cluster_id,
22358        }
22359
22360    @classmethod
22361    def from_dict(cls, d):
22362        return cls(
22363            created_at=d.get('created_at'),
22364            id=d.get('id'),
22365            last_used_at=d.get('last_used_at'),
22366            proxy_cluster_id=d.get('proxy_cluster_id'),
22367        )
22368
22369
22370class ProxyClusterKeyCreateResponse:
22371    '''
22372         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22373    '''
22374    __slots__ = [
22375        'meta',
22376        'proxy_cluster_key',
22377        'rate_limit',
22378        'secret_key',
22379    ]
22380
22381    def __init__(
22382        self,
22383        meta=None,
22384        proxy_cluster_key=None,
22385        rate_limit=None,
22386        secret_key=None,
22387    ):
22388        self.meta = meta if meta is not None else None
22389        '''
22390         Reserved for future use.
22391        '''
22392        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22393        '''
22394         The created ProxyClusterKey.
22395        '''
22396        self.rate_limit = rate_limit if rate_limit is not None else None
22397        '''
22398         Rate limit information.
22399        '''
22400        self.secret_key = secret_key if secret_key is not None else ''
22401        '''
22402         The secret key component of this key. It must be saved upon creation
22403         because it will not be available for retrieval later.
22404        '''
22405
22406    def __repr__(self):
22407        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22408            'meta: ' + repr(self.meta) + ' ' +\
22409            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22410            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22411            'secret_key: ' + repr(self.secret_key) + ' ' +\
22412            '>'
22413
22414    def to_dict(self):
22415        return {
22416            'meta': self.meta,
22417            'proxy_cluster_key': self.proxy_cluster_key,
22418            'rate_limit': self.rate_limit,
22419            'secret_key': self.secret_key,
22420        }
22421
22422    @classmethod
22423    def from_dict(cls, d):
22424        return cls(
22425            meta=d.get('meta'),
22426            proxy_cluster_key=d.get('proxy_cluster_key'),
22427            rate_limit=d.get('rate_limit'),
22428            secret_key=d.get('secret_key'),
22429        )
22430
22431
22432class ProxyClusterKeyDeleteResponse:
22433    '''
22434         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22435    '''
22436    __slots__ = [
22437        'meta',
22438        'rate_limit',
22439    ]
22440
22441    def __init__(
22442        self,
22443        meta=None,
22444        rate_limit=None,
22445    ):
22446        self.meta = meta if meta is not None else None
22447        '''
22448         Reserved for future use.
22449        '''
22450        self.rate_limit = rate_limit if rate_limit is not None else None
22451        '''
22452         Rate limit information.
22453        '''
22454
22455    def __repr__(self):
22456        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22457            'meta: ' + repr(self.meta) + ' ' +\
22458            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22459            '>'
22460
22461    def to_dict(self):
22462        return {
22463            'meta': self.meta,
22464            'rate_limit': self.rate_limit,
22465        }
22466
22467    @classmethod
22468    def from_dict(cls, d):
22469        return cls(
22470            meta=d.get('meta'),
22471            rate_limit=d.get('rate_limit'),
22472        )
22473
22474
22475class ProxyClusterKeyGetResponse:
22476    '''
22477         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22478    '''
22479    __slots__ = [
22480        'meta',
22481        'proxy_cluster_key',
22482        'rate_limit',
22483    ]
22484
22485    def __init__(
22486        self,
22487        meta=None,
22488        proxy_cluster_key=None,
22489        rate_limit=None,
22490    ):
22491        self.meta = meta if meta is not None else None
22492        '''
22493         Reserved for future use.
22494        '''
22495        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22496        '''
22497         The requested ProxyClusterKey.
22498        '''
22499        self.rate_limit = rate_limit if rate_limit is not None else None
22500        '''
22501         Rate limit information.
22502        '''
22503
22504    def __repr__(self):
22505        return '<sdm.ProxyClusterKeyGetResponse ' + \
22506            'meta: ' + repr(self.meta) + ' ' +\
22507            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22508            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22509            '>'
22510
22511    def to_dict(self):
22512        return {
22513            'meta': self.meta,
22514            'proxy_cluster_key': self.proxy_cluster_key,
22515            'rate_limit': self.rate_limit,
22516        }
22517
22518    @classmethod
22519    def from_dict(cls, d):
22520        return cls(
22521            meta=d.get('meta'),
22522            proxy_cluster_key=d.get('proxy_cluster_key'),
22523            rate_limit=d.get('rate_limit'),
22524        )
22525
22526
22527class Query:
22528    '''
22529         A Query is a record of a single client request to a resource, such as a SQL query.
22530     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
22531     interactive sessions will return two Query records with the same identifier, one record
22532     at the start of the query and a second record upon the completion of the query with
22533     additional detail.
22534    '''
22535    __slots__ = [
22536        'account_email',
22537        'account_first_name',
22538        'account_id',
22539        'account_last_name',
22540        'account_tags',
22541        'authzjson',
22542        'capture',
22543        'client_ip',
22544        'completed_at',
22545        'duration',
22546        'egress_node_id',
22547        'encrypted',
22548        'id',
22549        'identity_alias_username',
22550        'metadata_json',
22551        'query_body',
22552        'query_category',
22553        'query_hash',
22554        'query_key',
22555        'record_count',
22556        'remote_identity_username',
22557        'replayable',
22558        'resource_id',
22559        'resource_name',
22560        'resource_tags',
22561        'resource_type',
22562        'source_ip',
22563        'target',
22564        'timestamp',
22565    ]
22566
22567    def __init__(
22568        self,
22569        account_email=None,
22570        account_first_name=None,
22571        account_id=None,
22572        account_last_name=None,
22573        account_tags=None,
22574        authzjson=None,
22575        capture=None,
22576        client_ip=None,
22577        completed_at=None,
22578        duration=None,
22579        egress_node_id=None,
22580        encrypted=None,
22581        id=None,
22582        identity_alias_username=None,
22583        metadata_json=None,
22584        query_body=None,
22585        query_category=None,
22586        query_hash=None,
22587        query_key=None,
22588        record_count=None,
22589        remote_identity_username=None,
22590        replayable=None,
22591        resource_id=None,
22592        resource_name=None,
22593        resource_tags=None,
22594        resource_type=None,
22595        source_ip=None,
22596        target=None,
22597        timestamp=None,
22598    ):
22599        self.account_email = account_email if account_email is not None else ''
22600        '''
22601         The email of the account performing this query, at the time the query was executed.
22602         If the account email is later changed, that change will not be reflected via this field.
22603        '''
22604        self.account_first_name = account_first_name if account_first_name is not None else ''
22605        '''
22606         The given name of the account performing this query, at the time the query was executed.
22607         If the account is later renamed, that change will not be reflected via this field.
22608        '''
22609        self.account_id = account_id if account_id is not None else ''
22610        '''
22611         Unique identifier of the Account that performed the Query.
22612        '''
22613        self.account_last_name = account_last_name if account_last_name is not None else ''
22614        '''
22615         The family name of the account performing this query, at the time the query was executed.
22616         If the account is later renamed, that change will not be reflected via this field.
22617        '''
22618        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22619        )
22620        '''
22621         The tags of the account accessed, at the time the query was executed. If the account
22622         tags are later changed, that change will not be reflected via this field.
22623        '''
22624        self.authzjson = authzjson if authzjson is not None else ''
22625        '''
22626         Authorization metadata associated with this query.
22627        '''
22628        self.capture = capture if capture is not None else None
22629        '''
22630         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22631         about the captured query.
22632        '''
22633        self.client_ip = client_ip if client_ip is not None else ''
22634        '''
22635         The IP address the Query was performed from, as detected at the StrongDM control plane.
22636        '''
22637        self.completed_at = completed_at if completed_at is not None else None
22638        '''
22639         The time at which the Query was completed.
22640         Empty if this record indicates the start of a long-running query.
22641        '''
22642        self.duration = duration if duration is not None else None
22643        '''
22644         The duration of the Query.
22645        '''
22646        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22647        '''
22648         The unique ID of the node through which the Resource was accessed.
22649        '''
22650        self.encrypted = encrypted if encrypted is not None else False
22651        '''
22652         Indicates that the body of the Query is encrypted.
22653        '''
22654        self.id = id if id is not None else ''
22655        '''
22656         Unique identifier of the Query.
22657        '''
22658        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22659        '''
22660         The username of the IdentityAlias used to access the Resource.
22661        '''
22662        self.metadata_json = metadata_json if metadata_json is not None else ''
22663        '''
22664         Driver specific metadata associated with this query.
22665        '''
22666        self.query_body = query_body if query_body is not None else ''
22667        '''
22668         The captured content of the Query.
22669         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22670        '''
22671        self.query_category = query_category if query_category is not None else ''
22672        '''
22673         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22674        '''
22675        self.query_hash = query_hash if query_hash is not None else ''
22676        '''
22677         The hash of the body of the Query.
22678        '''
22679        self.query_key = query_key if query_key is not None else ''
22680        '''
22681         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22682         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22683         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22684         If the Query is not encrypted, this field is empty.
22685        '''
22686        self.record_count = record_count if record_count is not None else 0
22687        '''
22688         The number of records returned by the Query, for a database Resource.
22689        '''
22690        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22691        '''
22692         The username of the RemoteIdentity used to access the Resource.
22693        '''
22694        self.replayable = replayable if replayable is not None else False
22695        '''
22696         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22697        '''
22698        self.resource_id = resource_id if resource_id is not None else ''
22699        '''
22700         Unique identifier of the Resource against which the Query was performed.
22701        '''
22702        self.resource_name = resource_name if resource_name is not None else ''
22703        '''
22704         The name of the resource accessed, at the time the query was executed. If the resource
22705         is later renamed, that change will not be reflected via this field.
22706        '''
22707        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22708        )
22709        '''
22710         The tags of the resource accessed, at the time the query was executed. If the resource
22711         tags are later changed, that change will not be reflected via this field.
22712        '''
22713        self.resource_type = resource_type if resource_type is not None else ''
22714        '''
22715         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22716        '''
22717        self.source_ip = source_ip if source_ip is not None else ''
22718        '''
22719         The IP address the Query was performed from, as detected at the ingress gateway.
22720        '''
22721        self.target = target if target is not None else ''
22722        '''
22723         The target destination of the query, in host:port format.
22724        '''
22725        self.timestamp = timestamp if timestamp is not None else None
22726        '''
22727         The time at which the Query was started.
22728        '''
22729
22730    def __repr__(self):
22731        return '<sdm.Query ' + \
22732            'account_email: ' + repr(self.account_email) + ' ' +\
22733            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
22734            'account_id: ' + repr(self.account_id) + ' ' +\
22735            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
22736            'account_tags: ' + repr(self.account_tags) + ' ' +\
22737            'authzjson: ' + repr(self.authzjson) + ' ' +\
22738            'capture: ' + repr(self.capture) + ' ' +\
22739            'client_ip: ' + repr(self.client_ip) + ' ' +\
22740            'completed_at: ' + repr(self.completed_at) + ' ' +\
22741            'duration: ' + repr(self.duration) + ' ' +\
22742            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
22743            'encrypted: ' + repr(self.encrypted) + ' ' +\
22744            'id: ' + repr(self.id) + ' ' +\
22745            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
22746            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
22747            'query_body: ' + repr(self.query_body) + ' ' +\
22748            'query_category: ' + repr(self.query_category) + ' ' +\
22749            'query_hash: ' + repr(self.query_hash) + ' ' +\
22750            'query_key: ' + repr(self.query_key) + ' ' +\
22751            'record_count: ' + repr(self.record_count) + ' ' +\
22752            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
22753            'replayable: ' + repr(self.replayable) + ' ' +\
22754            'resource_id: ' + repr(self.resource_id) + ' ' +\
22755            'resource_name: ' + repr(self.resource_name) + ' ' +\
22756            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
22757            'resource_type: ' + repr(self.resource_type) + ' ' +\
22758            'source_ip: ' + repr(self.source_ip) + ' ' +\
22759            'target: ' + repr(self.target) + ' ' +\
22760            'timestamp: ' + repr(self.timestamp) + ' ' +\
22761            '>'
22762
22763    def to_dict(self):
22764        return {
22765            'account_email': self.account_email,
22766            'account_first_name': self.account_first_name,
22767            'account_id': self.account_id,
22768            'account_last_name': self.account_last_name,
22769            'account_tags': self.account_tags,
22770            'authzjson': self.authzjson,
22771            'capture': self.capture,
22772            'client_ip': self.client_ip,
22773            'completed_at': self.completed_at,
22774            'duration': self.duration,
22775            'egress_node_id': self.egress_node_id,
22776            'encrypted': self.encrypted,
22777            'id': self.id,
22778            'identity_alias_username': self.identity_alias_username,
22779            'metadata_json': self.metadata_json,
22780            'query_body': self.query_body,
22781            'query_category': self.query_category,
22782            'query_hash': self.query_hash,
22783            'query_key': self.query_key,
22784            'record_count': self.record_count,
22785            'remote_identity_username': self.remote_identity_username,
22786            'replayable': self.replayable,
22787            'resource_id': self.resource_id,
22788            'resource_name': self.resource_name,
22789            'resource_tags': self.resource_tags,
22790            'resource_type': self.resource_type,
22791            'source_ip': self.source_ip,
22792            'target': self.target,
22793            'timestamp': self.timestamp,
22794        }
22795
22796    @classmethod
22797    def from_dict(cls, d):
22798        return cls(
22799            account_email=d.get('account_email'),
22800            account_first_name=d.get('account_first_name'),
22801            account_id=d.get('account_id'),
22802            account_last_name=d.get('account_last_name'),
22803            account_tags=d.get('account_tags'),
22804            authzjson=d.get('authzjson'),
22805            capture=d.get('capture'),
22806            client_ip=d.get('client_ip'),
22807            completed_at=d.get('completed_at'),
22808            duration=d.get('duration'),
22809            egress_node_id=d.get('egress_node_id'),
22810            encrypted=d.get('encrypted'),
22811            id=d.get('id'),
22812            identity_alias_username=d.get('identity_alias_username'),
22813            metadata_json=d.get('metadata_json'),
22814            query_body=d.get('query_body'),
22815            query_category=d.get('query_category'),
22816            query_hash=d.get('query_hash'),
22817            query_key=d.get('query_key'),
22818            record_count=d.get('record_count'),
22819            remote_identity_username=d.get('remote_identity_username'),
22820            replayable=d.get('replayable'),
22821            resource_id=d.get('resource_id'),
22822            resource_name=d.get('resource_name'),
22823            resource_tags=d.get('resource_tags'),
22824            resource_type=d.get('resource_type'),
22825            source_ip=d.get('source_ip'),
22826            target=d.get('target'),
22827            timestamp=d.get('timestamp'),
22828        )
22829
22830
22831class QueryCapture:
22832    '''
22833         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22834    '''
22835    __slots__ = [
22836        'client_command',
22837        'command',
22838        'container',
22839        'env',
22840        'file_name',
22841        'file_size',
22842        'height',
22843        'impersonation_groups',
22844        'impersonation_user',
22845        'pod',
22846        'privilege_groups',
22847        'request_body',
22848        'request_method',
22849        'request_uri',
22850        'type',
22851        'width',
22852    ]
22853
22854    def __init__(
22855        self,
22856        client_command=None,
22857        command=None,
22858        container=None,
22859        env=None,
22860        file_name=None,
22861        file_size=None,
22862        height=None,
22863        impersonation_groups=None,
22864        impersonation_user=None,
22865        pod=None,
22866        privilege_groups=None,
22867        request_body=None,
22868        request_method=None,
22869        request_uri=None,
22870        type=None,
22871        width=None,
22872    ):
22873        self.client_command = client_command if client_command is not None else ''
22874        '''
22875         The command executed on the client for a Kubernetes session.
22876        '''
22877        self.command = command if command is not None else ''
22878        '''
22879         The command executed over an SSH or Kubernetes session.
22880        '''
22881        self.container = container if container is not None else ''
22882        '''
22883         The target container of a Kubernetes operation.
22884        '''
22885        self.env = env if env is not None else {}
22886        '''
22887         The environment variables for an SSH or Kubernetes session.
22888        '''
22889        self.file_name = file_name if file_name is not None else ''
22890        '''
22891         The remote file name of an SCP operation.
22892        '''
22893        self.file_size = file_size if file_size is not None else 0
22894        '''
22895         The file size transferred for an SCP operation.
22896        '''
22897        self.height = height if height is not None else 0
22898        '''
22899         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22900        '''
22901        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22902        '''
22903         The impersonation groups of a Kubernetes operation.
22904        '''
22905        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22906        '''
22907         The impersonation user of a Kubernetes operation.
22908        '''
22909        self.pod = pod if pod is not None else ''
22910        '''
22911         The target pod of a Kubernetes operation.
22912        '''
22913        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22914        '''
22915         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22916        '''
22917        self.request_body = request_body if request_body is not None else b''
22918        '''
22919         The HTTP request body of a Kubernetes operation.
22920        '''
22921        self.request_method = request_method if request_method is not None else ''
22922        '''
22923         The HTTP request method of a Kubernetes operation.
22924        '''
22925        self.request_uri = request_uri if request_uri is not None else ''
22926        '''
22927         The HTTP request URI of a Kubernetes operation.
22928        '''
22929        self.type = type if type is not None else ''
22930        '''
22931         The CaptureType of this query capture, one of the CaptureType constants.
22932        '''
22933        self.width = width if width is not None else 0
22934        '''
22935         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22936        '''
22937
22938    def __repr__(self):
22939        return '<sdm.QueryCapture ' + \
22940            'client_command: ' + repr(self.client_command) + ' ' +\
22941            'command: ' + repr(self.command) + ' ' +\
22942            'container: ' + repr(self.container) + ' ' +\
22943            'env: ' + repr(self.env) + ' ' +\
22944            'file_name: ' + repr(self.file_name) + ' ' +\
22945            'file_size: ' + repr(self.file_size) + ' ' +\
22946            'height: ' + repr(self.height) + ' ' +\
22947            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22948            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22949            'pod: ' + repr(self.pod) + ' ' +\
22950            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22951            'request_body: ' + repr(self.request_body) + ' ' +\
22952            'request_method: ' + repr(self.request_method) + ' ' +\
22953            'request_uri: ' + repr(self.request_uri) + ' ' +\
22954            'type: ' + repr(self.type) + ' ' +\
22955            'width: ' + repr(self.width) + ' ' +\
22956            '>'
22957
22958    def to_dict(self):
22959        return {
22960            'client_command': self.client_command,
22961            'command': self.command,
22962            'container': self.container,
22963            'env': self.env,
22964            'file_name': self.file_name,
22965            'file_size': self.file_size,
22966            'height': self.height,
22967            'impersonation_groups': self.impersonation_groups,
22968            'impersonation_user': self.impersonation_user,
22969            'pod': self.pod,
22970            'privilege_groups': self.privilege_groups,
22971            'request_body': self.request_body,
22972            'request_method': self.request_method,
22973            'request_uri': self.request_uri,
22974            'type': self.type,
22975            'width': self.width,
22976        }
22977
22978    @classmethod
22979    def from_dict(cls, d):
22980        return cls(
22981            client_command=d.get('client_command'),
22982            command=d.get('command'),
22983            container=d.get('container'),
22984            env=d.get('env'),
22985            file_name=d.get('file_name'),
22986            file_size=d.get('file_size'),
22987            height=d.get('height'),
22988            impersonation_groups=d.get('impersonation_groups'),
22989            impersonation_user=d.get('impersonation_user'),
22990            pod=d.get('pod'),
22991            privilege_groups=d.get('privilege_groups'),
22992            request_body=d.get('request_body'),
22993            request_method=d.get('request_method'),
22994            request_uri=d.get('request_uri'),
22995            type=d.get('type'),
22996            width=d.get('width'),
22997        )
22998
22999
23000class RDP:
23001    __slots__ = [
23002        'bind_interface',
23003        'downgrade_nla_connections',
23004        'egress_filter',
23005        'healthy',
23006        'hostname',
23007        'id',
23008        'lock_required',
23009        'name',
23010        'password',
23011        'port',
23012        'port_override',
23013        'proxy_cluster_id',
23014        'secret_store_id',
23015        'subdomain',
23016        'tags',
23017        'username',
23018    ]
23019
23020    def __init__(
23021        self,
23022        bind_interface=None,
23023        downgrade_nla_connections=None,
23024        egress_filter=None,
23025        healthy=None,
23026        hostname=None,
23027        id=None,
23028        lock_required=None,
23029        name=None,
23030        password=None,
23031        port=None,
23032        port_override=None,
23033        proxy_cluster_id=None,
23034        secret_store_id=None,
23035        subdomain=None,
23036        tags=None,
23037        username=None,
23038    ):
23039        self.bind_interface = bind_interface if bind_interface is not None else ''
23040        '''
23041         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23042        '''
23043        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
23044        '''
23045         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.
23046        '''
23047        self.egress_filter = egress_filter if egress_filter is not None else ''
23048        '''
23049         A filter applied to the routing logic to pin datasource to nodes.
23050        '''
23051        self.healthy = healthy if healthy is not None else False
23052        '''
23053         True if the datasource is reachable and the credentials are valid.
23054        '''
23055        self.hostname = hostname if hostname is not None else ''
23056        '''
23057         The host to dial to initiate a connection from the egress node to this resource.
23058        '''
23059        self.id = id if id is not None else ''
23060        '''
23061         Unique identifier of the Resource.
23062        '''
23063        self.lock_required = lock_required if lock_required is not None else False
23064        '''
23065         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23066        '''
23067        self.name = name if name is not None else ''
23068        '''
23069         Unique human-readable name of the Resource.
23070        '''
23071        self.password = password if password is not None else ''
23072        '''
23073         The password to authenticate with.
23074        '''
23075        self.port = port if port is not None else 0
23076        '''
23077         The port to dial to initiate a connection from the egress node to this resource.
23078        '''
23079        self.port_override = port_override if port_override is not None else 0
23080        '''
23081         The local port used by clients to connect to this resource.
23082        '''
23083        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23084        '''
23085         ID of the proxy cluster for this resource, if any.
23086        '''
23087        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23088        '''
23089         ID of the secret store containing credentials for this resource, if any.
23090        '''
23091        self.subdomain = subdomain if subdomain is not None else ''
23092        '''
23093         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23094        '''
23095        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23096        '''
23097         Tags is a map of key, value pairs.
23098        '''
23099        self.username = username if username is not None else ''
23100        '''
23101         The username to authenticate with.
23102        '''
23103
23104    def __repr__(self):
23105        return '<sdm.RDP ' + \
23106            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23107            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
23108            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23109            'healthy: ' + repr(self.healthy) + ' ' +\
23110            'hostname: ' + repr(self.hostname) + ' ' +\
23111            'id: ' + repr(self.id) + ' ' +\
23112            'lock_required: ' + repr(self.lock_required) + ' ' +\
23113            'name: ' + repr(self.name) + ' ' +\
23114            'password: ' + repr(self.password) + ' ' +\
23115            'port: ' + repr(self.port) + ' ' +\
23116            'port_override: ' + repr(self.port_override) + ' ' +\
23117            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23118            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23119            'subdomain: ' + repr(self.subdomain) + ' ' +\
23120            'tags: ' + repr(self.tags) + ' ' +\
23121            'username: ' + repr(self.username) + ' ' +\
23122            '>'
23123
23124    def to_dict(self):
23125        return {
23126            'bind_interface': self.bind_interface,
23127            'downgrade_nla_connections': self.downgrade_nla_connections,
23128            'egress_filter': self.egress_filter,
23129            'healthy': self.healthy,
23130            'hostname': self.hostname,
23131            'id': self.id,
23132            'lock_required': self.lock_required,
23133            'name': self.name,
23134            'password': self.password,
23135            'port': self.port,
23136            'port_override': self.port_override,
23137            'proxy_cluster_id': self.proxy_cluster_id,
23138            'secret_store_id': self.secret_store_id,
23139            'subdomain': self.subdomain,
23140            'tags': self.tags,
23141            'username': self.username,
23142        }
23143
23144    @classmethod
23145    def from_dict(cls, d):
23146        return cls(
23147            bind_interface=d.get('bind_interface'),
23148            downgrade_nla_connections=d.get('downgrade_nla_connections'),
23149            egress_filter=d.get('egress_filter'),
23150            healthy=d.get('healthy'),
23151            hostname=d.get('hostname'),
23152            id=d.get('id'),
23153            lock_required=d.get('lock_required'),
23154            name=d.get('name'),
23155            password=d.get('password'),
23156            port=d.get('port'),
23157            port_override=d.get('port_override'),
23158            proxy_cluster_id=d.get('proxy_cluster_id'),
23159            secret_store_id=d.get('secret_store_id'),
23160            subdomain=d.get('subdomain'),
23161            tags=d.get('tags'),
23162            username=d.get('username'),
23163        )
23164
23165
23166class RDPCert:
23167    __slots__ = [
23168        'bind_interface',
23169        'egress_filter',
23170        'healthy',
23171        'hostname',
23172        'id',
23173        'identity_alias_healthcheck_username',
23174        'identity_set_id',
23175        'lock_required',
23176        'name',
23177        'port',
23178        'port_override',
23179        'proxy_cluster_id',
23180        'secret_store_id',
23181        'subdomain',
23182        'tags',
23183        'username',
23184    ]
23185
23186    def __init__(
23187        self,
23188        bind_interface=None,
23189        egress_filter=None,
23190        healthy=None,
23191        hostname=None,
23192        id=None,
23193        identity_alias_healthcheck_username=None,
23194        identity_set_id=None,
23195        lock_required=None,
23196        name=None,
23197        port=None,
23198        port_override=None,
23199        proxy_cluster_id=None,
23200        secret_store_id=None,
23201        subdomain=None,
23202        tags=None,
23203        username=None,
23204    ):
23205        self.bind_interface = bind_interface if bind_interface is not None else ''
23206        '''
23207         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23208        '''
23209        self.egress_filter = egress_filter if egress_filter is not None else ''
23210        '''
23211         A filter applied to the routing logic to pin datasource to nodes.
23212        '''
23213        self.healthy = healthy if healthy is not None else False
23214        '''
23215         True if the datasource is reachable and the credentials are valid.
23216        '''
23217        self.hostname = hostname if hostname is not None else ''
23218        '''
23219         The host to dial to initiate a connection from the egress node to this resource.
23220        '''
23221        self.id = id if id is not None else ''
23222        '''
23223         Unique identifier of the Resource.
23224        '''
23225        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
23226        '''
23227         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
23228        '''
23229        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
23230        '''
23231         The ID of the identity set to use for identity connections.
23232        '''
23233        self.lock_required = lock_required if lock_required is not None else False
23234        '''
23235         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23236        '''
23237        self.name = name if name is not None else ''
23238        '''
23239         Unique human-readable name of the Resource.
23240        '''
23241        self.port = port if port is not None else 0
23242        '''
23243         The port to dial to initiate a connection from the egress node to this resource.
23244        '''
23245        self.port_override = port_override if port_override is not None else 0
23246        '''
23247         The local port used by clients to connect to this resource.
23248        '''
23249        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23250        '''
23251         ID of the proxy cluster for this resource, if any.
23252        '''
23253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23254        '''
23255         ID of the secret store containing credentials for this resource, if any.
23256        '''
23257        self.subdomain = subdomain if subdomain is not None else ''
23258        '''
23259         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23260        '''
23261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23262        '''
23263         Tags is a map of key, value pairs.
23264        '''
23265        self.username = username if username is not None else ''
23266        '''
23267         The username to authenticate with.
23268        '''
23269
23270    def __repr__(self):
23271        return '<sdm.RDPCert ' + \
23272            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23273            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23274            'healthy: ' + repr(self.healthy) + ' ' +\
23275            'hostname: ' + repr(self.hostname) + ' ' +\
23276            'id: ' + repr(self.id) + ' ' +\
23277            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
23278            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
23279            'lock_required: ' + repr(self.lock_required) + ' ' +\
23280            'name: ' + repr(self.name) + ' ' +\
23281            'port: ' + repr(self.port) + ' ' +\
23282            'port_override: ' + repr(self.port_override) + ' ' +\
23283            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23284            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23285            'subdomain: ' + repr(self.subdomain) + ' ' +\
23286            'tags: ' + repr(self.tags) + ' ' +\
23287            'username: ' + repr(self.username) + ' ' +\
23288            '>'
23289
23290    def to_dict(self):
23291        return {
23292            'bind_interface': self.bind_interface,
23293            'egress_filter': self.egress_filter,
23294            'healthy': self.healthy,
23295            'hostname': self.hostname,
23296            'id': self.id,
23297            'identity_alias_healthcheck_username':
23298            self.identity_alias_healthcheck_username,
23299            'identity_set_id': self.identity_set_id,
23300            'lock_required': self.lock_required,
23301            'name': self.name,
23302            'port': self.port,
23303            'port_override': self.port_override,
23304            'proxy_cluster_id': self.proxy_cluster_id,
23305            'secret_store_id': self.secret_store_id,
23306            'subdomain': self.subdomain,
23307            'tags': self.tags,
23308            'username': self.username,
23309        }
23310
23311    @classmethod
23312    def from_dict(cls, d):
23313        return cls(
23314            bind_interface=d.get('bind_interface'),
23315            egress_filter=d.get('egress_filter'),
23316            healthy=d.get('healthy'),
23317            hostname=d.get('hostname'),
23318            id=d.get('id'),
23319            identity_alias_healthcheck_username=d.get(
23320                'identity_alias_healthcheck_username'),
23321            identity_set_id=d.get('identity_set_id'),
23322            lock_required=d.get('lock_required'),
23323            name=d.get('name'),
23324            port=d.get('port'),
23325            port_override=d.get('port_override'),
23326            proxy_cluster_id=d.get('proxy_cluster_id'),
23327            secret_store_id=d.get('secret_store_id'),
23328            subdomain=d.get('subdomain'),
23329            tags=d.get('tags'),
23330            username=d.get('username'),
23331        )
23332
23333
23334class RDSPostgresIAM:
23335    __slots__ = [
23336        'bind_interface',
23337        'database',
23338        'egress_filter',
23339        'healthy',
23340        'hostname',
23341        'id',
23342        'name',
23343        'override_database',
23344        'port',
23345        'port_override',
23346        'proxy_cluster_id',
23347        'region',
23348        'role_assumption_arn',
23349        'secret_store_id',
23350        'subdomain',
23351        'tags',
23352        'username',
23353    ]
23354
23355    def __init__(
23356        self,
23357        bind_interface=None,
23358        database=None,
23359        egress_filter=None,
23360        healthy=None,
23361        hostname=None,
23362        id=None,
23363        name=None,
23364        override_database=None,
23365        port=None,
23366        port_override=None,
23367        proxy_cluster_id=None,
23368        region=None,
23369        role_assumption_arn=None,
23370        secret_store_id=None,
23371        subdomain=None,
23372        tags=None,
23373        username=None,
23374    ):
23375        self.bind_interface = bind_interface if bind_interface is not None else ''
23376        '''
23377         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23378        '''
23379        self.database = database if database is not None else ''
23380        '''
23381         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23382        '''
23383        self.egress_filter = egress_filter if egress_filter is not None else ''
23384        '''
23385         A filter applied to the routing logic to pin datasource to nodes.
23386        '''
23387        self.healthy = healthy if healthy is not None else False
23388        '''
23389         True if the datasource is reachable and the credentials are valid.
23390        '''
23391        self.hostname = hostname if hostname is not None else ''
23392        '''
23393         The host to dial to initiate a connection from the egress node to this resource.
23394        '''
23395        self.id = id if id is not None else ''
23396        '''
23397         Unique identifier of the Resource.
23398        '''
23399        self.name = name if name is not None else ''
23400        '''
23401         Unique human-readable name of the Resource.
23402        '''
23403        self.override_database = override_database if override_database is not None else False
23404        '''
23405         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.
23406        '''
23407        self.port = port if port is not None else 0
23408        '''
23409         The port to dial to initiate a connection from the egress node to this resource.
23410        '''
23411        self.port_override = port_override if port_override is not None else 0
23412        '''
23413         The local port used by clients to connect to this resource.
23414        '''
23415        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23416        '''
23417         ID of the proxy cluster for this resource, if any.
23418        '''
23419        self.region = region if region is not None else ''
23420        '''
23421         The AWS region to connect to.
23422        '''
23423        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23424        '''
23425         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23426        '''
23427        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23428        '''
23429         ID of the secret store containing credentials for this resource, if any.
23430        '''
23431        self.subdomain = subdomain if subdomain is not None else ''
23432        '''
23433         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23434        '''
23435        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23436        '''
23437         Tags is a map of key, value pairs.
23438        '''
23439        self.username = username if username is not None else ''
23440        '''
23441         The username to authenticate with.
23442        '''
23443
23444    def __repr__(self):
23445        return '<sdm.RDSPostgresIAM ' + \
23446            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23447            'database: ' + repr(self.database) + ' ' +\
23448            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23449            'healthy: ' + repr(self.healthy) + ' ' +\
23450            'hostname: ' + repr(self.hostname) + ' ' +\
23451            'id: ' + repr(self.id) + ' ' +\
23452            'name: ' + repr(self.name) + ' ' +\
23453            'override_database: ' + repr(self.override_database) + ' ' +\
23454            'port: ' + repr(self.port) + ' ' +\
23455            'port_override: ' + repr(self.port_override) + ' ' +\
23456            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23457            'region: ' + repr(self.region) + ' ' +\
23458            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23459            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23460            'subdomain: ' + repr(self.subdomain) + ' ' +\
23461            'tags: ' + repr(self.tags) + ' ' +\
23462            'username: ' + repr(self.username) + ' ' +\
23463            '>'
23464
23465    def to_dict(self):
23466        return {
23467            'bind_interface': self.bind_interface,
23468            'database': self.database,
23469            'egress_filter': self.egress_filter,
23470            'healthy': self.healthy,
23471            'hostname': self.hostname,
23472            'id': self.id,
23473            'name': self.name,
23474            'override_database': self.override_database,
23475            'port': self.port,
23476            'port_override': self.port_override,
23477            'proxy_cluster_id': self.proxy_cluster_id,
23478            'region': self.region,
23479            'role_assumption_arn': self.role_assumption_arn,
23480            'secret_store_id': self.secret_store_id,
23481            'subdomain': self.subdomain,
23482            'tags': self.tags,
23483            'username': self.username,
23484        }
23485
23486    @classmethod
23487    def from_dict(cls, d):
23488        return cls(
23489            bind_interface=d.get('bind_interface'),
23490            database=d.get('database'),
23491            egress_filter=d.get('egress_filter'),
23492            healthy=d.get('healthy'),
23493            hostname=d.get('hostname'),
23494            id=d.get('id'),
23495            name=d.get('name'),
23496            override_database=d.get('override_database'),
23497            port=d.get('port'),
23498            port_override=d.get('port_override'),
23499            proxy_cluster_id=d.get('proxy_cluster_id'),
23500            region=d.get('region'),
23501            role_assumption_arn=d.get('role_assumption_arn'),
23502            secret_store_id=d.get('secret_store_id'),
23503            subdomain=d.get('subdomain'),
23504            tags=d.get('tags'),
23505            username=d.get('username'),
23506        )
23507
23508
23509class RabbitMQAMQP091:
23510    __slots__ = [
23511        'bind_interface',
23512        'egress_filter',
23513        'healthy',
23514        'hostname',
23515        'id',
23516        'name',
23517        'password',
23518        'port',
23519        'port_override',
23520        'proxy_cluster_id',
23521        'secret_store_id',
23522        'subdomain',
23523        'tags',
23524        'tls_required',
23525        'username',
23526    ]
23527
23528    def __init__(
23529        self,
23530        bind_interface=None,
23531        egress_filter=None,
23532        healthy=None,
23533        hostname=None,
23534        id=None,
23535        name=None,
23536        password=None,
23537        port=None,
23538        port_override=None,
23539        proxy_cluster_id=None,
23540        secret_store_id=None,
23541        subdomain=None,
23542        tags=None,
23543        tls_required=None,
23544        username=None,
23545    ):
23546        self.bind_interface = bind_interface if bind_interface is not None else ''
23547        '''
23548         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23549        '''
23550        self.egress_filter = egress_filter if egress_filter is not None else ''
23551        '''
23552         A filter applied to the routing logic to pin datasource to nodes.
23553        '''
23554        self.healthy = healthy if healthy is not None else False
23555        '''
23556         True if the datasource is reachable and the credentials are valid.
23557        '''
23558        self.hostname = hostname if hostname is not None else ''
23559        '''
23560         The host to dial to initiate a connection from the egress node to this resource.
23561        '''
23562        self.id = id if id is not None else ''
23563        '''
23564         Unique identifier of the Resource.
23565        '''
23566        self.name = name if name is not None else ''
23567        '''
23568         Unique human-readable name of the Resource.
23569        '''
23570        self.password = password if password is not None else ''
23571        '''
23572         The password to authenticate with.
23573        '''
23574        self.port = port if port is not None else 0
23575        '''
23576         The port to dial to initiate a connection from the egress node to this resource.
23577        '''
23578        self.port_override = port_override if port_override is not None else 0
23579        '''
23580         The local port used by clients to connect to this resource.
23581        '''
23582        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23583        '''
23584         ID of the proxy cluster for this resource, if any.
23585        '''
23586        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23587        '''
23588         ID of the secret store containing credentials for this resource, if any.
23589        '''
23590        self.subdomain = subdomain if subdomain is not None else ''
23591        '''
23592         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23593        '''
23594        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23595        '''
23596         Tags is a map of key, value pairs.
23597        '''
23598        self.tls_required = tls_required if tls_required is not None else False
23599        '''
23600         If set, TLS must be used to connect to this resource.
23601        '''
23602        self.username = username if username is not None else ''
23603        '''
23604         The username to authenticate with.
23605        '''
23606
23607    def __repr__(self):
23608        return '<sdm.RabbitMQAMQP091 ' + \
23609            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23610            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23611            'healthy: ' + repr(self.healthy) + ' ' +\
23612            'hostname: ' + repr(self.hostname) + ' ' +\
23613            'id: ' + repr(self.id) + ' ' +\
23614            'name: ' + repr(self.name) + ' ' +\
23615            'password: ' + repr(self.password) + ' ' +\
23616            'port: ' + repr(self.port) + ' ' +\
23617            'port_override: ' + repr(self.port_override) + ' ' +\
23618            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23619            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23620            'subdomain: ' + repr(self.subdomain) + ' ' +\
23621            'tags: ' + repr(self.tags) + ' ' +\
23622            'tls_required: ' + repr(self.tls_required) + ' ' +\
23623            'username: ' + repr(self.username) + ' ' +\
23624            '>'
23625
23626    def to_dict(self):
23627        return {
23628            'bind_interface': self.bind_interface,
23629            'egress_filter': self.egress_filter,
23630            'healthy': self.healthy,
23631            'hostname': self.hostname,
23632            'id': self.id,
23633            'name': self.name,
23634            'password': self.password,
23635            'port': self.port,
23636            'port_override': self.port_override,
23637            'proxy_cluster_id': self.proxy_cluster_id,
23638            'secret_store_id': self.secret_store_id,
23639            'subdomain': self.subdomain,
23640            'tags': self.tags,
23641            'tls_required': self.tls_required,
23642            'username': self.username,
23643        }
23644
23645    @classmethod
23646    def from_dict(cls, d):
23647        return cls(
23648            bind_interface=d.get('bind_interface'),
23649            egress_filter=d.get('egress_filter'),
23650            healthy=d.get('healthy'),
23651            hostname=d.get('hostname'),
23652            id=d.get('id'),
23653            name=d.get('name'),
23654            password=d.get('password'),
23655            port=d.get('port'),
23656            port_override=d.get('port_override'),
23657            proxy_cluster_id=d.get('proxy_cluster_id'),
23658            secret_store_id=d.get('secret_store_id'),
23659            subdomain=d.get('subdomain'),
23660            tags=d.get('tags'),
23661            tls_required=d.get('tls_required'),
23662            username=d.get('username'),
23663        )
23664
23665
23666class RateLimitMetadata:
23667    '''
23668         RateLimitMetadata contains information about remaining requests avaialable
23669     to the user over some timeframe.
23670    '''
23671    __slots__ = [
23672        'bucket',
23673        'limit',
23674        'remaining',
23675        'reset_at',
23676    ]
23677
23678    def __init__(
23679        self,
23680        bucket=None,
23681        limit=None,
23682        remaining=None,
23683        reset_at=None,
23684    ):
23685        self.bucket = bucket if bucket is not None else ''
23686        '''
23687         The bucket this user/token is associated with, which may be shared between
23688         multiple users/tokens.
23689        '''
23690        self.limit = limit if limit is not None else 0
23691        '''
23692         How many total requests the user/token is authorized to make before being
23693         rate limited.
23694        '''
23695        self.remaining = remaining if remaining is not None else 0
23696        '''
23697         How many remaining requests out of the limit are still avaialable.
23698        '''
23699        self.reset_at = reset_at if reset_at is not None else None
23700        '''
23701         The time when remaining will be reset to limit.
23702        '''
23703
23704    def __repr__(self):
23705        return '<sdm.RateLimitMetadata ' + \
23706            'bucket: ' + repr(self.bucket) + ' ' +\
23707            'limit: ' + repr(self.limit) + ' ' +\
23708            'remaining: ' + repr(self.remaining) + ' ' +\
23709            'reset_at: ' + repr(self.reset_at) + ' ' +\
23710            '>'
23711
23712    def to_dict(self):
23713        return {
23714            'bucket': self.bucket,
23715            'limit': self.limit,
23716            'remaining': self.remaining,
23717            'reset_at': self.reset_at,
23718        }
23719
23720    @classmethod
23721    def from_dict(cls, d):
23722        return cls(
23723            bucket=d.get('bucket'),
23724            limit=d.get('limit'),
23725            remaining=d.get('remaining'),
23726            reset_at=d.get('reset_at'),
23727        )
23728
23729
23730class RawTCP:
23731    __slots__ = [
23732        'bind_interface',
23733        'egress_filter',
23734        'healthy',
23735        'hostname',
23736        'id',
23737        'name',
23738        'port',
23739        'port_override',
23740        'proxy_cluster_id',
23741        'secret_store_id',
23742        'subdomain',
23743        'tags',
23744    ]
23745
23746    def __init__(
23747        self,
23748        bind_interface=None,
23749        egress_filter=None,
23750        healthy=None,
23751        hostname=None,
23752        id=None,
23753        name=None,
23754        port=None,
23755        port_override=None,
23756        proxy_cluster_id=None,
23757        secret_store_id=None,
23758        subdomain=None,
23759        tags=None,
23760    ):
23761        self.bind_interface = bind_interface if bind_interface is not None else ''
23762        '''
23763         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23764        '''
23765        self.egress_filter = egress_filter if egress_filter is not None else ''
23766        '''
23767         A filter applied to the routing logic to pin datasource to nodes.
23768        '''
23769        self.healthy = healthy if healthy is not None else False
23770        '''
23771         True if the datasource is reachable and the credentials are valid.
23772        '''
23773        self.hostname = hostname if hostname is not None else ''
23774        '''
23775         The host to dial to initiate a connection from the egress node to this resource.
23776        '''
23777        self.id = id if id is not None else ''
23778        '''
23779         Unique identifier of the Resource.
23780        '''
23781        self.name = name if name is not None else ''
23782        '''
23783         Unique human-readable name of the Resource.
23784        '''
23785        self.port = port if port is not None else 0
23786        '''
23787         The port to dial to initiate a connection from the egress node to this resource.
23788        '''
23789        self.port_override = port_override if port_override is not None else 0
23790        '''
23791         The local port used by clients to connect to this resource.
23792        '''
23793        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23794        '''
23795         ID of the proxy cluster for this resource, if any.
23796        '''
23797        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23798        '''
23799         ID of the secret store containing credentials for this resource, if any.
23800        '''
23801        self.subdomain = subdomain if subdomain is not None else ''
23802        '''
23803         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23804        '''
23805        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23806        '''
23807         Tags is a map of key, value pairs.
23808        '''
23809
23810    def __repr__(self):
23811        return '<sdm.RawTCP ' + \
23812            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23813            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23814            'healthy: ' + repr(self.healthy) + ' ' +\
23815            'hostname: ' + repr(self.hostname) + ' ' +\
23816            'id: ' + repr(self.id) + ' ' +\
23817            'name: ' + repr(self.name) + ' ' +\
23818            'port: ' + repr(self.port) + ' ' +\
23819            'port_override: ' + repr(self.port_override) + ' ' +\
23820            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23821            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23822            'subdomain: ' + repr(self.subdomain) + ' ' +\
23823            'tags: ' + repr(self.tags) + ' ' +\
23824            '>'
23825
23826    def to_dict(self):
23827        return {
23828            'bind_interface': self.bind_interface,
23829            'egress_filter': self.egress_filter,
23830            'healthy': self.healthy,
23831            'hostname': self.hostname,
23832            'id': self.id,
23833            'name': self.name,
23834            'port': self.port,
23835            'port_override': self.port_override,
23836            'proxy_cluster_id': self.proxy_cluster_id,
23837            'secret_store_id': self.secret_store_id,
23838            'subdomain': self.subdomain,
23839            'tags': self.tags,
23840        }
23841
23842    @classmethod
23843    def from_dict(cls, d):
23844        return cls(
23845            bind_interface=d.get('bind_interface'),
23846            egress_filter=d.get('egress_filter'),
23847            healthy=d.get('healthy'),
23848            hostname=d.get('hostname'),
23849            id=d.get('id'),
23850            name=d.get('name'),
23851            port=d.get('port'),
23852            port_override=d.get('port_override'),
23853            proxy_cluster_id=d.get('proxy_cluster_id'),
23854            secret_store_id=d.get('secret_store_id'),
23855            subdomain=d.get('subdomain'),
23856            tags=d.get('tags'),
23857        )
23858
23859
23860class Redis:
23861    __slots__ = [
23862        'bind_interface',
23863        'egress_filter',
23864        'healthy',
23865        'hostname',
23866        'id',
23867        'name',
23868        'password',
23869        'port',
23870        'port_override',
23871        'proxy_cluster_id',
23872        'secret_store_id',
23873        'subdomain',
23874        'tags',
23875        'tls_required',
23876        'username',
23877    ]
23878
23879    def __init__(
23880        self,
23881        bind_interface=None,
23882        egress_filter=None,
23883        healthy=None,
23884        hostname=None,
23885        id=None,
23886        name=None,
23887        password=None,
23888        port=None,
23889        port_override=None,
23890        proxy_cluster_id=None,
23891        secret_store_id=None,
23892        subdomain=None,
23893        tags=None,
23894        tls_required=None,
23895        username=None,
23896    ):
23897        self.bind_interface = bind_interface if bind_interface is not None else ''
23898        '''
23899         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23900        '''
23901        self.egress_filter = egress_filter if egress_filter is not None else ''
23902        '''
23903         A filter applied to the routing logic to pin datasource to nodes.
23904        '''
23905        self.healthy = healthy if healthy is not None else False
23906        '''
23907         True if the datasource is reachable and the credentials are valid.
23908        '''
23909        self.hostname = hostname if hostname is not None else ''
23910        '''
23911         The host to dial to initiate a connection from the egress node to this resource.
23912        '''
23913        self.id = id if id is not None else ''
23914        '''
23915         Unique identifier of the Resource.
23916        '''
23917        self.name = name if name is not None else ''
23918        '''
23919         Unique human-readable name of the Resource.
23920        '''
23921        self.password = password if password is not None else ''
23922        '''
23923         The password to authenticate with.
23924        '''
23925        self.port = port if port is not None else 0
23926        '''
23927         The port to dial to initiate a connection from the egress node to this resource.
23928        '''
23929        self.port_override = port_override if port_override is not None else 0
23930        '''
23931         The local port used by clients to connect to this resource.
23932        '''
23933        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23934        '''
23935         ID of the proxy cluster for this resource, if any.
23936        '''
23937        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23938        '''
23939         ID of the secret store containing credentials for this resource, if any.
23940        '''
23941        self.subdomain = subdomain if subdomain is not None else ''
23942        '''
23943         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23944        '''
23945        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23946        '''
23947         Tags is a map of key, value pairs.
23948        '''
23949        self.tls_required = tls_required if tls_required is not None else False
23950        '''
23951         If set, TLS must be used to connect to this resource.
23952        '''
23953        self.username = username if username is not None else ''
23954        '''
23955         The username to authenticate with.
23956        '''
23957
23958    def __repr__(self):
23959        return '<sdm.Redis ' + \
23960            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23961            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23962            'healthy: ' + repr(self.healthy) + ' ' +\
23963            'hostname: ' + repr(self.hostname) + ' ' +\
23964            'id: ' + repr(self.id) + ' ' +\
23965            'name: ' + repr(self.name) + ' ' +\
23966            'password: ' + repr(self.password) + ' ' +\
23967            'port: ' + repr(self.port) + ' ' +\
23968            'port_override: ' + repr(self.port_override) + ' ' +\
23969            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23970            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23971            'subdomain: ' + repr(self.subdomain) + ' ' +\
23972            'tags: ' + repr(self.tags) + ' ' +\
23973            'tls_required: ' + repr(self.tls_required) + ' ' +\
23974            'username: ' + repr(self.username) + ' ' +\
23975            '>'
23976
23977    def to_dict(self):
23978        return {
23979            'bind_interface': self.bind_interface,
23980            'egress_filter': self.egress_filter,
23981            'healthy': self.healthy,
23982            'hostname': self.hostname,
23983            'id': self.id,
23984            'name': self.name,
23985            'password': self.password,
23986            'port': self.port,
23987            'port_override': self.port_override,
23988            'proxy_cluster_id': self.proxy_cluster_id,
23989            'secret_store_id': self.secret_store_id,
23990            'subdomain': self.subdomain,
23991            'tags': self.tags,
23992            'tls_required': self.tls_required,
23993            'username': self.username,
23994        }
23995
23996    @classmethod
23997    def from_dict(cls, d):
23998        return cls(
23999            bind_interface=d.get('bind_interface'),
24000            egress_filter=d.get('egress_filter'),
24001            healthy=d.get('healthy'),
24002            hostname=d.get('hostname'),
24003            id=d.get('id'),
24004            name=d.get('name'),
24005            password=d.get('password'),
24006            port=d.get('port'),
24007            port_override=d.get('port_override'),
24008            proxy_cluster_id=d.get('proxy_cluster_id'),
24009            secret_store_id=d.get('secret_store_id'),
24010            subdomain=d.get('subdomain'),
24011            tags=d.get('tags'),
24012            tls_required=d.get('tls_required'),
24013            username=d.get('username'),
24014        )
24015
24016
24017class RedisCluster:
24018    __slots__ = [
24019        'bind_interface',
24020        'egress_filter',
24021        'healthy',
24022        'hostname',
24023        'id',
24024        'name',
24025        'password',
24026        'port',
24027        'port_override',
24028        'proxy_cluster_id',
24029        'secret_store_id',
24030        'subdomain',
24031        'tags',
24032        'tls_required',
24033        'username',
24034    ]
24035
24036    def __init__(
24037        self,
24038        bind_interface=None,
24039        egress_filter=None,
24040        healthy=None,
24041        hostname=None,
24042        id=None,
24043        name=None,
24044        password=None,
24045        port=None,
24046        port_override=None,
24047        proxy_cluster_id=None,
24048        secret_store_id=None,
24049        subdomain=None,
24050        tags=None,
24051        tls_required=None,
24052        username=None,
24053    ):
24054        self.bind_interface = bind_interface if bind_interface is not None else ''
24055        '''
24056         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24057        '''
24058        self.egress_filter = egress_filter if egress_filter is not None else ''
24059        '''
24060         A filter applied to the routing logic to pin datasource to nodes.
24061        '''
24062        self.healthy = healthy if healthy is not None else False
24063        '''
24064         True if the datasource is reachable and the credentials are valid.
24065        '''
24066        self.hostname = hostname if hostname is not None else ''
24067        '''
24068         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
24069        '''
24070        self.id = id if id is not None else ''
24071        '''
24072         Unique identifier of the Resource.
24073        '''
24074        self.name = name if name is not None else ''
24075        '''
24076         Unique human-readable name of the Resource.
24077        '''
24078        self.password = password if password is not None else ''
24079        '''
24080         The password to authenticate with.
24081        '''
24082        self.port = port if port is not None else 0
24083        '''
24084         The port to dial to initiate a connection from the egress node to this resource.
24085        '''
24086        self.port_override = port_override if port_override is not None else 0
24087        '''
24088         The local port used by clients to connect to this resource.
24089        '''
24090        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24091        '''
24092         ID of the proxy cluster for this resource, if any.
24093        '''
24094        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24095        '''
24096         ID of the secret store containing credentials for this resource, if any.
24097        '''
24098        self.subdomain = subdomain if subdomain is not None else ''
24099        '''
24100         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24101        '''
24102        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24103        '''
24104         Tags is a map of key, value pairs.
24105        '''
24106        self.tls_required = tls_required if tls_required is not None else False
24107        '''
24108         If set, TLS must be used to connect to this resource.
24109        '''
24110        self.username = username if username is not None else ''
24111        '''
24112         The username to authenticate with.
24113        '''
24114
24115    def __repr__(self):
24116        return '<sdm.RedisCluster ' + \
24117            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24118            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24119            'healthy: ' + repr(self.healthy) + ' ' +\
24120            'hostname: ' + repr(self.hostname) + ' ' +\
24121            'id: ' + repr(self.id) + ' ' +\
24122            'name: ' + repr(self.name) + ' ' +\
24123            'password: ' + repr(self.password) + ' ' +\
24124            'port: ' + repr(self.port) + ' ' +\
24125            'port_override: ' + repr(self.port_override) + ' ' +\
24126            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24127            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24128            'subdomain: ' + repr(self.subdomain) + ' ' +\
24129            'tags: ' + repr(self.tags) + ' ' +\
24130            'tls_required: ' + repr(self.tls_required) + ' ' +\
24131            'username: ' + repr(self.username) + ' ' +\
24132            '>'
24133
24134    def to_dict(self):
24135        return {
24136            'bind_interface': self.bind_interface,
24137            'egress_filter': self.egress_filter,
24138            'healthy': self.healthy,
24139            'hostname': self.hostname,
24140            'id': self.id,
24141            'name': self.name,
24142            'password': self.password,
24143            'port': self.port,
24144            'port_override': self.port_override,
24145            'proxy_cluster_id': self.proxy_cluster_id,
24146            'secret_store_id': self.secret_store_id,
24147            'subdomain': self.subdomain,
24148            'tags': self.tags,
24149            'tls_required': self.tls_required,
24150            'username': self.username,
24151        }
24152
24153    @classmethod
24154    def from_dict(cls, d):
24155        return cls(
24156            bind_interface=d.get('bind_interface'),
24157            egress_filter=d.get('egress_filter'),
24158            healthy=d.get('healthy'),
24159            hostname=d.get('hostname'),
24160            id=d.get('id'),
24161            name=d.get('name'),
24162            password=d.get('password'),
24163            port=d.get('port'),
24164            port_override=d.get('port_override'),
24165            proxy_cluster_id=d.get('proxy_cluster_id'),
24166            secret_store_id=d.get('secret_store_id'),
24167            subdomain=d.get('subdomain'),
24168            tags=d.get('tags'),
24169            tls_required=d.get('tls_required'),
24170            username=d.get('username'),
24171        )
24172
24173
24174class Redshift:
24175    __slots__ = [
24176        'bind_interface',
24177        'database',
24178        'egress_filter',
24179        'healthy',
24180        'hostname',
24181        'id',
24182        'name',
24183        'override_database',
24184        'password',
24185        'port',
24186        'port_override',
24187        'proxy_cluster_id',
24188        'secret_store_id',
24189        'subdomain',
24190        'tags',
24191        'username',
24192    ]
24193
24194    def __init__(
24195        self,
24196        bind_interface=None,
24197        database=None,
24198        egress_filter=None,
24199        healthy=None,
24200        hostname=None,
24201        id=None,
24202        name=None,
24203        override_database=None,
24204        password=None,
24205        port=None,
24206        port_override=None,
24207        proxy_cluster_id=None,
24208        secret_store_id=None,
24209        subdomain=None,
24210        tags=None,
24211        username=None,
24212    ):
24213        self.bind_interface = bind_interface if bind_interface is not None else ''
24214        '''
24215         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24216        '''
24217        self.database = database if database is not None else ''
24218        '''
24219         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24220        '''
24221        self.egress_filter = egress_filter if egress_filter is not None else ''
24222        '''
24223         A filter applied to the routing logic to pin datasource to nodes.
24224        '''
24225        self.healthy = healthy if healthy is not None else False
24226        '''
24227         True if the datasource is reachable and the credentials are valid.
24228        '''
24229        self.hostname = hostname if hostname is not None else ''
24230        '''
24231         The host to dial to initiate a connection from the egress node to this resource.
24232        '''
24233        self.id = id if id is not None else ''
24234        '''
24235         Unique identifier of the Resource.
24236        '''
24237        self.name = name if name is not None else ''
24238        '''
24239         Unique human-readable name of the Resource.
24240        '''
24241        self.override_database = override_database if override_database is not None else False
24242        '''
24243         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.
24244        '''
24245        self.password = password if password is not None else ''
24246        '''
24247         The password to authenticate with.
24248        '''
24249        self.port = port if port is not None else 0
24250        '''
24251         The port to dial to initiate a connection from the egress node to this resource.
24252        '''
24253        self.port_override = port_override if port_override is not None else 0
24254        '''
24255         The local port used by clients to connect to this resource.
24256        '''
24257        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24258        '''
24259         ID of the proxy cluster for this resource, if any.
24260        '''
24261        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24262        '''
24263         ID of the secret store containing credentials for this resource, if any.
24264        '''
24265        self.subdomain = subdomain if subdomain is not None else ''
24266        '''
24267         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24268        '''
24269        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24270        '''
24271         Tags is a map of key, value pairs.
24272        '''
24273        self.username = username if username is not None else ''
24274        '''
24275         The username to authenticate with.
24276        '''
24277
24278    def __repr__(self):
24279        return '<sdm.Redshift ' + \
24280            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24281            'database: ' + repr(self.database) + ' ' +\
24282            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24283            'healthy: ' + repr(self.healthy) + ' ' +\
24284            'hostname: ' + repr(self.hostname) + ' ' +\
24285            'id: ' + repr(self.id) + ' ' +\
24286            'name: ' + repr(self.name) + ' ' +\
24287            'override_database: ' + repr(self.override_database) + ' ' +\
24288            'password: ' + repr(self.password) + ' ' +\
24289            'port: ' + repr(self.port) + ' ' +\
24290            'port_override: ' + repr(self.port_override) + ' ' +\
24291            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24292            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24293            'subdomain: ' + repr(self.subdomain) + ' ' +\
24294            'tags: ' + repr(self.tags) + ' ' +\
24295            'username: ' + repr(self.username) + ' ' +\
24296            '>'
24297
24298    def to_dict(self):
24299        return {
24300            'bind_interface': self.bind_interface,
24301            'database': self.database,
24302            'egress_filter': self.egress_filter,
24303            'healthy': self.healthy,
24304            'hostname': self.hostname,
24305            'id': self.id,
24306            'name': self.name,
24307            'override_database': self.override_database,
24308            'password': self.password,
24309            'port': self.port,
24310            'port_override': self.port_override,
24311            'proxy_cluster_id': self.proxy_cluster_id,
24312            'secret_store_id': self.secret_store_id,
24313            'subdomain': self.subdomain,
24314            'tags': self.tags,
24315            'username': self.username,
24316        }
24317
24318    @classmethod
24319    def from_dict(cls, d):
24320        return cls(
24321            bind_interface=d.get('bind_interface'),
24322            database=d.get('database'),
24323            egress_filter=d.get('egress_filter'),
24324            healthy=d.get('healthy'),
24325            hostname=d.get('hostname'),
24326            id=d.get('id'),
24327            name=d.get('name'),
24328            override_database=d.get('override_database'),
24329            password=d.get('password'),
24330            port=d.get('port'),
24331            port_override=d.get('port_override'),
24332            proxy_cluster_id=d.get('proxy_cluster_id'),
24333            secret_store_id=d.get('secret_store_id'),
24334            subdomain=d.get('subdomain'),
24335            tags=d.get('tags'),
24336            username=d.get('username'),
24337        )
24338
24339
24340class RedshiftIAM:
24341    __slots__ = [
24342        'bind_interface',
24343        'cluster_id',
24344        'database',
24345        'egress_filter',
24346        'healthy',
24347        'hostname',
24348        'id',
24349        'name',
24350        'override_database',
24351        'port',
24352        'port_override',
24353        'proxy_cluster_id',
24354        'region',
24355        'role_assumption_arn',
24356        'secret_store_id',
24357        'subdomain',
24358        'tags',
24359    ]
24360
24361    def __init__(
24362        self,
24363        bind_interface=None,
24364        cluster_id=None,
24365        database=None,
24366        egress_filter=None,
24367        healthy=None,
24368        hostname=None,
24369        id=None,
24370        name=None,
24371        override_database=None,
24372        port=None,
24373        port_override=None,
24374        proxy_cluster_id=None,
24375        region=None,
24376        role_assumption_arn=None,
24377        secret_store_id=None,
24378        subdomain=None,
24379        tags=None,
24380    ):
24381        self.bind_interface = bind_interface if bind_interface is not None else ''
24382        '''
24383         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24384        '''
24385        self.cluster_id = cluster_id if cluster_id is not None else ''
24386        '''
24387         Cluster Identified of Redshift cluster
24388        '''
24389        self.database = database if database is not None else ''
24390        '''
24391         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24392        '''
24393        self.egress_filter = egress_filter if egress_filter is not None else ''
24394        '''
24395         A filter applied to the routing logic to pin datasource to nodes.
24396        '''
24397        self.healthy = healthy if healthy is not None else False
24398        '''
24399         True if the datasource is reachable and the credentials are valid.
24400        '''
24401        self.hostname = hostname if hostname is not None else ''
24402        '''
24403         The host to dial to initiate a connection from the egress node to this resource.
24404        '''
24405        self.id = id if id is not None else ''
24406        '''
24407         Unique identifier of the Resource.
24408        '''
24409        self.name = name if name is not None else ''
24410        '''
24411         Unique human-readable name of the Resource.
24412        '''
24413        self.override_database = override_database if override_database is not None else False
24414        '''
24415         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.
24416        '''
24417        self.port = port if port is not None else 0
24418        '''
24419         The port to dial to initiate a connection from the egress node to this resource.
24420        '''
24421        self.port_override = port_override if port_override is not None else 0
24422        '''
24423         The local port used by clients to connect to this resource.
24424        '''
24425        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24426        '''
24427         ID of the proxy cluster for this resource, if any.
24428        '''
24429        self.region = region if region is not None else ''
24430        '''
24431         The AWS region to connect to.
24432        '''
24433        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24434        '''
24435         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24436        '''
24437        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24438        '''
24439         ID of the secret store containing credentials for this resource, if any.
24440        '''
24441        self.subdomain = subdomain if subdomain is not None else ''
24442        '''
24443         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24444        '''
24445        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24446        '''
24447         Tags is a map of key, value pairs.
24448        '''
24449
24450    def __repr__(self):
24451        return '<sdm.RedshiftIAM ' + \
24452            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24453            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
24454            'database: ' + repr(self.database) + ' ' +\
24455            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24456            'healthy: ' + repr(self.healthy) + ' ' +\
24457            'hostname: ' + repr(self.hostname) + ' ' +\
24458            'id: ' + repr(self.id) + ' ' +\
24459            'name: ' + repr(self.name) + ' ' +\
24460            'override_database: ' + repr(self.override_database) + ' ' +\
24461            'port: ' + repr(self.port) + ' ' +\
24462            'port_override: ' + repr(self.port_override) + ' ' +\
24463            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24464            'region: ' + repr(self.region) + ' ' +\
24465            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24466            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24467            'subdomain: ' + repr(self.subdomain) + ' ' +\
24468            'tags: ' + repr(self.tags) + ' ' +\
24469            '>'
24470
24471    def to_dict(self):
24472        return {
24473            'bind_interface': self.bind_interface,
24474            'cluster_id': self.cluster_id,
24475            'database': self.database,
24476            'egress_filter': self.egress_filter,
24477            'healthy': self.healthy,
24478            'hostname': self.hostname,
24479            'id': self.id,
24480            'name': self.name,
24481            'override_database': self.override_database,
24482            'port': self.port,
24483            'port_override': self.port_override,
24484            'proxy_cluster_id': self.proxy_cluster_id,
24485            'region': self.region,
24486            'role_assumption_arn': self.role_assumption_arn,
24487            'secret_store_id': self.secret_store_id,
24488            'subdomain': self.subdomain,
24489            'tags': self.tags,
24490        }
24491
24492    @classmethod
24493    def from_dict(cls, d):
24494        return cls(
24495            bind_interface=d.get('bind_interface'),
24496            cluster_id=d.get('cluster_id'),
24497            database=d.get('database'),
24498            egress_filter=d.get('egress_filter'),
24499            healthy=d.get('healthy'),
24500            hostname=d.get('hostname'),
24501            id=d.get('id'),
24502            name=d.get('name'),
24503            override_database=d.get('override_database'),
24504            port=d.get('port'),
24505            port_override=d.get('port_override'),
24506            proxy_cluster_id=d.get('proxy_cluster_id'),
24507            region=d.get('region'),
24508            role_assumption_arn=d.get('role_assumption_arn'),
24509            secret_store_id=d.get('secret_store_id'),
24510            subdomain=d.get('subdomain'),
24511            tags=d.get('tags'),
24512        )
24513
24514
24515class RedshiftServerlessIAM:
24516    __slots__ = [
24517        'bind_interface',
24518        'database',
24519        'egress_filter',
24520        'healthy',
24521        'hostname',
24522        'id',
24523        'name',
24524        'override_database',
24525        'port',
24526        'port_override',
24527        'proxy_cluster_id',
24528        'region',
24529        'role_assumption_arn',
24530        'secret_store_id',
24531        'subdomain',
24532        'tags',
24533        'workgroup',
24534    ]
24535
24536    def __init__(
24537        self,
24538        bind_interface=None,
24539        database=None,
24540        egress_filter=None,
24541        healthy=None,
24542        hostname=None,
24543        id=None,
24544        name=None,
24545        override_database=None,
24546        port=None,
24547        port_override=None,
24548        proxy_cluster_id=None,
24549        region=None,
24550        role_assumption_arn=None,
24551        secret_store_id=None,
24552        subdomain=None,
24553        tags=None,
24554        workgroup=None,
24555    ):
24556        self.bind_interface = bind_interface if bind_interface is not None else ''
24557        '''
24558         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24559        '''
24560        self.database = database if database is not None else ''
24561        '''
24562         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24563        '''
24564        self.egress_filter = egress_filter if egress_filter is not None else ''
24565        '''
24566         A filter applied to the routing logic to pin datasource to nodes.
24567        '''
24568        self.healthy = healthy if healthy is not None else False
24569        '''
24570         True if the datasource is reachable and the credentials are valid.
24571        '''
24572        self.hostname = hostname if hostname is not None else ''
24573        '''
24574         The host to dial to initiate a connection from the egress node to this resource.
24575        '''
24576        self.id = id if id is not None else ''
24577        '''
24578         Unique identifier of the Resource.
24579        '''
24580        self.name = name if name is not None else ''
24581        '''
24582         Unique human-readable name of the Resource.
24583        '''
24584        self.override_database = override_database if override_database is not None else False
24585        '''
24586         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.
24587        '''
24588        self.port = port if port is not None else 0
24589        '''
24590         The port to dial to initiate a connection from the egress node to this resource.
24591        '''
24592        self.port_override = port_override if port_override is not None else 0
24593        '''
24594         The local port used by clients to connect to this resource.
24595        '''
24596        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24597        '''
24598         ID of the proxy cluster for this resource, if any.
24599        '''
24600        self.region = region if region is not None else ''
24601        '''
24602         The AWS region to connect to.
24603        '''
24604        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24605        '''
24606         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24607        '''
24608        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24609        '''
24610         ID of the secret store containing credentials for this resource, if any.
24611        '''
24612        self.subdomain = subdomain if subdomain is not None else ''
24613        '''
24614         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24615        '''
24616        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24617        '''
24618         Tags is a map of key, value pairs.
24619        '''
24620        self.workgroup = workgroup if workgroup is not None else ''
24621        '''
24622         Workgroup name in the serverless Redshift
24623        '''
24624
24625    def __repr__(self):
24626        return '<sdm.RedshiftServerlessIAM ' + \
24627            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24628            'database: ' + repr(self.database) + ' ' +\
24629            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24630            'healthy: ' + repr(self.healthy) + ' ' +\
24631            'hostname: ' + repr(self.hostname) + ' ' +\
24632            'id: ' + repr(self.id) + ' ' +\
24633            'name: ' + repr(self.name) + ' ' +\
24634            'override_database: ' + repr(self.override_database) + ' ' +\
24635            'port: ' + repr(self.port) + ' ' +\
24636            'port_override: ' + repr(self.port_override) + ' ' +\
24637            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24638            'region: ' + repr(self.region) + ' ' +\
24639            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24640            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24641            'subdomain: ' + repr(self.subdomain) + ' ' +\
24642            'tags: ' + repr(self.tags) + ' ' +\
24643            'workgroup: ' + repr(self.workgroup) + ' ' +\
24644            '>'
24645
24646    def to_dict(self):
24647        return {
24648            'bind_interface': self.bind_interface,
24649            'database': self.database,
24650            'egress_filter': self.egress_filter,
24651            'healthy': self.healthy,
24652            'hostname': self.hostname,
24653            'id': self.id,
24654            'name': self.name,
24655            'override_database': self.override_database,
24656            'port': self.port,
24657            'port_override': self.port_override,
24658            'proxy_cluster_id': self.proxy_cluster_id,
24659            'region': self.region,
24660            'role_assumption_arn': self.role_assumption_arn,
24661            'secret_store_id': self.secret_store_id,
24662            'subdomain': self.subdomain,
24663            'tags': self.tags,
24664            'workgroup': self.workgroup,
24665        }
24666
24667    @classmethod
24668    def from_dict(cls, d):
24669        return cls(
24670            bind_interface=d.get('bind_interface'),
24671            database=d.get('database'),
24672            egress_filter=d.get('egress_filter'),
24673            healthy=d.get('healthy'),
24674            hostname=d.get('hostname'),
24675            id=d.get('id'),
24676            name=d.get('name'),
24677            override_database=d.get('override_database'),
24678            port=d.get('port'),
24679            port_override=d.get('port_override'),
24680            proxy_cluster_id=d.get('proxy_cluster_id'),
24681            region=d.get('region'),
24682            role_assumption_arn=d.get('role_assumption_arn'),
24683            secret_store_id=d.get('secret_store_id'),
24684            subdomain=d.get('subdomain'),
24685            tags=d.get('tags'),
24686            workgroup=d.get('workgroup'),
24687        )
24688
24689
24690class Relay:
24691    '''
24692         Relay represents a StrongDM CLI installation running in relay mode.
24693    '''
24694    __slots__ = [
24695        'device',
24696        'gateway_filter',
24697        'id',
24698        'location',
24699        'maintenance_windows',
24700        'name',
24701        'state',
24702        'tags',
24703        'version',
24704    ]
24705
24706    def __init__(
24707        self,
24708        device=None,
24709        gateway_filter=None,
24710        id=None,
24711        location=None,
24712        maintenance_windows=None,
24713        name=None,
24714        state=None,
24715        tags=None,
24716        version=None,
24717    ):
24718        self.device = device if device is not None else ''
24719        '''
24720         Device is a read only device name uploaded by the gateway process when
24721         it comes online.
24722        '''
24723        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24724        '''
24725         GatewayFilter can be used to restrict the peering between relays and
24726         gateways. Deprecated.
24727        '''
24728        self.id = id if id is not None else ''
24729        '''
24730         Unique identifier of the Relay.
24731        '''
24732        self.location = location if location is not None else ''
24733        '''
24734         Location is a read only network location uploaded by the gateway process
24735         when it comes online.
24736        '''
24737        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24738        '''
24739         Maintenance Windows define when this node is allowed to restart. If a node
24740         is requested to restart, it will check each window to determine if any of
24741         them permit it to restart, and if any do, it will. This check is repeated
24742         per window until the restart is successfully completed.
24743         
24744         If not set here, may be set on the command line or via an environment variable
24745         on the process itself; any server setting will take precedence over local
24746         settings. This setting is ineffective for nodes below version 38.44.0.
24747         
24748         If this setting is not applied via this remote configuration or via local
24749         configuration, the default setting is used: always allow restarts if serving
24750         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24751        '''
24752        self.name = name if name is not None else ''
24753        '''
24754         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.
24755        '''
24756        self.state = state if state is not None else ''
24757        '''
24758         The current state of the relay, one of the NodeState constants.
24759        '''
24760        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24761        '''
24762         Tags is a map of key, value pairs.
24763        '''
24764        self.version = version if version is not None else ''
24765        '''
24766         Version is a read only sdm binary version uploaded by the gateway process
24767         when it comes online.
24768        '''
24769
24770    def __repr__(self):
24771        return '<sdm.Relay ' + \
24772            'device: ' + repr(self.device) + ' ' +\
24773            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24774            'id: ' + repr(self.id) + ' ' +\
24775            'location: ' + repr(self.location) + ' ' +\
24776            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24777            'name: ' + repr(self.name) + ' ' +\
24778            'state: ' + repr(self.state) + ' ' +\
24779            'tags: ' + repr(self.tags) + ' ' +\
24780            'version: ' + repr(self.version) + ' ' +\
24781            '>'
24782
24783    def to_dict(self):
24784        return {
24785            'device': self.device,
24786            'gateway_filter': self.gateway_filter,
24787            'id': self.id,
24788            'location': self.location,
24789            'maintenance_windows': self.maintenance_windows,
24790            'name': self.name,
24791            'state': self.state,
24792            'tags': self.tags,
24793            'version': self.version,
24794        }
24795
24796    @classmethod
24797    def from_dict(cls, d):
24798        return cls(
24799            device=d.get('device'),
24800            gateway_filter=d.get('gateway_filter'),
24801            id=d.get('id'),
24802            location=d.get('location'),
24803            maintenance_windows=d.get('maintenance_windows'),
24804            name=d.get('name'),
24805            state=d.get('state'),
24806            tags=d.get('tags'),
24807            version=d.get('version'),
24808        )
24809
24810
24811class RemoteIdentity:
24812    '''
24813         RemoteIdentities define the username to be used for a specific account
24814     when connecting to a remote resource using that group.
24815    '''
24816    __slots__ = [
24817        'account_id',
24818        'id',
24819        'remote_identity_group_id',
24820        'username',
24821    ]
24822
24823    def __init__(
24824        self,
24825        account_id=None,
24826        id=None,
24827        remote_identity_group_id=None,
24828        username=None,
24829    ):
24830        self.account_id = account_id if account_id is not None else ''
24831        '''
24832         The account for this remote identity.
24833        '''
24834        self.id = id if id is not None else ''
24835        '''
24836         Unique identifier of the RemoteIdentity.
24837        '''
24838        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24839        '''
24840         The remote identity group.
24841        '''
24842        self.username = username if username is not None else ''
24843        '''
24844         The username to be used as the remote identity for this account.
24845        '''
24846
24847    def __repr__(self):
24848        return '<sdm.RemoteIdentity ' + \
24849            'account_id: ' + repr(self.account_id) + ' ' +\
24850            'id: ' + repr(self.id) + ' ' +\
24851            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24852            'username: ' + repr(self.username) + ' ' +\
24853            '>'
24854
24855    def to_dict(self):
24856        return {
24857            'account_id': self.account_id,
24858            'id': self.id,
24859            'remote_identity_group_id': self.remote_identity_group_id,
24860            'username': self.username,
24861        }
24862
24863    @classmethod
24864    def from_dict(cls, d):
24865        return cls(
24866            account_id=d.get('account_id'),
24867            id=d.get('id'),
24868            remote_identity_group_id=d.get('remote_identity_group_id'),
24869            username=d.get('username'),
24870        )
24871
24872
24873class RemoteIdentityCreateResponse:
24874    '''
24875         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24876    '''
24877    __slots__ = [
24878        'meta',
24879        'rate_limit',
24880        'remote_identity',
24881    ]
24882
24883    def __init__(
24884        self,
24885        meta=None,
24886        rate_limit=None,
24887        remote_identity=None,
24888    ):
24889        self.meta = meta if meta is not None else None
24890        '''
24891         Reserved for future use.
24892        '''
24893        self.rate_limit = rate_limit if rate_limit is not None else None
24894        '''
24895         Rate limit information.
24896        '''
24897        self.remote_identity = remote_identity if remote_identity is not None else None
24898        '''
24899         The created RemoteIdentity.
24900        '''
24901
24902    def __repr__(self):
24903        return '<sdm.RemoteIdentityCreateResponse ' + \
24904            'meta: ' + repr(self.meta) + ' ' +\
24905            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24906            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24907            '>'
24908
24909    def to_dict(self):
24910        return {
24911            'meta': self.meta,
24912            'rate_limit': self.rate_limit,
24913            'remote_identity': self.remote_identity,
24914        }
24915
24916    @classmethod
24917    def from_dict(cls, d):
24918        return cls(
24919            meta=d.get('meta'),
24920            rate_limit=d.get('rate_limit'),
24921            remote_identity=d.get('remote_identity'),
24922        )
24923
24924
24925class RemoteIdentityDeleteResponse:
24926    '''
24927         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24928    '''
24929    __slots__ = [
24930        'meta',
24931        'rate_limit',
24932    ]
24933
24934    def __init__(
24935        self,
24936        meta=None,
24937        rate_limit=None,
24938    ):
24939        self.meta = meta if meta is not None else None
24940        '''
24941         Reserved for future use.
24942        '''
24943        self.rate_limit = rate_limit if rate_limit is not None else None
24944        '''
24945         Rate limit information.
24946        '''
24947
24948    def __repr__(self):
24949        return '<sdm.RemoteIdentityDeleteResponse ' + \
24950            'meta: ' + repr(self.meta) + ' ' +\
24951            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24952            '>'
24953
24954    def to_dict(self):
24955        return {
24956            'meta': self.meta,
24957            'rate_limit': self.rate_limit,
24958        }
24959
24960    @classmethod
24961    def from_dict(cls, d):
24962        return cls(
24963            meta=d.get('meta'),
24964            rate_limit=d.get('rate_limit'),
24965        )
24966
24967
24968class RemoteIdentityGetResponse:
24969    '''
24970         RemoteIdentityGetResponse returns a requested RemoteIdentity.
24971    '''
24972    __slots__ = [
24973        'meta',
24974        'rate_limit',
24975        'remote_identity',
24976    ]
24977
24978    def __init__(
24979        self,
24980        meta=None,
24981        rate_limit=None,
24982        remote_identity=None,
24983    ):
24984        self.meta = meta if meta is not None else None
24985        '''
24986         Reserved for future use.
24987        '''
24988        self.rate_limit = rate_limit if rate_limit is not None else None
24989        '''
24990         Rate limit information.
24991        '''
24992        self.remote_identity = remote_identity if remote_identity is not None else None
24993        '''
24994         The requested RemoteIdentity.
24995        '''
24996
24997    def __repr__(self):
24998        return '<sdm.RemoteIdentityGetResponse ' + \
24999            'meta: ' + repr(self.meta) + ' ' +\
25000            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25001            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25002            '>'
25003
25004    def to_dict(self):
25005        return {
25006            'meta': self.meta,
25007            'rate_limit': self.rate_limit,
25008            'remote_identity': self.remote_identity,
25009        }
25010
25011    @classmethod
25012    def from_dict(cls, d):
25013        return cls(
25014            meta=d.get('meta'),
25015            rate_limit=d.get('rate_limit'),
25016            remote_identity=d.get('remote_identity'),
25017        )
25018
25019
25020class RemoteIdentityGroup:
25021    '''
25022         A RemoteIdentityGroup defines a group of remote identities.
25023    '''
25024    __slots__ = [
25025        'id',
25026        'name',
25027    ]
25028
25029    def __init__(
25030        self,
25031        id=None,
25032        name=None,
25033    ):
25034        self.id = id if id is not None else ''
25035        '''
25036         Unique identifier of the RemoteIdentityGroup.
25037        '''
25038        self.name = name if name is not None else ''
25039        '''
25040         Unique human-readable name of the RemoteIdentityGroup.
25041        '''
25042
25043    def __repr__(self):
25044        return '<sdm.RemoteIdentityGroup ' + \
25045            'id: ' + repr(self.id) + ' ' +\
25046            'name: ' + repr(self.name) + ' ' +\
25047            '>'
25048
25049    def to_dict(self):
25050        return {
25051            'id': self.id,
25052            'name': self.name,
25053        }
25054
25055    @classmethod
25056    def from_dict(cls, d):
25057        return cls(
25058            id=d.get('id'),
25059            name=d.get('name'),
25060        )
25061
25062
25063class RemoteIdentityGroupGetResponse:
25064    '''
25065         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
25066    '''
25067    __slots__ = [
25068        'meta',
25069        'rate_limit',
25070        'remote_identity_group',
25071    ]
25072
25073    def __init__(
25074        self,
25075        meta=None,
25076        rate_limit=None,
25077        remote_identity_group=None,
25078    ):
25079        self.meta = meta if meta is not None else None
25080        '''
25081         Reserved for future use.
25082        '''
25083        self.rate_limit = rate_limit if rate_limit is not None else None
25084        '''
25085         Rate limit information.
25086        '''
25087        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25088        '''
25089         The requested RemoteIdentityGroup.
25090        '''
25091
25092    def __repr__(self):
25093        return '<sdm.RemoteIdentityGroupGetResponse ' + \
25094            'meta: ' + repr(self.meta) + ' ' +\
25095            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25096            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
25097            '>'
25098
25099    def to_dict(self):
25100        return {
25101            'meta': self.meta,
25102            'rate_limit': self.rate_limit,
25103            'remote_identity_group': self.remote_identity_group,
25104        }
25105
25106    @classmethod
25107    def from_dict(cls, d):
25108        return cls(
25109            meta=d.get('meta'),
25110            rate_limit=d.get('rate_limit'),
25111            remote_identity_group=d.get('remote_identity_group'),
25112        )
25113
25114
25115class RemoteIdentityGroupHistory:
25116    '''
25117         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
25118     where every change (create, update and delete) to a RemoteIdentityGroup produces an
25119     RemoteIdentityGroupHistory record.
25120    '''
25121    __slots__ = [
25122        'activity_id',
25123        'deleted_at',
25124        'remote_identity_group',
25125        'timestamp',
25126    ]
25127
25128    def __init__(
25129        self,
25130        activity_id=None,
25131        deleted_at=None,
25132        remote_identity_group=None,
25133        timestamp=None,
25134    ):
25135        self.activity_id = activity_id if activity_id is not None else ''
25136        '''
25137         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
25138         May be empty for some system-initiated updates.
25139        '''
25140        self.deleted_at = deleted_at if deleted_at is not None else None
25141        '''
25142         If this RemoteIdentityGroup was deleted, the time it was deleted.
25143        '''
25144        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25145        '''
25146         The complete RemoteIdentityGroup state at this time.
25147        '''
25148        self.timestamp = timestamp if timestamp is not None else None
25149        '''
25150         The time at which the RemoteIdentityGroup state was recorded.
25151        '''
25152
25153    def __repr__(self):
25154        return '<sdm.RemoteIdentityGroupHistory ' + \
25155            'activity_id: ' + repr(self.activity_id) + ' ' +\
25156            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25157            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
25158            'timestamp: ' + repr(self.timestamp) + ' ' +\
25159            '>'
25160
25161    def to_dict(self):
25162        return {
25163            'activity_id': self.activity_id,
25164            'deleted_at': self.deleted_at,
25165            'remote_identity_group': self.remote_identity_group,
25166            'timestamp': self.timestamp,
25167        }
25168
25169    @classmethod
25170    def from_dict(cls, d):
25171        return cls(
25172            activity_id=d.get('activity_id'),
25173            deleted_at=d.get('deleted_at'),
25174            remote_identity_group=d.get('remote_identity_group'),
25175            timestamp=d.get('timestamp'),
25176        )
25177
25178
25179class RemoteIdentityHistory:
25180    '''
25181         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
25182     where every change (create, update and delete) to a RemoteIdentity produces an
25183     RemoteIdentityHistory record.
25184    '''
25185    __slots__ = [
25186        'activity_id',
25187        'deleted_at',
25188        'remote_identity',
25189        'timestamp',
25190    ]
25191
25192    def __init__(
25193        self,
25194        activity_id=None,
25195        deleted_at=None,
25196        remote_identity=None,
25197        timestamp=None,
25198    ):
25199        self.activity_id = activity_id if activity_id is not None else ''
25200        '''
25201         The unique identifier of the Activity that produced this change to the RemoteIdentity.
25202         May be empty for some system-initiated updates.
25203        '''
25204        self.deleted_at = deleted_at if deleted_at is not None else None
25205        '''
25206         If this RemoteIdentity was deleted, the time it was deleted.
25207        '''
25208        self.remote_identity = remote_identity if remote_identity is not None else None
25209        '''
25210         The complete RemoteIdentity state at this time.
25211        '''
25212        self.timestamp = timestamp if timestamp is not None else None
25213        '''
25214         The time at which the RemoteIdentity state was recorded.
25215        '''
25216
25217    def __repr__(self):
25218        return '<sdm.RemoteIdentityHistory ' + \
25219            'activity_id: ' + repr(self.activity_id) + ' ' +\
25220            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25221            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25222            'timestamp: ' + repr(self.timestamp) + ' ' +\
25223            '>'
25224
25225    def to_dict(self):
25226        return {
25227            'activity_id': self.activity_id,
25228            'deleted_at': self.deleted_at,
25229            'remote_identity': self.remote_identity,
25230            'timestamp': self.timestamp,
25231        }
25232
25233    @classmethod
25234    def from_dict(cls, d):
25235        return cls(
25236            activity_id=d.get('activity_id'),
25237            deleted_at=d.get('deleted_at'),
25238            remote_identity=d.get('remote_identity'),
25239            timestamp=d.get('timestamp'),
25240        )
25241
25242
25243class RemoteIdentityUpdateResponse:
25244    '''
25245         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
25246     a RemoteIdentityUpdateRequest.
25247    '''
25248    __slots__ = [
25249        'meta',
25250        'rate_limit',
25251        'remote_identity',
25252    ]
25253
25254    def __init__(
25255        self,
25256        meta=None,
25257        rate_limit=None,
25258        remote_identity=None,
25259    ):
25260        self.meta = meta if meta is not None else None
25261        '''
25262         Reserved for future use.
25263        '''
25264        self.rate_limit = rate_limit if rate_limit is not None else None
25265        '''
25266         Rate limit information.
25267        '''
25268        self.remote_identity = remote_identity if remote_identity is not None else None
25269        '''
25270         The updated RemoteIdentity.
25271        '''
25272
25273    def __repr__(self):
25274        return '<sdm.RemoteIdentityUpdateResponse ' + \
25275            'meta: ' + repr(self.meta) + ' ' +\
25276            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25277            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25278            '>'
25279
25280    def to_dict(self):
25281        return {
25282            'meta': self.meta,
25283            'rate_limit': self.rate_limit,
25284            'remote_identity': self.remote_identity,
25285        }
25286
25287    @classmethod
25288    def from_dict(cls, d):
25289        return cls(
25290            meta=d.get('meta'),
25291            rate_limit=d.get('rate_limit'),
25292            remote_identity=d.get('remote_identity'),
25293        )
25294
25295
25296class ReplayChunk:
25297    '''
25298         A ReplayChunk represents a single "chunk" of data from the query replay.
25299    '''
25300    __slots__ = [
25301        'data',
25302        'events',
25303        'symmetric_key',
25304    ]
25305
25306    def __init__(
25307        self,
25308        data=None,
25309        events=None,
25310        symmetric_key=None,
25311    ):
25312        self.data = data if data is not None else b''
25313        '''
25314         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
25315        '''
25316        self.events = events if events is not None else []
25317        '''
25318         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
25319         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
25320        '''
25321        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
25322        '''
25323         If the data is encrypted, this contains the encrypted symmetric key
25324        '''
25325
25326    def __repr__(self):
25327        return '<sdm.ReplayChunk ' + \
25328            'data: ' + repr(self.data) + ' ' +\
25329            'events: ' + repr(self.events) + ' ' +\
25330            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
25331            '>'
25332
25333    def to_dict(self):
25334        return {
25335            'data': self.data,
25336            'events': self.events,
25337            'symmetric_key': self.symmetric_key,
25338        }
25339
25340    @classmethod
25341    def from_dict(cls, d):
25342        return cls(
25343            data=d.get('data'),
25344            events=d.get('events'),
25345            symmetric_key=d.get('symmetric_key'),
25346        )
25347
25348
25349class ReplayChunkEvent:
25350    '''
25351         A ReplayChunkEvent represents a single event within a query replay.
25352     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
25353    '''
25354    __slots__ = [
25355        'data',
25356        'duration',
25357    ]
25358
25359    def __init__(
25360        self,
25361        data=None,
25362        duration=None,
25363    ):
25364        self.data = data if data is not None else b''
25365        '''
25366         The raw data of the ReplayChunkEvent.
25367        '''
25368        self.duration = duration if duration is not None else None
25369        '''
25370         The time duration over which the data in this ReplayChunkEvent was transferred.
25371        '''
25372
25373    def __repr__(self):
25374        return '<sdm.ReplayChunkEvent ' + \
25375            'data: ' + repr(self.data) + ' ' +\
25376            'duration: ' + repr(self.duration) + ' ' +\
25377            '>'
25378
25379    def to_dict(self):
25380        return {
25381            'data': self.data,
25382            'duration': self.duration,
25383        }
25384
25385    @classmethod
25386    def from_dict(cls, d):
25387        return cls(
25388            data=d.get('data'),
25389            duration=d.get('duration'),
25390        )
25391
25392
25393class RequestableResource:
25394    '''
25395         RequestableResource is a resource that can be requested via an AccessRequestConfig
25396    '''
25397    __slots__ = [
25398        'access',
25399        'authentication',
25400        'healthy',
25401        'id',
25402        'name',
25403        'tags',
25404        'type',
25405    ]
25406
25407    def __init__(
25408        self,
25409        access=None,
25410        authentication=None,
25411        healthy=None,
25412        id=None,
25413        name=None,
25414        tags=None,
25415        type=None,
25416    ):
25417        self.access = access if access is not None else ''
25418        '''
25419         The current state of the user's access to the resources
25420        '''
25421        self.authentication = authentication if authentication is not None else ''
25422        '''
25423         The type of authentication for the resource
25424        '''
25425        self.healthy = healthy if healthy is not None else False
25426        '''
25427         The health check status of the reasource
25428        '''
25429        self.id = id if id is not None else ''
25430        '''
25431         The resource id.
25432        '''
25433        self.name = name if name is not None else ''
25434        '''
25435         The resource name.
25436        '''
25437        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25438        '''
25439         Any tags attached to this resource
25440        '''
25441        self.type = type if type is not None else ''
25442        '''
25443         The resource type
25444        '''
25445
25446    def __repr__(self):
25447        return '<sdm.RequestableResource ' + \
25448            'access: ' + repr(self.access) + ' ' +\
25449            'authentication: ' + repr(self.authentication) + ' ' +\
25450            'healthy: ' + repr(self.healthy) + ' ' +\
25451            'id: ' + repr(self.id) + ' ' +\
25452            'name: ' + repr(self.name) + ' ' +\
25453            'tags: ' + repr(self.tags) + ' ' +\
25454            'type: ' + repr(self.type) + ' ' +\
25455            '>'
25456
25457    def to_dict(self):
25458        return {
25459            'access': self.access,
25460            'authentication': self.authentication,
25461            'healthy': self.healthy,
25462            'id': self.id,
25463            'name': self.name,
25464            'tags': self.tags,
25465            'type': self.type,
25466        }
25467
25468    @classmethod
25469    def from_dict(cls, d):
25470        return cls(
25471            access=d.get('access'),
25472            authentication=d.get('authentication'),
25473            healthy=d.get('healthy'),
25474            id=d.get('id'),
25475            name=d.get('name'),
25476            tags=d.get('tags'),
25477            type=d.get('type'),
25478        )
25479
25480
25481class ResourceCreateResponse:
25482    '''
25483         ResourceCreateResponse reports how the Resources were created in the system.
25484    '''
25485    __slots__ = [
25486        'meta',
25487        'rate_limit',
25488        'resource',
25489    ]
25490
25491    def __init__(
25492        self,
25493        meta=None,
25494        rate_limit=None,
25495        resource=None,
25496    ):
25497        self.meta = meta if meta is not None else None
25498        '''
25499         Reserved for future use.
25500        '''
25501        self.rate_limit = rate_limit if rate_limit is not None else None
25502        '''
25503         Rate limit information.
25504        '''
25505        self.resource = resource if resource is not None else None
25506        '''
25507         The created Resource.
25508        '''
25509
25510    def __repr__(self):
25511        return '<sdm.ResourceCreateResponse ' + \
25512            'meta: ' + repr(self.meta) + ' ' +\
25513            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25514            'resource: ' + repr(self.resource) + ' ' +\
25515            '>'
25516
25517    def to_dict(self):
25518        return {
25519            'meta': self.meta,
25520            'rate_limit': self.rate_limit,
25521            'resource': self.resource,
25522        }
25523
25524    @classmethod
25525    def from_dict(cls, d):
25526        return cls(
25527            meta=d.get('meta'),
25528            rate_limit=d.get('rate_limit'),
25529            resource=d.get('resource'),
25530        )
25531
25532
25533class ResourceDeleteResponse:
25534    '''
25535         ResourceDeleteResponse returns information about a Resource that was deleted.
25536    '''
25537    __slots__ = [
25538        'meta',
25539        'rate_limit',
25540    ]
25541
25542    def __init__(
25543        self,
25544        meta=None,
25545        rate_limit=None,
25546    ):
25547        self.meta = meta if meta is not None else None
25548        '''
25549         Reserved for future use.
25550        '''
25551        self.rate_limit = rate_limit if rate_limit is not None else None
25552        '''
25553         Rate limit information.
25554        '''
25555
25556    def __repr__(self):
25557        return '<sdm.ResourceDeleteResponse ' + \
25558            'meta: ' + repr(self.meta) + ' ' +\
25559            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25560            '>'
25561
25562    def to_dict(self):
25563        return {
25564            'meta': self.meta,
25565            'rate_limit': self.rate_limit,
25566        }
25567
25568    @classmethod
25569    def from_dict(cls, d):
25570        return cls(
25571            meta=d.get('meta'),
25572            rate_limit=d.get('rate_limit'),
25573        )
25574
25575
25576class ResourceGetResponse:
25577    '''
25578         ResourceGetResponse returns a requested Resource.
25579    '''
25580    __slots__ = [
25581        'meta',
25582        'rate_limit',
25583        'resource',
25584    ]
25585
25586    def __init__(
25587        self,
25588        meta=None,
25589        rate_limit=None,
25590        resource=None,
25591    ):
25592        self.meta = meta if meta is not None else None
25593        '''
25594         Reserved for future use.
25595        '''
25596        self.rate_limit = rate_limit if rate_limit is not None else None
25597        '''
25598         Rate limit information.
25599        '''
25600        self.resource = resource if resource is not None else None
25601        '''
25602         The requested Resource.
25603        '''
25604
25605    def __repr__(self):
25606        return '<sdm.ResourceGetResponse ' + \
25607            'meta: ' + repr(self.meta) + ' ' +\
25608            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25609            'resource: ' + repr(self.resource) + ' ' +\
25610            '>'
25611
25612    def to_dict(self):
25613        return {
25614            'meta': self.meta,
25615            'rate_limit': self.rate_limit,
25616            'resource': self.resource,
25617        }
25618
25619    @classmethod
25620    def from_dict(cls, d):
25621        return cls(
25622            meta=d.get('meta'),
25623            rate_limit=d.get('rate_limit'),
25624            resource=d.get('resource'),
25625        )
25626
25627
25628class ResourceHealthcheckRequest:
25629    '''
25630         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25631    '''
25632    __slots__ = [
25633        'id',
25634    ]
25635
25636    def __init__(
25637        self,
25638        id=None,
25639    ):
25640        self.id = id if id is not None else ''
25641        '''
25642         The unique identifier of the Resource to healthcheck.
25643        '''
25644
25645    def __repr__(self):
25646        return '<sdm.ResourceHealthcheckRequest ' + \
25647            'id: ' + repr(self.id) + ' ' +\
25648            '>'
25649
25650    def to_dict(self):
25651        return {
25652            'id': self.id,
25653        }
25654
25655    @classmethod
25656    def from_dict(cls, d):
25657        return cls(id=d.get('id'), )
25658
25659
25660class ResourceHealthcheckResponse:
25661    '''
25662         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25663     Healthchecks are non blocking, and this contains no non-metadata.
25664    '''
25665    __slots__ = [
25666        'meta',
25667        'rate_limit',
25668    ]
25669
25670    def __init__(
25671        self,
25672        meta=None,
25673        rate_limit=None,
25674    ):
25675        self.meta = meta if meta is not None else None
25676        '''
25677         Reserved for future use.
25678        '''
25679        self.rate_limit = rate_limit if rate_limit is not None else None
25680        '''
25681         Rate limit information.
25682        '''
25683
25684    def __repr__(self):
25685        return '<sdm.ResourceHealthcheckResponse ' + \
25686            'meta: ' + repr(self.meta) + ' ' +\
25687            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25688            '>'
25689
25690    def to_dict(self):
25691        return {
25692            'meta': self.meta,
25693            'rate_limit': self.rate_limit,
25694        }
25695
25696    @classmethod
25697    def from_dict(cls, d):
25698        return cls(
25699            meta=d.get('meta'),
25700            rate_limit=d.get('rate_limit'),
25701        )
25702
25703
25704class ResourceHistory:
25705    '''
25706         ResourceHistory records the state of a Resource at a given point in time,
25707     where every change (create, update and delete) to a Resource produces an
25708     ResourceHistory record.
25709    '''
25710    __slots__ = [
25711        'activity_id',
25712        'deleted_at',
25713        'resource',
25714        'timestamp',
25715    ]
25716
25717    def __init__(
25718        self,
25719        activity_id=None,
25720        deleted_at=None,
25721        resource=None,
25722        timestamp=None,
25723    ):
25724        self.activity_id = activity_id if activity_id is not None else ''
25725        '''
25726         The unique identifier of the Activity that produced this change to the Resource.
25727         May be empty for some system-initiated updates.
25728        '''
25729        self.deleted_at = deleted_at if deleted_at is not None else None
25730        '''
25731         If this Resource was deleted, the time it was deleted.
25732        '''
25733        self.resource = resource if resource is not None else None
25734        '''
25735         The complete Resource state at this time.
25736        '''
25737        self.timestamp = timestamp if timestamp is not None else None
25738        '''
25739         The time at which the Resource state was recorded.
25740        '''
25741
25742    def __repr__(self):
25743        return '<sdm.ResourceHistory ' + \
25744            'activity_id: ' + repr(self.activity_id) + ' ' +\
25745            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25746            'resource: ' + repr(self.resource) + ' ' +\
25747            'timestamp: ' + repr(self.timestamp) + ' ' +\
25748            '>'
25749
25750    def to_dict(self):
25751        return {
25752            'activity_id': self.activity_id,
25753            'deleted_at': self.deleted_at,
25754            'resource': self.resource,
25755            'timestamp': self.timestamp,
25756        }
25757
25758    @classmethod
25759    def from_dict(cls, d):
25760        return cls(
25761            activity_id=d.get('activity_id'),
25762            deleted_at=d.get('deleted_at'),
25763            resource=d.get('resource'),
25764            timestamp=d.get('timestamp'),
25765        )
25766
25767
25768class ResourceUpdateResponse:
25769    '''
25770         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25771     a ResourceUpdateRequest.
25772    '''
25773    __slots__ = [
25774        'meta',
25775        'rate_limit',
25776        'resource',
25777    ]
25778
25779    def __init__(
25780        self,
25781        meta=None,
25782        rate_limit=None,
25783        resource=None,
25784    ):
25785        self.meta = meta if meta is not None else None
25786        '''
25787         Reserved for future use.
25788        '''
25789        self.rate_limit = rate_limit if rate_limit is not None else None
25790        '''
25791         Rate limit information.
25792        '''
25793        self.resource = resource if resource is not None else None
25794        '''
25795         The updated Resource.
25796        '''
25797
25798    def __repr__(self):
25799        return '<sdm.ResourceUpdateResponse ' + \
25800            'meta: ' + repr(self.meta) + ' ' +\
25801            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25802            'resource: ' + repr(self.resource) + ' ' +\
25803            '>'
25804
25805    def to_dict(self):
25806        return {
25807            'meta': self.meta,
25808            'rate_limit': self.rate_limit,
25809            'resource': self.resource,
25810        }
25811
25812    @classmethod
25813    def from_dict(cls, d):
25814        return cls(
25815            meta=d.get('meta'),
25816            rate_limit=d.get('rate_limit'),
25817            resource=d.get('resource'),
25818        )
25819
25820
25821class Role:
25822    '''
25823         A Role has a list of access rules which determine which Resources the members
25824     of the Role have access to. An Account can be a member of multiple Roles via
25825     AccountAttachments.
25826    '''
25827    __slots__ = [
25828        'access_rules',
25829        'id',
25830        'managed_by',
25831        'name',
25832        'tags',
25833    ]
25834
25835    def __init__(
25836        self,
25837        access_rules=None,
25838        id=None,
25839        managed_by=None,
25840        name=None,
25841        tags=None,
25842    ):
25843        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25844        )
25845        '''
25846         AccessRules is a list of access rules defining the resources this Role has access to.
25847        '''
25848        self.id = id if id is not None else ''
25849        '''
25850         Unique identifier of the Role.
25851        '''
25852        self.managed_by = managed_by if managed_by is not None else ''
25853        '''
25854         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25855        '''
25856        self.name = name if name is not None else ''
25857        '''
25858         Unique human-readable name of the Role.
25859        '''
25860        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25861        '''
25862         Tags is a map of key, value pairs.
25863        '''
25864
25865    def __repr__(self):
25866        return '<sdm.Role ' + \
25867            'access_rules: ' + repr(self.access_rules) + ' ' +\
25868            'id: ' + repr(self.id) + ' ' +\
25869            'managed_by: ' + repr(self.managed_by) + ' ' +\
25870            'name: ' + repr(self.name) + ' ' +\
25871            'tags: ' + repr(self.tags) + ' ' +\
25872            '>'
25873
25874    def to_dict(self):
25875        return {
25876            'access_rules': self.access_rules,
25877            'id': self.id,
25878            'managed_by': self.managed_by,
25879            'name': self.name,
25880            'tags': self.tags,
25881        }
25882
25883    @classmethod
25884    def from_dict(cls, d):
25885        return cls(
25886            access_rules=d.get('access_rules'),
25887            id=d.get('id'),
25888            managed_by=d.get('managed_by'),
25889            name=d.get('name'),
25890            tags=d.get('tags'),
25891        )
25892
25893
25894class RoleCreateResponse:
25895    '''
25896         RoleCreateResponse reports how the Roles were created in the system. It can
25897     communicate partial successes or failures.
25898    '''
25899    __slots__ = [
25900        'meta',
25901        'rate_limit',
25902        'role',
25903    ]
25904
25905    def __init__(
25906        self,
25907        meta=None,
25908        rate_limit=None,
25909        role=None,
25910    ):
25911        self.meta = meta if meta is not None else None
25912        '''
25913         Reserved for future use.
25914        '''
25915        self.rate_limit = rate_limit if rate_limit is not None else None
25916        '''
25917         Rate limit information.
25918        '''
25919        self.role = role if role is not None else None
25920        '''
25921         The created Role.
25922        '''
25923
25924    def __repr__(self):
25925        return '<sdm.RoleCreateResponse ' + \
25926            'meta: ' + repr(self.meta) + ' ' +\
25927            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25928            'role: ' + repr(self.role) + ' ' +\
25929            '>'
25930
25931    def to_dict(self):
25932        return {
25933            'meta': self.meta,
25934            'rate_limit': self.rate_limit,
25935            'role': self.role,
25936        }
25937
25938    @classmethod
25939    def from_dict(cls, d):
25940        return cls(
25941            meta=d.get('meta'),
25942            rate_limit=d.get('rate_limit'),
25943            role=d.get('role'),
25944        )
25945
25946
25947class RoleDeleteResponse:
25948    '''
25949         RoleDeleteResponse returns information about a Role that was deleted.
25950    '''
25951    __slots__ = [
25952        'meta',
25953        'rate_limit',
25954    ]
25955
25956    def __init__(
25957        self,
25958        meta=None,
25959        rate_limit=None,
25960    ):
25961        self.meta = meta if meta is not None else None
25962        '''
25963         Reserved for future use.
25964        '''
25965        self.rate_limit = rate_limit if rate_limit is not None else None
25966        '''
25967         Rate limit information.
25968        '''
25969
25970    def __repr__(self):
25971        return '<sdm.RoleDeleteResponse ' + \
25972            'meta: ' + repr(self.meta) + ' ' +\
25973            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25974            '>'
25975
25976    def to_dict(self):
25977        return {
25978            'meta': self.meta,
25979            'rate_limit': self.rate_limit,
25980        }
25981
25982    @classmethod
25983    def from_dict(cls, d):
25984        return cls(
25985            meta=d.get('meta'),
25986            rate_limit=d.get('rate_limit'),
25987        )
25988
25989
25990class RoleGetResponse:
25991    '''
25992         RoleGetResponse returns a requested Role.
25993    '''
25994    __slots__ = [
25995        'meta',
25996        'rate_limit',
25997        'role',
25998    ]
25999
26000    def __init__(
26001        self,
26002        meta=None,
26003        rate_limit=None,
26004        role=None,
26005    ):
26006        self.meta = meta if meta is not None else None
26007        '''
26008         Reserved for future use.
26009        '''
26010        self.rate_limit = rate_limit if rate_limit is not None else None
26011        '''
26012         Rate limit information.
26013        '''
26014        self.role = role if role is not None else None
26015        '''
26016         The requested Role.
26017        '''
26018
26019    def __repr__(self):
26020        return '<sdm.RoleGetResponse ' + \
26021            'meta: ' + repr(self.meta) + ' ' +\
26022            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26023            'role: ' + repr(self.role) + ' ' +\
26024            '>'
26025
26026    def to_dict(self):
26027        return {
26028            'meta': self.meta,
26029            'rate_limit': self.rate_limit,
26030            'role': self.role,
26031        }
26032
26033    @classmethod
26034    def from_dict(cls, d):
26035        return cls(
26036            meta=d.get('meta'),
26037            rate_limit=d.get('rate_limit'),
26038            role=d.get('role'),
26039        )
26040
26041
26042class RoleHistory:
26043    '''
26044         RoleHistory records the state of a Role at a given point in time,
26045     where every change (create, update and delete) to a Role produces an
26046     RoleHistory record.
26047    '''
26048    __slots__ = [
26049        'activity_id',
26050        'deleted_at',
26051        'role',
26052        'timestamp',
26053    ]
26054
26055    def __init__(
26056        self,
26057        activity_id=None,
26058        deleted_at=None,
26059        role=None,
26060        timestamp=None,
26061    ):
26062        self.activity_id = activity_id if activity_id is not None else ''
26063        '''
26064         The unique identifier of the Activity that produced this change to the Role.
26065         May be empty for some system-initiated updates.
26066        '''
26067        self.deleted_at = deleted_at if deleted_at is not None else None
26068        '''
26069         If this Role was deleted, the time it was deleted.
26070        '''
26071        self.role = role if role is not None else None
26072        '''
26073         The complete Role state at this time.
26074        '''
26075        self.timestamp = timestamp if timestamp is not None else None
26076        '''
26077         The time at which the Role state was recorded.
26078        '''
26079
26080    def __repr__(self):
26081        return '<sdm.RoleHistory ' + \
26082            'activity_id: ' + repr(self.activity_id) + ' ' +\
26083            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26084            'role: ' + repr(self.role) + ' ' +\
26085            'timestamp: ' + repr(self.timestamp) + ' ' +\
26086            '>'
26087
26088    def to_dict(self):
26089        return {
26090            'activity_id': self.activity_id,
26091            'deleted_at': self.deleted_at,
26092            'role': self.role,
26093            'timestamp': self.timestamp,
26094        }
26095
26096    @classmethod
26097    def from_dict(cls, d):
26098        return cls(
26099            activity_id=d.get('activity_id'),
26100            deleted_at=d.get('deleted_at'),
26101            role=d.get('role'),
26102            timestamp=d.get('timestamp'),
26103        )
26104
26105
26106class RoleResource:
26107    '''
26108         RoleResource represents an individual access grant of a Role to a Resource.
26109    '''
26110    __slots__ = [
26111        'granted_at',
26112        'resource_id',
26113        'role_id',
26114    ]
26115
26116    def __init__(
26117        self,
26118        granted_at=None,
26119        resource_id=None,
26120        role_id=None,
26121    ):
26122        self.granted_at = granted_at if granted_at is not None else None
26123        '''
26124         The most recent time at which access was granted. If access was granted,
26125         revoked, and granted again, this will reflect the later time.
26126        '''
26127        self.resource_id = resource_id if resource_id is not None else ''
26128        '''
26129         The unique identifier of the Resource to which access is granted.
26130        '''
26131        self.role_id = role_id if role_id is not None else ''
26132        '''
26133         The unique identifier of the Role to which access is granted.
26134        '''
26135
26136    def __repr__(self):
26137        return '<sdm.RoleResource ' + \
26138            'granted_at: ' + repr(self.granted_at) + ' ' +\
26139            'resource_id: ' + repr(self.resource_id) + ' ' +\
26140            'role_id: ' + repr(self.role_id) + ' ' +\
26141            '>'
26142
26143    def to_dict(self):
26144        return {
26145            'granted_at': self.granted_at,
26146            'resource_id': self.resource_id,
26147            'role_id': self.role_id,
26148        }
26149
26150    @classmethod
26151    def from_dict(cls, d):
26152        return cls(
26153            granted_at=d.get('granted_at'),
26154            resource_id=d.get('resource_id'),
26155            role_id=d.get('role_id'),
26156        )
26157
26158
26159class RoleResourceHistory:
26160    '''
26161         RoleResourceHistory records the state of a RoleResource at a given point in time,
26162     where every change (create or delete) to a RoleResource produces an
26163     RoleResourceHistory record.
26164    '''
26165    __slots__ = [
26166        'activity_id',
26167        'deleted_at',
26168        'role_resource',
26169        'timestamp',
26170    ]
26171
26172    def __init__(
26173        self,
26174        activity_id=None,
26175        deleted_at=None,
26176        role_resource=None,
26177        timestamp=None,
26178    ):
26179        self.activity_id = activity_id if activity_id is not None else ''
26180        '''
26181         The unique identifier of the Activity that produced this change to the RoleResource.
26182         May be empty for some system-initiated updates.
26183        '''
26184        self.deleted_at = deleted_at if deleted_at is not None else None
26185        '''
26186         If this RoleResource was deleted, the time it was deleted.
26187        '''
26188        self.role_resource = role_resource if role_resource is not None else None
26189        '''
26190         The complete RoleResource state at this time.
26191        '''
26192        self.timestamp = timestamp if timestamp is not None else None
26193        '''
26194         The time at which the RoleResource state was recorded.
26195        '''
26196
26197    def __repr__(self):
26198        return '<sdm.RoleResourceHistory ' + \
26199            'activity_id: ' + repr(self.activity_id) + ' ' +\
26200            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26201            'role_resource: ' + repr(self.role_resource) + ' ' +\
26202            'timestamp: ' + repr(self.timestamp) + ' ' +\
26203            '>'
26204
26205    def to_dict(self):
26206        return {
26207            'activity_id': self.activity_id,
26208            'deleted_at': self.deleted_at,
26209            'role_resource': self.role_resource,
26210            'timestamp': self.timestamp,
26211        }
26212
26213    @classmethod
26214    def from_dict(cls, d):
26215        return cls(
26216            activity_id=d.get('activity_id'),
26217            deleted_at=d.get('deleted_at'),
26218            role_resource=d.get('role_resource'),
26219            timestamp=d.get('timestamp'),
26220        )
26221
26222
26223class RoleUpdateResponse:
26224    '''
26225         RoleUpdateResponse returns the fields of a Role after it has been updated by
26226     a RoleUpdateRequest.
26227    '''
26228    __slots__ = [
26229        'meta',
26230        'rate_limit',
26231        'role',
26232    ]
26233
26234    def __init__(
26235        self,
26236        meta=None,
26237        rate_limit=None,
26238        role=None,
26239    ):
26240        self.meta = meta if meta is not None else None
26241        '''
26242         Reserved for future use.
26243        '''
26244        self.rate_limit = rate_limit if rate_limit is not None else None
26245        '''
26246         Rate limit information.
26247        '''
26248        self.role = role if role is not None else None
26249        '''
26250         The updated Role.
26251        '''
26252
26253    def __repr__(self):
26254        return '<sdm.RoleUpdateResponse ' + \
26255            'meta: ' + repr(self.meta) + ' ' +\
26256            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26257            'role: ' + repr(self.role) + ' ' +\
26258            '>'
26259
26260    def to_dict(self):
26261        return {
26262            'meta': self.meta,
26263            'rate_limit': self.rate_limit,
26264            'role': self.role,
26265        }
26266
26267    @classmethod
26268    def from_dict(cls, d):
26269        return cls(
26270            meta=d.get('meta'),
26271            rate_limit=d.get('rate_limit'),
26272            role=d.get('role'),
26273        )
26274
26275
26276class SQLServer:
26277    __slots__ = [
26278        'allow_deprecated_encryption',
26279        'bind_interface',
26280        'database',
26281        'egress_filter',
26282        'healthy',
26283        'hostname',
26284        'id',
26285        'name',
26286        'override_database',
26287        'password',
26288        'port',
26289        'port_override',
26290        'proxy_cluster_id',
26291        'schema',
26292        'secret_store_id',
26293        'subdomain',
26294        'tags',
26295        'username',
26296    ]
26297
26298    def __init__(
26299        self,
26300        allow_deprecated_encryption=None,
26301        bind_interface=None,
26302        database=None,
26303        egress_filter=None,
26304        healthy=None,
26305        hostname=None,
26306        id=None,
26307        name=None,
26308        override_database=None,
26309        password=None,
26310        port=None,
26311        port_override=None,
26312        proxy_cluster_id=None,
26313        schema=None,
26314        secret_store_id=None,
26315        subdomain=None,
26316        tags=None,
26317        username=None,
26318    ):
26319        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26320        '''
26321         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26322         TLS 1.0.
26323        '''
26324        self.bind_interface = bind_interface if bind_interface is not None else ''
26325        '''
26326         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26327        '''
26328        self.database = database if database is not None else ''
26329        '''
26330         The database for healthchecks, and used for clients if Override Default Database is true.
26331        '''
26332        self.egress_filter = egress_filter if egress_filter is not None else ''
26333        '''
26334         A filter applied to the routing logic to pin datasource to nodes.
26335        '''
26336        self.healthy = healthy if healthy is not None else False
26337        '''
26338         True if the datasource is reachable and the credentials are valid.
26339        '''
26340        self.hostname = hostname if hostname is not None else ''
26341        '''
26342         The host to dial to initiate a connection from the egress node to this resource.
26343        '''
26344        self.id = id if id is not None else ''
26345        '''
26346         Unique identifier of the Resource.
26347        '''
26348        self.name = name if name is not None else ''
26349        '''
26350         Unique human-readable name of the Resource.
26351        '''
26352        self.override_database = override_database if override_database is not None else False
26353        '''
26354         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.
26355        '''
26356        self.password = password if password is not None else ''
26357        '''
26358         The password to authenticate with.
26359        '''
26360        self.port = port if port is not None else 0
26361        '''
26362         The port to dial to initiate a connection from the egress node to this resource.
26363        '''
26364        self.port_override = port_override if port_override is not None else 0
26365        '''
26366         The local port used by clients to connect to this resource.
26367        '''
26368        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26369        '''
26370         ID of the proxy cluster for this resource, if any.
26371        '''
26372        self.schema = schema if schema is not None else ''
26373        '''
26374         The Schema to use to direct initial requests.
26375        '''
26376        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26377        '''
26378         ID of the secret store containing credentials for this resource, if any.
26379        '''
26380        self.subdomain = subdomain if subdomain is not None else ''
26381        '''
26382         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26383        '''
26384        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26385        '''
26386         Tags is a map of key, value pairs.
26387        '''
26388        self.username = username if username is not None else ''
26389        '''
26390         The username to authenticate with.
26391        '''
26392
26393    def __repr__(self):
26394        return '<sdm.SQLServer ' + \
26395            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26396            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26397            'database: ' + repr(self.database) + ' ' +\
26398            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26399            'healthy: ' + repr(self.healthy) + ' ' +\
26400            'hostname: ' + repr(self.hostname) + ' ' +\
26401            'id: ' + repr(self.id) + ' ' +\
26402            'name: ' + repr(self.name) + ' ' +\
26403            'override_database: ' + repr(self.override_database) + ' ' +\
26404            'password: ' + repr(self.password) + ' ' +\
26405            'port: ' + repr(self.port) + ' ' +\
26406            'port_override: ' + repr(self.port_override) + ' ' +\
26407            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26408            'schema: ' + repr(self.schema) + ' ' +\
26409            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26410            'subdomain: ' + repr(self.subdomain) + ' ' +\
26411            'tags: ' + repr(self.tags) + ' ' +\
26412            'username: ' + repr(self.username) + ' ' +\
26413            '>'
26414
26415    def to_dict(self):
26416        return {
26417            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26418            'bind_interface': self.bind_interface,
26419            'database': self.database,
26420            'egress_filter': self.egress_filter,
26421            'healthy': self.healthy,
26422            'hostname': self.hostname,
26423            'id': self.id,
26424            'name': self.name,
26425            'override_database': self.override_database,
26426            'password': self.password,
26427            'port': self.port,
26428            'port_override': self.port_override,
26429            'proxy_cluster_id': self.proxy_cluster_id,
26430            'schema': self.schema,
26431            'secret_store_id': self.secret_store_id,
26432            'subdomain': self.subdomain,
26433            'tags': self.tags,
26434            'username': self.username,
26435        }
26436
26437    @classmethod
26438    def from_dict(cls, d):
26439        return cls(
26440            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26441            bind_interface=d.get('bind_interface'),
26442            database=d.get('database'),
26443            egress_filter=d.get('egress_filter'),
26444            healthy=d.get('healthy'),
26445            hostname=d.get('hostname'),
26446            id=d.get('id'),
26447            name=d.get('name'),
26448            override_database=d.get('override_database'),
26449            password=d.get('password'),
26450            port=d.get('port'),
26451            port_override=d.get('port_override'),
26452            proxy_cluster_id=d.get('proxy_cluster_id'),
26453            schema=d.get('schema'),
26454            secret_store_id=d.get('secret_store_id'),
26455            subdomain=d.get('subdomain'),
26456            tags=d.get('tags'),
26457            username=d.get('username'),
26458        )
26459
26460
26461class SQLServerAzureAD:
26462    __slots__ = [
26463        'allow_deprecated_encryption',
26464        'bind_interface',
26465        'client_id',
26466        'database',
26467        'egress_filter',
26468        'healthy',
26469        'hostname',
26470        'id',
26471        'name',
26472        'override_database',
26473        'port',
26474        'port_override',
26475        'proxy_cluster_id',
26476        'schema',
26477        'secret',
26478        'secret_store_id',
26479        'subdomain',
26480        'tags',
26481        'tenant_id',
26482    ]
26483
26484    def __init__(
26485        self,
26486        allow_deprecated_encryption=None,
26487        bind_interface=None,
26488        client_id=None,
26489        database=None,
26490        egress_filter=None,
26491        healthy=None,
26492        hostname=None,
26493        id=None,
26494        name=None,
26495        override_database=None,
26496        port=None,
26497        port_override=None,
26498        proxy_cluster_id=None,
26499        schema=None,
26500        secret=None,
26501        secret_store_id=None,
26502        subdomain=None,
26503        tags=None,
26504        tenant_id=None,
26505    ):
26506        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26507        '''
26508         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26509         TLS 1.0.
26510        '''
26511        self.bind_interface = bind_interface if bind_interface is not None else ''
26512        '''
26513         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26514        '''
26515        self.client_id = client_id if client_id is not None else ''
26516        '''
26517         The Azure AD application (client) ID with which to authenticate.
26518        '''
26519        self.database = database if database is not None else ''
26520        '''
26521         The database for healthchecks, and used for clients if Override Default Database is true.
26522        '''
26523        self.egress_filter = egress_filter if egress_filter is not None else ''
26524        '''
26525         A filter applied to the routing logic to pin datasource to nodes.
26526        '''
26527        self.healthy = healthy if healthy is not None else False
26528        '''
26529         True if the datasource is reachable and the credentials are valid.
26530        '''
26531        self.hostname = hostname if hostname is not None else ''
26532        '''
26533         The host to dial to initiate a connection from the egress node to this resource.
26534        '''
26535        self.id = id if id is not None else ''
26536        '''
26537         Unique identifier of the Resource.
26538        '''
26539        self.name = name if name is not None else ''
26540        '''
26541         Unique human-readable name of the Resource.
26542        '''
26543        self.override_database = override_database if override_database is not None else False
26544        '''
26545         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.
26546        '''
26547        self.port = port if port is not None else 0
26548        '''
26549         The port to dial to initiate a connection from the egress node to this resource.
26550        '''
26551        self.port_override = port_override if port_override is not None else 0
26552        '''
26553         The local port used by clients to connect to this resource.
26554        '''
26555        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26556        '''
26557         ID of the proxy cluster for this resource, if any.
26558        '''
26559        self.schema = schema if schema is not None else ''
26560        '''
26561         The Schema to use to direct initial requests.
26562        '''
26563        self.secret = secret if secret is not None else ''
26564        '''
26565         The Azure AD client secret (application password) with which to authenticate.
26566        '''
26567        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26568        '''
26569         ID of the secret store containing credentials for this resource, if any.
26570        '''
26571        self.subdomain = subdomain if subdomain is not None else ''
26572        '''
26573         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26574        '''
26575        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26576        '''
26577         Tags is a map of key, value pairs.
26578        '''
26579        self.tenant_id = tenant_id if tenant_id is not None else ''
26580        '''
26581         The Azure AD directory (tenant) ID with which to authenticate.
26582        '''
26583
26584    def __repr__(self):
26585        return '<sdm.SQLServerAzureAD ' + \
26586            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26587            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26588            'client_id: ' + repr(self.client_id) + ' ' +\
26589            'database: ' + repr(self.database) + ' ' +\
26590            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26591            'healthy: ' + repr(self.healthy) + ' ' +\
26592            'hostname: ' + repr(self.hostname) + ' ' +\
26593            'id: ' + repr(self.id) + ' ' +\
26594            'name: ' + repr(self.name) + ' ' +\
26595            'override_database: ' + repr(self.override_database) + ' ' +\
26596            'port: ' + repr(self.port) + ' ' +\
26597            'port_override: ' + repr(self.port_override) + ' ' +\
26598            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26599            'schema: ' + repr(self.schema) + ' ' +\
26600            'secret: ' + repr(self.secret) + ' ' +\
26601            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26602            'subdomain: ' + repr(self.subdomain) + ' ' +\
26603            'tags: ' + repr(self.tags) + ' ' +\
26604            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
26605            '>'
26606
26607    def to_dict(self):
26608        return {
26609            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26610            'bind_interface': self.bind_interface,
26611            'client_id': self.client_id,
26612            'database': self.database,
26613            'egress_filter': self.egress_filter,
26614            'healthy': self.healthy,
26615            'hostname': self.hostname,
26616            'id': self.id,
26617            'name': self.name,
26618            'override_database': self.override_database,
26619            'port': self.port,
26620            'port_override': self.port_override,
26621            'proxy_cluster_id': self.proxy_cluster_id,
26622            'schema': self.schema,
26623            'secret': self.secret,
26624            'secret_store_id': self.secret_store_id,
26625            'subdomain': self.subdomain,
26626            'tags': self.tags,
26627            'tenant_id': self.tenant_id,
26628        }
26629
26630    @classmethod
26631    def from_dict(cls, d):
26632        return cls(
26633            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26634            bind_interface=d.get('bind_interface'),
26635            client_id=d.get('client_id'),
26636            database=d.get('database'),
26637            egress_filter=d.get('egress_filter'),
26638            healthy=d.get('healthy'),
26639            hostname=d.get('hostname'),
26640            id=d.get('id'),
26641            name=d.get('name'),
26642            override_database=d.get('override_database'),
26643            port=d.get('port'),
26644            port_override=d.get('port_override'),
26645            proxy_cluster_id=d.get('proxy_cluster_id'),
26646            schema=d.get('schema'),
26647            secret=d.get('secret'),
26648            secret_store_id=d.get('secret_store_id'),
26649            subdomain=d.get('subdomain'),
26650            tags=d.get('tags'),
26651            tenant_id=d.get('tenant_id'),
26652        )
26653
26654
26655class SQLServerKerberosAD:
26656    __slots__ = [
26657        'allow_deprecated_encryption',
26658        'bind_interface',
26659        'database',
26660        'egress_filter',
26661        'healthy',
26662        'hostname',
26663        'id',
26664        'keytab',
26665        'krb_config',
26666        'name',
26667        'override_database',
26668        'port',
26669        'port_override',
26670        'proxy_cluster_id',
26671        'realm',
26672        'schema',
26673        'secret_store_id',
26674        'server_spn',
26675        'subdomain',
26676        'tags',
26677        'username',
26678    ]
26679
26680    def __init__(
26681        self,
26682        allow_deprecated_encryption=None,
26683        bind_interface=None,
26684        database=None,
26685        egress_filter=None,
26686        healthy=None,
26687        hostname=None,
26688        id=None,
26689        keytab=None,
26690        krb_config=None,
26691        name=None,
26692        override_database=None,
26693        port=None,
26694        port_override=None,
26695        proxy_cluster_id=None,
26696        realm=None,
26697        schema=None,
26698        secret_store_id=None,
26699        server_spn=None,
26700        subdomain=None,
26701        tags=None,
26702        username=None,
26703    ):
26704        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26705        '''
26706         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26707         TLS 1.0.
26708        '''
26709        self.bind_interface = bind_interface if bind_interface is not None else ''
26710        '''
26711         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26712        '''
26713        self.database = database if database is not None else ''
26714        '''
26715         The database for healthchecks, and used for clients if Override Default Database is true.
26716        '''
26717        self.egress_filter = egress_filter if egress_filter is not None else ''
26718        '''
26719         A filter applied to the routing logic to pin datasource to nodes.
26720        '''
26721        self.healthy = healthy if healthy is not None else False
26722        '''
26723         True if the datasource is reachable and the credentials are valid.
26724        '''
26725        self.hostname = hostname if hostname is not None else ''
26726        '''
26727         The host to dial to initiate a connection from the egress node to this resource.
26728        '''
26729        self.id = id if id is not None else ''
26730        '''
26731         Unique identifier of the Resource.
26732        '''
26733        self.keytab = keytab if keytab is not None else ''
26734        '''
26735         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26736        '''
26737        self.krb_config = krb_config if krb_config is not None else ''
26738        '''
26739         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26740        '''
26741        self.name = name if name is not None else ''
26742        '''
26743         Unique human-readable name of the Resource.
26744        '''
26745        self.override_database = override_database if override_database is not None else False
26746        '''
26747         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.
26748        '''
26749        self.port = port if port is not None else 0
26750        '''
26751         The port to dial to initiate a connection from the egress node to this resource.
26752        '''
26753        self.port_override = port_override if port_override is not None else 0
26754        '''
26755         The local port used by clients to connect to this resource.
26756        '''
26757        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26758        '''
26759         ID of the proxy cluster for this resource, if any.
26760        '''
26761        self.realm = realm if realm is not None else ''
26762        '''
26763         The Active Directory domain (realm) to which the configured username belongs.
26764        '''
26765        self.schema = schema if schema is not None else ''
26766        '''
26767         The Schema to use to direct initial requests.
26768        '''
26769        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26770        '''
26771         ID of the secret store containing credentials for this resource, if any.
26772        '''
26773        self.server_spn = server_spn if server_spn is not None else ''
26774        '''
26775         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26776        '''
26777        self.subdomain = subdomain if subdomain is not None else ''
26778        '''
26779         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26780        '''
26781        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26782        '''
26783         Tags is a map of key, value pairs.
26784        '''
26785        self.username = username if username is not None else ''
26786        '''
26787         The username to authenticate with.
26788        '''
26789
26790    def __repr__(self):
26791        return '<sdm.SQLServerKerberosAD ' + \
26792            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26793            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26794            'database: ' + repr(self.database) + ' ' +\
26795            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26796            'healthy: ' + repr(self.healthy) + ' ' +\
26797            'hostname: ' + repr(self.hostname) + ' ' +\
26798            'id: ' + repr(self.id) + ' ' +\
26799            'keytab: ' + repr(self.keytab) + ' ' +\
26800            'krb_config: ' + repr(self.krb_config) + ' ' +\
26801            'name: ' + repr(self.name) + ' ' +\
26802            'override_database: ' + repr(self.override_database) + ' ' +\
26803            'port: ' + repr(self.port) + ' ' +\
26804            'port_override: ' + repr(self.port_override) + ' ' +\
26805            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26806            'realm: ' + repr(self.realm) + ' ' +\
26807            'schema: ' + repr(self.schema) + ' ' +\
26808            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26809            'server_spn: ' + repr(self.server_spn) + ' ' +\
26810            'subdomain: ' + repr(self.subdomain) + ' ' +\
26811            'tags: ' + repr(self.tags) + ' ' +\
26812            'username: ' + repr(self.username) + ' ' +\
26813            '>'
26814
26815    def to_dict(self):
26816        return {
26817            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26818            'bind_interface': self.bind_interface,
26819            'database': self.database,
26820            'egress_filter': self.egress_filter,
26821            'healthy': self.healthy,
26822            'hostname': self.hostname,
26823            'id': self.id,
26824            'keytab': self.keytab,
26825            'krb_config': self.krb_config,
26826            'name': self.name,
26827            'override_database': self.override_database,
26828            'port': self.port,
26829            'port_override': self.port_override,
26830            'proxy_cluster_id': self.proxy_cluster_id,
26831            'realm': self.realm,
26832            'schema': self.schema,
26833            'secret_store_id': self.secret_store_id,
26834            'server_spn': self.server_spn,
26835            'subdomain': self.subdomain,
26836            'tags': self.tags,
26837            'username': self.username,
26838        }
26839
26840    @classmethod
26841    def from_dict(cls, d):
26842        return cls(
26843            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26844            bind_interface=d.get('bind_interface'),
26845            database=d.get('database'),
26846            egress_filter=d.get('egress_filter'),
26847            healthy=d.get('healthy'),
26848            hostname=d.get('hostname'),
26849            id=d.get('id'),
26850            keytab=d.get('keytab'),
26851            krb_config=d.get('krb_config'),
26852            name=d.get('name'),
26853            override_database=d.get('override_database'),
26854            port=d.get('port'),
26855            port_override=d.get('port_override'),
26856            proxy_cluster_id=d.get('proxy_cluster_id'),
26857            realm=d.get('realm'),
26858            schema=d.get('schema'),
26859            secret_store_id=d.get('secret_store_id'),
26860            server_spn=d.get('server_spn'),
26861            subdomain=d.get('subdomain'),
26862            tags=d.get('tags'),
26863            username=d.get('username'),
26864        )
26865
26866
26867class SSH:
26868    __slots__ = [
26869        'allow_deprecated_key_exchanges',
26870        'bind_interface',
26871        'egress_filter',
26872        'healthy',
26873        'hostname',
26874        'id',
26875        'key_type',
26876        'name',
26877        'port',
26878        'port_forwarding',
26879        'port_override',
26880        'proxy_cluster_id',
26881        'public_key',
26882        'secret_store_id',
26883        'subdomain',
26884        'tags',
26885        'username',
26886    ]
26887
26888    def __init__(
26889        self,
26890        allow_deprecated_key_exchanges=None,
26891        bind_interface=None,
26892        egress_filter=None,
26893        healthy=None,
26894        hostname=None,
26895        id=None,
26896        key_type=None,
26897        name=None,
26898        port=None,
26899        port_forwarding=None,
26900        port_override=None,
26901        proxy_cluster_id=None,
26902        public_key=None,
26903        secret_store_id=None,
26904        subdomain=None,
26905        tags=None,
26906        username=None,
26907    ):
26908        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26909        '''
26910         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26911        '''
26912        self.bind_interface = bind_interface if bind_interface is not None else ''
26913        '''
26914         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26915        '''
26916        self.egress_filter = egress_filter if egress_filter is not None else ''
26917        '''
26918         A filter applied to the routing logic to pin datasource to nodes.
26919        '''
26920        self.healthy = healthy if healthy is not None else False
26921        '''
26922         True if the datasource is reachable and the credentials are valid.
26923        '''
26924        self.hostname = hostname if hostname is not None else ''
26925        '''
26926         The host to dial to initiate a connection from the egress node to this resource.
26927        '''
26928        self.id = id if id is not None else ''
26929        '''
26930         Unique identifier of the Resource.
26931        '''
26932        self.key_type = key_type if key_type is not None else ''
26933        '''
26934         The key type to use e.g. rsa-2048 or ed25519
26935        '''
26936        self.name = name if name is not None else ''
26937        '''
26938         Unique human-readable name of the Resource.
26939        '''
26940        self.port = port if port is not None else 0
26941        '''
26942         The port to dial to initiate a connection from the egress node to this resource.
26943        '''
26944        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26945        '''
26946         Whether port forwarding is allowed through this server.
26947        '''
26948        self.port_override = port_override if port_override is not None else 0
26949        '''
26950         The local port used by clients to connect to this resource.
26951        '''
26952        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26953        '''
26954         ID of the proxy cluster for this resource, if any.
26955        '''
26956        self.public_key = public_key if public_key is not None else ''
26957        '''
26958         The public key to append to a server's authorized keys. This will be generated after resource creation.
26959        '''
26960        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26961        '''
26962         ID of the secret store containing credentials for this resource, if any.
26963        '''
26964        self.subdomain = subdomain if subdomain is not None else ''
26965        '''
26966         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26967        '''
26968        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26969        '''
26970         Tags is a map of key, value pairs.
26971        '''
26972        self.username = username if username is not None else ''
26973        '''
26974         The username to authenticate with.
26975        '''
26976
26977    def __repr__(self):
26978        return '<sdm.SSH ' + \
26979            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26980            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26981            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26982            'healthy: ' + repr(self.healthy) + ' ' +\
26983            'hostname: ' + repr(self.hostname) + ' ' +\
26984            'id: ' + repr(self.id) + ' ' +\
26985            'key_type: ' + repr(self.key_type) + ' ' +\
26986            'name: ' + repr(self.name) + ' ' +\
26987            'port: ' + repr(self.port) + ' ' +\
26988            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26989            'port_override: ' + repr(self.port_override) + ' ' +\
26990            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26991            'public_key: ' + repr(self.public_key) + ' ' +\
26992            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26993            'subdomain: ' + repr(self.subdomain) + ' ' +\
26994            'tags: ' + repr(self.tags) + ' ' +\
26995            'username: ' + repr(self.username) + ' ' +\
26996            '>'
26997
26998    def to_dict(self):
26999        return {
27000            'allow_deprecated_key_exchanges':
27001            self.allow_deprecated_key_exchanges,
27002            'bind_interface': self.bind_interface,
27003            'egress_filter': self.egress_filter,
27004            'healthy': self.healthy,
27005            'hostname': self.hostname,
27006            'id': self.id,
27007            'key_type': self.key_type,
27008            'name': self.name,
27009            'port': self.port,
27010            'port_forwarding': self.port_forwarding,
27011            'port_override': self.port_override,
27012            'proxy_cluster_id': self.proxy_cluster_id,
27013            'public_key': self.public_key,
27014            'secret_store_id': self.secret_store_id,
27015            'subdomain': self.subdomain,
27016            'tags': self.tags,
27017            'username': self.username,
27018        }
27019
27020    @classmethod
27021    def from_dict(cls, d):
27022        return cls(
27023            allow_deprecated_key_exchanges=d.get(
27024                'allow_deprecated_key_exchanges'),
27025            bind_interface=d.get('bind_interface'),
27026            egress_filter=d.get('egress_filter'),
27027            healthy=d.get('healthy'),
27028            hostname=d.get('hostname'),
27029            id=d.get('id'),
27030            key_type=d.get('key_type'),
27031            name=d.get('name'),
27032            port=d.get('port'),
27033            port_forwarding=d.get('port_forwarding'),
27034            port_override=d.get('port_override'),
27035            proxy_cluster_id=d.get('proxy_cluster_id'),
27036            public_key=d.get('public_key'),
27037            secret_store_id=d.get('secret_store_id'),
27038            subdomain=d.get('subdomain'),
27039            tags=d.get('tags'),
27040            username=d.get('username'),
27041        )
27042
27043
27044class SSHCert:
27045    __slots__ = [
27046        'allow_deprecated_key_exchanges',
27047        'bind_interface',
27048        'egress_filter',
27049        'healthy',
27050        'hostname',
27051        'id',
27052        'identity_alias_healthcheck_username',
27053        'identity_set_id',
27054        'key_type',
27055        'name',
27056        'port',
27057        'port_forwarding',
27058        'port_override',
27059        'proxy_cluster_id',
27060        'secret_store_id',
27061        'subdomain',
27062        'tags',
27063        'username',
27064    ]
27065
27066    def __init__(
27067        self,
27068        allow_deprecated_key_exchanges=None,
27069        bind_interface=None,
27070        egress_filter=None,
27071        healthy=None,
27072        hostname=None,
27073        id=None,
27074        identity_alias_healthcheck_username=None,
27075        identity_set_id=None,
27076        key_type=None,
27077        name=None,
27078        port=None,
27079        port_forwarding=None,
27080        port_override=None,
27081        proxy_cluster_id=None,
27082        secret_store_id=None,
27083        subdomain=None,
27084        tags=None,
27085        username=None,
27086    ):
27087        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27088        '''
27089         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27090        '''
27091        self.bind_interface = bind_interface if bind_interface is not None else ''
27092        '''
27093         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27094        '''
27095        self.egress_filter = egress_filter if egress_filter is not None else ''
27096        '''
27097         A filter applied to the routing logic to pin datasource to nodes.
27098        '''
27099        self.healthy = healthy if healthy is not None else False
27100        '''
27101         True if the datasource is reachable and the credentials are valid.
27102        '''
27103        self.hostname = hostname if hostname is not None else ''
27104        '''
27105         The host to dial to initiate a connection from the egress node to this resource.
27106        '''
27107        self.id = id if id is not None else ''
27108        '''
27109         Unique identifier of the Resource.
27110        '''
27111        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27112        '''
27113         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27114        '''
27115        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27116        '''
27117         The ID of the identity set to use for identity connections.
27118        '''
27119        self.key_type = key_type if key_type is not None else ''
27120        '''
27121         The key type to use e.g. rsa-2048 or ed25519
27122        '''
27123        self.name = name if name is not None else ''
27124        '''
27125         Unique human-readable name of the Resource.
27126        '''
27127        self.port = port if port is not None else 0
27128        '''
27129         The port to dial to initiate a connection from the egress node to this resource.
27130        '''
27131        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27132        '''
27133         Whether port forwarding is allowed through this server.
27134        '''
27135        self.port_override = port_override if port_override is not None else 0
27136        '''
27137         The local port used by clients to connect to this resource.
27138        '''
27139        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27140        '''
27141         ID of the proxy cluster for this resource, if any.
27142        '''
27143        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27144        '''
27145         ID of the secret store containing credentials for this resource, if any.
27146        '''
27147        self.subdomain = subdomain if subdomain is not None else ''
27148        '''
27149         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27150        '''
27151        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27152        '''
27153         Tags is a map of key, value pairs.
27154        '''
27155        self.username = username if username is not None else ''
27156        '''
27157         The username to authenticate with.
27158        '''
27159
27160    def __repr__(self):
27161        return '<sdm.SSHCert ' + \
27162            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27163            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27164            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27165            'healthy: ' + repr(self.healthy) + ' ' +\
27166            'hostname: ' + repr(self.hostname) + ' ' +\
27167            'id: ' + repr(self.id) + ' ' +\
27168            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27169            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27170            'key_type: ' + repr(self.key_type) + ' ' +\
27171            'name: ' + repr(self.name) + ' ' +\
27172            'port: ' + repr(self.port) + ' ' +\
27173            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27174            'port_override: ' + repr(self.port_override) + ' ' +\
27175            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27176            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27177            'subdomain: ' + repr(self.subdomain) + ' ' +\
27178            'tags: ' + repr(self.tags) + ' ' +\
27179            'username: ' + repr(self.username) + ' ' +\
27180            '>'
27181
27182    def to_dict(self):
27183        return {
27184            'allow_deprecated_key_exchanges':
27185            self.allow_deprecated_key_exchanges,
27186            'bind_interface': self.bind_interface,
27187            'egress_filter': self.egress_filter,
27188            'healthy': self.healthy,
27189            'hostname': self.hostname,
27190            'id': self.id,
27191            'identity_alias_healthcheck_username':
27192            self.identity_alias_healthcheck_username,
27193            'identity_set_id': self.identity_set_id,
27194            'key_type': self.key_type,
27195            'name': self.name,
27196            'port': self.port,
27197            'port_forwarding': self.port_forwarding,
27198            'port_override': self.port_override,
27199            'proxy_cluster_id': self.proxy_cluster_id,
27200            'secret_store_id': self.secret_store_id,
27201            'subdomain': self.subdomain,
27202            'tags': self.tags,
27203            'username': self.username,
27204        }
27205
27206    @classmethod
27207    def from_dict(cls, d):
27208        return cls(
27209            allow_deprecated_key_exchanges=d.get(
27210                'allow_deprecated_key_exchanges'),
27211            bind_interface=d.get('bind_interface'),
27212            egress_filter=d.get('egress_filter'),
27213            healthy=d.get('healthy'),
27214            hostname=d.get('hostname'),
27215            id=d.get('id'),
27216            identity_alias_healthcheck_username=d.get(
27217                'identity_alias_healthcheck_username'),
27218            identity_set_id=d.get('identity_set_id'),
27219            key_type=d.get('key_type'),
27220            name=d.get('name'),
27221            port=d.get('port'),
27222            port_forwarding=d.get('port_forwarding'),
27223            port_override=d.get('port_override'),
27224            proxy_cluster_id=d.get('proxy_cluster_id'),
27225            secret_store_id=d.get('secret_store_id'),
27226            subdomain=d.get('subdomain'),
27227            tags=d.get('tags'),
27228            username=d.get('username'),
27229        )
27230
27231
27232class SSHCustomerKey:
27233    __slots__ = [
27234        'allow_deprecated_key_exchanges',
27235        'bind_interface',
27236        'egress_filter',
27237        'healthy',
27238        'hostname',
27239        'id',
27240        'identity_alias_healthcheck_username',
27241        'identity_set_id',
27242        'name',
27243        'port',
27244        'port_forwarding',
27245        'port_override',
27246        'private_key',
27247        'proxy_cluster_id',
27248        'secret_store_id',
27249        'subdomain',
27250        'tags',
27251        'username',
27252    ]
27253
27254    def __init__(
27255        self,
27256        allow_deprecated_key_exchanges=None,
27257        bind_interface=None,
27258        egress_filter=None,
27259        healthy=None,
27260        hostname=None,
27261        id=None,
27262        identity_alias_healthcheck_username=None,
27263        identity_set_id=None,
27264        name=None,
27265        port=None,
27266        port_forwarding=None,
27267        port_override=None,
27268        private_key=None,
27269        proxy_cluster_id=None,
27270        secret_store_id=None,
27271        subdomain=None,
27272        tags=None,
27273        username=None,
27274    ):
27275        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27276        '''
27277         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27278        '''
27279        self.bind_interface = bind_interface if bind_interface is not None else ''
27280        '''
27281         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27282        '''
27283        self.egress_filter = egress_filter if egress_filter is not None else ''
27284        '''
27285         A filter applied to the routing logic to pin datasource to nodes.
27286        '''
27287        self.healthy = healthy if healthy is not None else False
27288        '''
27289         True if the datasource is reachable and the credentials are valid.
27290        '''
27291        self.hostname = hostname if hostname is not None else ''
27292        '''
27293         The host to dial to initiate a connection from the egress node to this resource.
27294        '''
27295        self.id = id if id is not None else ''
27296        '''
27297         Unique identifier of the Resource.
27298        '''
27299        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27300        '''
27301         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27302        '''
27303        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27304        '''
27305         The ID of the identity set to use for identity connections.
27306        '''
27307        self.name = name if name is not None else ''
27308        '''
27309         Unique human-readable name of the Resource.
27310        '''
27311        self.port = port if port is not None else 0
27312        '''
27313         The port to dial to initiate a connection from the egress node to this resource.
27314        '''
27315        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27316        '''
27317         Whether port forwarding is allowed through this server.
27318        '''
27319        self.port_override = port_override if port_override is not None else 0
27320        '''
27321         The local port used by clients to connect to this resource.
27322        '''
27323        self.private_key = private_key if private_key is not None else ''
27324        '''
27325         The private key used to authenticate with the server.
27326        '''
27327        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27328        '''
27329         ID of the proxy cluster for this resource, if any.
27330        '''
27331        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27332        '''
27333         ID of the secret store containing credentials for this resource, if any.
27334        '''
27335        self.subdomain = subdomain if subdomain is not None else ''
27336        '''
27337         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27338        '''
27339        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27340        '''
27341         Tags is a map of key, value pairs.
27342        '''
27343        self.username = username if username is not None else ''
27344        '''
27345         The username to authenticate with.
27346        '''
27347
27348    def __repr__(self):
27349        return '<sdm.SSHCustomerKey ' + \
27350            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27351            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27352            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27353            'healthy: ' + repr(self.healthy) + ' ' +\
27354            'hostname: ' + repr(self.hostname) + ' ' +\
27355            'id: ' + repr(self.id) + ' ' +\
27356            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27357            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27358            'name: ' + repr(self.name) + ' ' +\
27359            'port: ' + repr(self.port) + ' ' +\
27360            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27361            'port_override: ' + repr(self.port_override) + ' ' +\
27362            'private_key: ' + repr(self.private_key) + ' ' +\
27363            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27364            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27365            'subdomain: ' + repr(self.subdomain) + ' ' +\
27366            'tags: ' + repr(self.tags) + ' ' +\
27367            'username: ' + repr(self.username) + ' ' +\
27368            '>'
27369
27370    def to_dict(self):
27371        return {
27372            'allow_deprecated_key_exchanges':
27373            self.allow_deprecated_key_exchanges,
27374            'bind_interface': self.bind_interface,
27375            'egress_filter': self.egress_filter,
27376            'healthy': self.healthy,
27377            'hostname': self.hostname,
27378            'id': self.id,
27379            'identity_alias_healthcheck_username':
27380            self.identity_alias_healthcheck_username,
27381            'identity_set_id': self.identity_set_id,
27382            'name': self.name,
27383            'port': self.port,
27384            'port_forwarding': self.port_forwarding,
27385            'port_override': self.port_override,
27386            'private_key': self.private_key,
27387            'proxy_cluster_id': self.proxy_cluster_id,
27388            'secret_store_id': self.secret_store_id,
27389            'subdomain': self.subdomain,
27390            'tags': self.tags,
27391            'username': self.username,
27392        }
27393
27394    @classmethod
27395    def from_dict(cls, d):
27396        return cls(
27397            allow_deprecated_key_exchanges=d.get(
27398                'allow_deprecated_key_exchanges'),
27399            bind_interface=d.get('bind_interface'),
27400            egress_filter=d.get('egress_filter'),
27401            healthy=d.get('healthy'),
27402            hostname=d.get('hostname'),
27403            id=d.get('id'),
27404            identity_alias_healthcheck_username=d.get(
27405                'identity_alias_healthcheck_username'),
27406            identity_set_id=d.get('identity_set_id'),
27407            name=d.get('name'),
27408            port=d.get('port'),
27409            port_forwarding=d.get('port_forwarding'),
27410            port_override=d.get('port_override'),
27411            private_key=d.get('private_key'),
27412            proxy_cluster_id=d.get('proxy_cluster_id'),
27413            secret_store_id=d.get('secret_store_id'),
27414            subdomain=d.get('subdomain'),
27415            tags=d.get('tags'),
27416            username=d.get('username'),
27417        )
27418
27419
27420class SSHPassword:
27421    __slots__ = [
27422        'allow_deprecated_key_exchanges',
27423        'bind_interface',
27424        'egress_filter',
27425        'healthy',
27426        'hostname',
27427        'id',
27428        'name',
27429        'password',
27430        'port',
27431        'port_forwarding',
27432        'port_override',
27433        'proxy_cluster_id',
27434        'secret_store_id',
27435        'subdomain',
27436        'tags',
27437        'username',
27438    ]
27439
27440    def __init__(
27441        self,
27442        allow_deprecated_key_exchanges=None,
27443        bind_interface=None,
27444        egress_filter=None,
27445        healthy=None,
27446        hostname=None,
27447        id=None,
27448        name=None,
27449        password=None,
27450        port=None,
27451        port_forwarding=None,
27452        port_override=None,
27453        proxy_cluster_id=None,
27454        secret_store_id=None,
27455        subdomain=None,
27456        tags=None,
27457        username=None,
27458    ):
27459        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27460        '''
27461         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27462        '''
27463        self.bind_interface = bind_interface if bind_interface is not None else ''
27464        '''
27465         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27466        '''
27467        self.egress_filter = egress_filter if egress_filter is not None else ''
27468        '''
27469         A filter applied to the routing logic to pin datasource to nodes.
27470        '''
27471        self.healthy = healthy if healthy is not None else False
27472        '''
27473         True if the datasource is reachable and the credentials are valid.
27474        '''
27475        self.hostname = hostname if hostname is not None else ''
27476        '''
27477         The host to dial to initiate a connection from the egress node to this resource.
27478        '''
27479        self.id = id if id is not None else ''
27480        '''
27481         Unique identifier of the Resource.
27482        '''
27483        self.name = name if name is not None else ''
27484        '''
27485         Unique human-readable name of the Resource.
27486        '''
27487        self.password = password if password is not None else ''
27488        '''
27489         The password to authenticate with.
27490        '''
27491        self.port = port if port is not None else 0
27492        '''
27493         The port to dial to initiate a connection from the egress node to this resource.
27494        '''
27495        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27496        '''
27497         Whether port forwarding is allowed through this server.
27498        '''
27499        self.port_override = port_override if port_override is not None else 0
27500        '''
27501         The local port used by clients to connect to this resource.
27502        '''
27503        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27504        '''
27505         ID of the proxy cluster for this resource, if any.
27506        '''
27507        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27508        '''
27509         ID of the secret store containing credentials for this resource, if any.
27510        '''
27511        self.subdomain = subdomain if subdomain is not None else ''
27512        '''
27513         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27514        '''
27515        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27516        '''
27517         Tags is a map of key, value pairs.
27518        '''
27519        self.username = username if username is not None else ''
27520        '''
27521         The username to authenticate with.
27522        '''
27523
27524    def __repr__(self):
27525        return '<sdm.SSHPassword ' + \
27526            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27527            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27528            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27529            'healthy: ' + repr(self.healthy) + ' ' +\
27530            'hostname: ' + repr(self.hostname) + ' ' +\
27531            'id: ' + repr(self.id) + ' ' +\
27532            'name: ' + repr(self.name) + ' ' +\
27533            'password: ' + repr(self.password) + ' ' +\
27534            'port: ' + repr(self.port) + ' ' +\
27535            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27536            'port_override: ' + repr(self.port_override) + ' ' +\
27537            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27538            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27539            'subdomain: ' + repr(self.subdomain) + ' ' +\
27540            'tags: ' + repr(self.tags) + ' ' +\
27541            'username: ' + repr(self.username) + ' ' +\
27542            '>'
27543
27544    def to_dict(self):
27545        return {
27546            'allow_deprecated_key_exchanges':
27547            self.allow_deprecated_key_exchanges,
27548            'bind_interface': self.bind_interface,
27549            'egress_filter': self.egress_filter,
27550            'healthy': self.healthy,
27551            'hostname': self.hostname,
27552            'id': self.id,
27553            'name': self.name,
27554            'password': self.password,
27555            'port': self.port,
27556            'port_forwarding': self.port_forwarding,
27557            'port_override': self.port_override,
27558            'proxy_cluster_id': self.proxy_cluster_id,
27559            'secret_store_id': self.secret_store_id,
27560            'subdomain': self.subdomain,
27561            'tags': self.tags,
27562            'username': self.username,
27563        }
27564
27565    @classmethod
27566    def from_dict(cls, d):
27567        return cls(
27568            allow_deprecated_key_exchanges=d.get(
27569                'allow_deprecated_key_exchanges'),
27570            bind_interface=d.get('bind_interface'),
27571            egress_filter=d.get('egress_filter'),
27572            healthy=d.get('healthy'),
27573            hostname=d.get('hostname'),
27574            id=d.get('id'),
27575            name=d.get('name'),
27576            password=d.get('password'),
27577            port=d.get('port'),
27578            port_forwarding=d.get('port_forwarding'),
27579            port_override=d.get('port_override'),
27580            proxy_cluster_id=d.get('proxy_cluster_id'),
27581            secret_store_id=d.get('secret_store_id'),
27582            subdomain=d.get('subdomain'),
27583            tags=d.get('tags'),
27584            username=d.get('username'),
27585        )
27586
27587
27588class SecretEngineCreateRequest:
27589    '''
27590         SecretEngineCreateRequest specifies a Secret Engine to create.
27591    '''
27592    __slots__ = [
27593        'secret_engine',
27594    ]
27595
27596    def __init__(
27597        self,
27598        secret_engine=None,
27599    ):
27600        self.secret_engine = secret_engine if secret_engine is not None else None
27601        '''
27602         Parameters to define the new Secret Engine.
27603        '''
27604
27605    def __repr__(self):
27606        return '<sdm.SecretEngineCreateRequest ' + \
27607            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27608            '>'
27609
27610    def to_dict(self):
27611        return {
27612            'secret_engine': self.secret_engine,
27613        }
27614
27615    @classmethod
27616    def from_dict(cls, d):
27617        return cls(secret_engine=d.get('secret_engine'), )
27618
27619
27620class SecretEngineCreateResponse:
27621    '''
27622         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27623    '''
27624    __slots__ = [
27625        'meta',
27626        'rate_limit',
27627        'secret_engine',
27628    ]
27629
27630    def __init__(
27631        self,
27632        meta=None,
27633        rate_limit=None,
27634        secret_engine=None,
27635    ):
27636        self.meta = meta if meta is not None else None
27637        '''
27638         Reserved for future use.
27639        '''
27640        self.rate_limit = rate_limit if rate_limit is not None else None
27641        '''
27642         Rate limit information.
27643        '''
27644        self.secret_engine = secret_engine if secret_engine is not None else None
27645        '''
27646         The requested Secret Engine.
27647        '''
27648
27649    def __repr__(self):
27650        return '<sdm.SecretEngineCreateResponse ' + \
27651            'meta: ' + repr(self.meta) + ' ' +\
27652            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27653            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27654            '>'
27655
27656    def to_dict(self):
27657        return {
27658            'meta': self.meta,
27659            'rate_limit': self.rate_limit,
27660            'secret_engine': self.secret_engine,
27661        }
27662
27663    @classmethod
27664    def from_dict(cls, d):
27665        return cls(
27666            meta=d.get('meta'),
27667            rate_limit=d.get('rate_limit'),
27668            secret_engine=d.get('secret_engine'),
27669        )
27670
27671
27672class SecretEngineDeleteRequest:
27673    '''
27674         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27675    '''
27676    __slots__ = [
27677        'id',
27678    ]
27679
27680    def __init__(
27681        self,
27682        id=None,
27683    ):
27684        self.id = id if id is not None else ''
27685        '''
27686         The unique identifier of the Secret Engine to delete.
27687        '''
27688
27689    def __repr__(self):
27690        return '<sdm.SecretEngineDeleteRequest ' + \
27691            'id: ' + repr(self.id) + ' ' +\
27692            '>'
27693
27694    def to_dict(self):
27695        return {
27696            'id': self.id,
27697        }
27698
27699    @classmethod
27700    def from_dict(cls, d):
27701        return cls(id=d.get('id'), )
27702
27703
27704class SecretEngineDeleteResponse:
27705    '''
27706         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27707    '''
27708    __slots__ = [
27709        'rate_limit',
27710    ]
27711
27712    def __init__(
27713        self,
27714        rate_limit=None,
27715    ):
27716        self.rate_limit = rate_limit if rate_limit is not None else None
27717        '''
27718         Rate limit information.
27719        '''
27720
27721    def __repr__(self):
27722        return '<sdm.SecretEngineDeleteResponse ' + \
27723            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27724            '>'
27725
27726    def to_dict(self):
27727        return {
27728            'rate_limit': self.rate_limit,
27729        }
27730
27731    @classmethod
27732    def from_dict(cls, d):
27733        return cls(rate_limit=d.get('rate_limit'), )
27734
27735
27736class SecretEngineGetRequest:
27737    '''
27738         SecretEngineGetRequest specifies which Secret Engine to retrieve
27739    '''
27740    __slots__ = [
27741        'id',
27742    ]
27743
27744    def __init__(
27745        self,
27746        id=None,
27747    ):
27748        self.id = id if id is not None else ''
27749        '''
27750         The unique identifier of the Secret Engine to retrieve.
27751        '''
27752
27753    def __repr__(self):
27754        return '<sdm.SecretEngineGetRequest ' + \
27755            'id: ' + repr(self.id) + ' ' +\
27756            '>'
27757
27758    def to_dict(self):
27759        return {
27760            'id': self.id,
27761        }
27762
27763    @classmethod
27764    def from_dict(cls, d):
27765        return cls(id=d.get('id'), )
27766
27767
27768class SecretEngineGetResponse:
27769    '''
27770         SecretEngineGetResponse contains information about requested Secret Engine
27771    '''
27772    __slots__ = [
27773        'meta',
27774        'rate_limit',
27775        'secret_engine',
27776    ]
27777
27778    def __init__(
27779        self,
27780        meta=None,
27781        rate_limit=None,
27782        secret_engine=None,
27783    ):
27784        self.meta = meta if meta is not None else None
27785        '''
27786         Reserved for future use.
27787        '''
27788        self.rate_limit = rate_limit if rate_limit is not None else None
27789        '''
27790         Rate limit information.
27791        '''
27792        self.secret_engine = secret_engine if secret_engine is not None else None
27793        '''
27794         The requested Secret Engine.
27795        '''
27796
27797    def __repr__(self):
27798        return '<sdm.SecretEngineGetResponse ' + \
27799            'meta: ' + repr(self.meta) + ' ' +\
27800            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27801            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27802            '>'
27803
27804    def to_dict(self):
27805        return {
27806            'meta': self.meta,
27807            'rate_limit': self.rate_limit,
27808            'secret_engine': self.secret_engine,
27809        }
27810
27811    @classmethod
27812    def from_dict(cls, d):
27813        return cls(
27814            meta=d.get('meta'),
27815            rate_limit=d.get('rate_limit'),
27816            secret_engine=d.get('secret_engine'),
27817        )
27818
27819
27820class SecretEngineListRequest:
27821    '''
27822         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27823    '''
27824    __slots__ = [
27825        'filter',
27826    ]
27827
27828    def __init__(
27829        self,
27830        filter=None,
27831    ):
27832        self.filter = filter if filter is not None else ''
27833        '''
27834         A human-readable filter query string.
27835        '''
27836
27837    def __repr__(self):
27838        return '<sdm.SecretEngineListRequest ' + \
27839            'filter: ' + repr(self.filter) + ' ' +\
27840            '>'
27841
27842    def to_dict(self):
27843        return {
27844            'filter': self.filter,
27845        }
27846
27847    @classmethod
27848    def from_dict(cls, d):
27849        return cls(filter=d.get('filter'), )
27850
27851
27852class SecretEngineListResponse:
27853    '''
27854         SecretEngineListResponse contains a list of requested Secret Engine
27855    '''
27856    __slots__ = [
27857        'rate_limit',
27858    ]
27859
27860    def __init__(
27861        self,
27862        rate_limit=None,
27863    ):
27864        self.rate_limit = rate_limit if rate_limit is not None else None
27865        '''
27866         Rate limit information.
27867        '''
27868
27869    def __repr__(self):
27870        return '<sdm.SecretEngineListResponse ' + \
27871            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27872            '>'
27873
27874    def to_dict(self):
27875        return {
27876            'rate_limit': self.rate_limit,
27877        }
27878
27879    @classmethod
27880    def from_dict(cls, d):
27881        return cls(rate_limit=d.get('rate_limit'), )
27882
27883
27884class SecretEnginePasswordPolicy:
27885    __slots__ = [
27886        'allow_repeat',
27887        'exclude_characters',
27888        'exclude_upper_case',
27889        'length',
27890        'num_digits',
27891        'num_symbols',
27892    ]
27893
27894    def __init__(
27895        self,
27896        allow_repeat=None,
27897        exclude_characters=None,
27898        exclude_upper_case=None,
27899        length=None,
27900        num_digits=None,
27901        num_symbols=None,
27902    ):
27903        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27904        '''
27905         If set to true allows for consecutive characters to repeat itself
27906        '''
27907        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27908        '''
27909         Characters to exclude when generating password
27910        '''
27911        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27912        '''
27913         If set to true do not include upper case letters when generating password
27914        '''
27915        self.length = length if length is not None else 0
27916        '''
27917         Password length.
27918        '''
27919        self.num_digits = num_digits if num_digits is not None else 0
27920        '''
27921         Numbers of digits to use when generating password
27922        '''
27923        self.num_symbols = num_symbols if num_symbols is not None else 0
27924        '''
27925         Number of symbols to use when generating password
27926        '''
27927
27928    def __repr__(self):
27929        return '<sdm.SecretEnginePasswordPolicy ' + \
27930            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27931            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27932            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27933            'length: ' + repr(self.length) + ' ' +\
27934            'num_digits: ' + repr(self.num_digits) + ' ' +\
27935            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27936            '>'
27937
27938    def to_dict(self):
27939        return {
27940            'allow_repeat': self.allow_repeat,
27941            'exclude_characters': self.exclude_characters,
27942            'exclude_upper_case': self.exclude_upper_case,
27943            'length': self.length,
27944            'num_digits': self.num_digits,
27945            'num_symbols': self.num_symbols,
27946        }
27947
27948    @classmethod
27949    def from_dict(cls, d):
27950        return cls(
27951            allow_repeat=d.get('allow_repeat'),
27952            exclude_characters=d.get('exclude_characters'),
27953            exclude_upper_case=d.get('exclude_upper_case'),
27954            length=d.get('length'),
27955            num_digits=d.get('num_digits'),
27956            num_symbols=d.get('num_symbols'),
27957        )
27958
27959
27960class SecretEnginePolicy:
27961    __slots__ = [
27962        'password_policy',
27963    ]
27964
27965    def __init__(
27966        self,
27967        password_policy=None,
27968    ):
27969        self.password_policy = password_policy if password_policy is not None else None
27970        '''
27971         Policy for password
27972        '''
27973
27974    def __repr__(self):
27975        return '<sdm.SecretEnginePolicy ' + \
27976            'password_policy: ' + repr(self.password_policy) + ' ' +\
27977            '>'
27978
27979    def to_dict(self):
27980        return {
27981            'password_policy': self.password_policy,
27982        }
27983
27984    @classmethod
27985    def from_dict(cls, d):
27986        return cls(password_policy=d.get('password_policy'), )
27987
27988
27989class SecretEngineRotateRequest:
27990    __slots__ = [
27991        'id',
27992        'password_policy',
27993    ]
27994
27995    def __init__(
27996        self,
27997        id=None,
27998        password_policy=None,
27999    ):
28000        self.id = id if id is not None else ''
28001        '''
28002         The unique identifier of the Secret Engine to rotate credentials for.
28003        '''
28004        self.password_policy = password_policy if password_policy is not None else None
28005        '''
28006         Optional password policy to use when generating a password
28007         If not provided it will use secret engine's password_policy
28008        '''
28009
28010    def __repr__(self):
28011        return '<sdm.SecretEngineRotateRequest ' + \
28012            'id: ' + repr(self.id) + ' ' +\
28013            'password_policy: ' + repr(self.password_policy) + ' ' +\
28014            '>'
28015
28016    def to_dict(self):
28017        return {
28018            'id': self.id,
28019            'password_policy': self.password_policy,
28020        }
28021
28022    @classmethod
28023    def from_dict(cls, d):
28024        return cls(
28025            id=d.get('id'),
28026            password_policy=d.get('password_policy'),
28027        )
28028
28029
28030class SecretEngineRotateResponse:
28031    __slots__ = [
28032        'rate_limit',
28033    ]
28034
28035    def __init__(
28036        self,
28037        rate_limit=None,
28038    ):
28039        self.rate_limit = rate_limit if rate_limit is not None else None
28040        '''
28041         Rate limit information.
28042        '''
28043
28044    def __repr__(self):
28045        return '<sdm.SecretEngineRotateResponse ' + \
28046            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28047            '>'
28048
28049    def to_dict(self):
28050        return {
28051            'rate_limit': self.rate_limit,
28052        }
28053
28054    @classmethod
28055    def from_dict(cls, d):
28056        return cls(rate_limit=d.get('rate_limit'), )
28057
28058
28059class SecretEngineUpdateRequest:
28060    '''
28061         SecretEngineUpdateRequest specifies secret engine to update
28062    '''
28063    __slots__ = [
28064        'secret_engine',
28065    ]
28066
28067    def __init__(
28068        self,
28069        secret_engine=None,
28070    ):
28071        self.secret_engine = secret_engine if secret_engine is not None else None
28072        '''
28073         Secret engine to update
28074        '''
28075
28076    def __repr__(self):
28077        return '<sdm.SecretEngineUpdateRequest ' + \
28078            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
28079            '>'
28080
28081    def to_dict(self):
28082        return {
28083            'secret_engine': self.secret_engine,
28084        }
28085
28086    @classmethod
28087    def from_dict(cls, d):
28088        return cls(secret_engine=d.get('secret_engine'), )
28089
28090
28091class SecretEngineUpdateResponse:
28092    '''
28093         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
28094    '''
28095    __slots__ = [
28096        'meta',
28097        'rate_limit',
28098        'secret_engine',
28099    ]
28100
28101    def __init__(
28102        self,
28103        meta=None,
28104        rate_limit=None,
28105        secret_engine=None,
28106    ):
28107        self.meta = meta if meta is not None else None
28108        '''
28109         Reserved for future use.
28110        '''
28111        self.rate_limit = rate_limit if rate_limit is not None else None
28112        '''
28113         Rate limit information.
28114        '''
28115        self.secret_engine = secret_engine if secret_engine is not None else None
28116        '''
28117         The requested Secret Engine.
28118        '''
28119
28120    def __repr__(self):
28121        return '<sdm.SecretEngineUpdateResponse ' + \
28122            'meta: ' + repr(self.meta) + ' ' +\
28123            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28124            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
28125            '>'
28126
28127    def to_dict(self):
28128        return {
28129            'meta': self.meta,
28130            'rate_limit': self.rate_limit,
28131            'secret_engine': self.secret_engine,
28132        }
28133
28134    @classmethod
28135    def from_dict(cls, d):
28136        return cls(
28137            meta=d.get('meta'),
28138            rate_limit=d.get('rate_limit'),
28139            secret_engine=d.get('secret_engine'),
28140        )
28141
28142
28143class SecretStoreCreateResponse:
28144    '''
28145         SecretStoreCreateResponse reports how the SecretStores were created in the system.
28146    '''
28147    __slots__ = [
28148        'meta',
28149        'rate_limit',
28150        'secret_store',
28151    ]
28152
28153    def __init__(
28154        self,
28155        meta=None,
28156        rate_limit=None,
28157        secret_store=None,
28158    ):
28159        self.meta = meta if meta is not None else None
28160        '''
28161         Reserved for future use.
28162        '''
28163        self.rate_limit = rate_limit if rate_limit is not None else None
28164        '''
28165         Rate limit information.
28166        '''
28167        self.secret_store = secret_store if secret_store is not None else None
28168        '''
28169         The created SecretStore.
28170        '''
28171
28172    def __repr__(self):
28173        return '<sdm.SecretStoreCreateResponse ' + \
28174            'meta: ' + repr(self.meta) + ' ' +\
28175            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28176            'secret_store: ' + repr(self.secret_store) + ' ' +\
28177            '>'
28178
28179    def to_dict(self):
28180        return {
28181            'meta': self.meta,
28182            'rate_limit': self.rate_limit,
28183            'secret_store': self.secret_store,
28184        }
28185
28186    @classmethod
28187    def from_dict(cls, d):
28188        return cls(
28189            meta=d.get('meta'),
28190            rate_limit=d.get('rate_limit'),
28191            secret_store=d.get('secret_store'),
28192        )
28193
28194
28195class SecretStoreDeleteResponse:
28196    '''
28197         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
28198    '''
28199    __slots__ = [
28200        'meta',
28201        'rate_limit',
28202    ]
28203
28204    def __init__(
28205        self,
28206        meta=None,
28207        rate_limit=None,
28208    ):
28209        self.meta = meta if meta is not None else None
28210        '''
28211         Reserved for future use.
28212        '''
28213        self.rate_limit = rate_limit if rate_limit is not None else None
28214        '''
28215         Rate limit information.
28216        '''
28217
28218    def __repr__(self):
28219        return '<sdm.SecretStoreDeleteResponse ' + \
28220            'meta: ' + repr(self.meta) + ' ' +\
28221            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28222            '>'
28223
28224    def to_dict(self):
28225        return {
28226            'meta': self.meta,
28227            'rate_limit': self.rate_limit,
28228        }
28229
28230    @classmethod
28231    def from_dict(cls, d):
28232        return cls(
28233            meta=d.get('meta'),
28234            rate_limit=d.get('rate_limit'),
28235        )
28236
28237
28238class SecretStoreGetResponse:
28239    '''
28240         SecretStoreGetResponse returns a requested SecretStore.
28241    '''
28242    __slots__ = [
28243        'meta',
28244        'rate_limit',
28245        'secret_store',
28246    ]
28247
28248    def __init__(
28249        self,
28250        meta=None,
28251        rate_limit=None,
28252        secret_store=None,
28253    ):
28254        self.meta = meta if meta is not None else None
28255        '''
28256         Reserved for future use.
28257        '''
28258        self.rate_limit = rate_limit if rate_limit is not None else None
28259        '''
28260         Rate limit information.
28261        '''
28262        self.secret_store = secret_store if secret_store is not None else None
28263        '''
28264         The requested SecretStore.
28265        '''
28266
28267    def __repr__(self):
28268        return '<sdm.SecretStoreGetResponse ' + \
28269            'meta: ' + repr(self.meta) + ' ' +\
28270            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28271            'secret_store: ' + repr(self.secret_store) + ' ' +\
28272            '>'
28273
28274    def to_dict(self):
28275        return {
28276            'meta': self.meta,
28277            'rate_limit': self.rate_limit,
28278            'secret_store': self.secret_store,
28279        }
28280
28281    @classmethod
28282    def from_dict(cls, d):
28283        return cls(
28284            meta=d.get('meta'),
28285            rate_limit=d.get('rate_limit'),
28286            secret_store=d.get('secret_store'),
28287        )
28288
28289
28290class SecretStoreHealth:
28291    '''
28292         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
28293     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
28294     or set of nodes.
28295    '''
28296    __slots__ = [
28297        'changed_at',
28298        'checked_at',
28299        'error',
28300        'flags',
28301        'node_id',
28302        'reachability',
28303        'secret_store_id',
28304        'status',
28305    ]
28306
28307    def __init__(
28308        self,
28309        changed_at=None,
28310        checked_at=None,
28311        error=None,
28312        flags=None,
28313        node_id=None,
28314        reachability=None,
28315        secret_store_id=None,
28316        status=None,
28317    ):
28318        self.changed_at = changed_at if changed_at is not None else None
28319        '''
28320         The time when the status last changed
28321        '''
28322        self.checked_at = checked_at if checked_at is not None else None
28323        '''
28324         The time when the status was last checked by the node
28325        '''
28326        self.error = error if error is not None else ''
28327        '''
28328         The error associated with this health check, if it occurred after reachability checks succeeded.
28329        '''
28330        self.flags = flags if flags is not None else []
28331        '''
28332         Any specific status or error flags associated with this health check.
28333        '''
28334        self.node_id = node_id if node_id is not None else ''
28335        '''
28336         Associated node id for this health
28337        '''
28338        self.reachability = reachability if reachability is not None else ''
28339        '''
28340         The error associated with this health check, if it occurred during reachability checks.
28341        '''
28342        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28343        '''
28344         Associated secret store for this health
28345        '''
28346        self.status = status if status is not None else ''
28347        '''
28348         The status of the link between the node and secret store
28349        '''
28350
28351    def __repr__(self):
28352        return '<sdm.SecretStoreHealth ' + \
28353            'changed_at: ' + repr(self.changed_at) + ' ' +\
28354            'checked_at: ' + repr(self.checked_at) + ' ' +\
28355            'error: ' + repr(self.error) + ' ' +\
28356            'flags: ' + repr(self.flags) + ' ' +\
28357            'node_id: ' + repr(self.node_id) + ' ' +\
28358            'reachability: ' + repr(self.reachability) + ' ' +\
28359            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28360            'status: ' + repr(self.status) + ' ' +\
28361            '>'
28362
28363    def to_dict(self):
28364        return {
28365            'changed_at': self.changed_at,
28366            'checked_at': self.checked_at,
28367            'error': self.error,
28368            'flags': self.flags,
28369            'node_id': self.node_id,
28370            'reachability': self.reachability,
28371            'secret_store_id': self.secret_store_id,
28372            'status': self.status,
28373        }
28374
28375    @classmethod
28376    def from_dict(cls, d):
28377        return cls(
28378            changed_at=d.get('changed_at'),
28379            checked_at=d.get('checked_at'),
28380            error=d.get('error'),
28381            flags=d.get('flags'),
28382            node_id=d.get('node_id'),
28383            reachability=d.get('reachability'),
28384            secret_store_id=d.get('secret_store_id'),
28385            status=d.get('status'),
28386        )
28387
28388
28389class SecretStoreHealthListResponse:
28390    __slots__ = [
28391        'rate_limit',
28392    ]
28393
28394    def __init__(
28395        self,
28396        rate_limit=None,
28397    ):
28398        self.rate_limit = rate_limit if rate_limit is not None else None
28399        '''
28400         Rate limit information.
28401        '''
28402
28403    def __repr__(self):
28404        return '<sdm.SecretStoreHealthListResponse ' + \
28405            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28406            '>'
28407
28408    def to_dict(self):
28409        return {
28410            'rate_limit': self.rate_limit,
28411        }
28412
28413    @classmethod
28414    def from_dict(cls, d):
28415        return cls(rate_limit=d.get('rate_limit'), )
28416
28417
28418class SecretStoreHealthcheckResponse:
28419    __slots__ = [
28420        'rate_limit',
28421    ]
28422
28423    def __init__(
28424        self,
28425        rate_limit=None,
28426    ):
28427        self.rate_limit = rate_limit if rate_limit is not None else None
28428        '''
28429         Rate limit information.
28430        '''
28431
28432    def __repr__(self):
28433        return '<sdm.SecretStoreHealthcheckResponse ' + \
28434            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28435            '>'
28436
28437    def to_dict(self):
28438        return {
28439            'rate_limit': self.rate_limit,
28440        }
28441
28442    @classmethod
28443    def from_dict(cls, d):
28444        return cls(rate_limit=d.get('rate_limit'), )
28445
28446
28447class SecretStoreHistory:
28448    '''
28449         SecretStoreHistory records the state of a SecretStore at a given point in time,
28450     where every change (create, update and delete) to a SecretStore produces an
28451     SecretStoreHistory record.
28452    '''
28453    __slots__ = [
28454        'activity_id',
28455        'deleted_at',
28456        'secret_store',
28457        'timestamp',
28458    ]
28459
28460    def __init__(
28461        self,
28462        activity_id=None,
28463        deleted_at=None,
28464        secret_store=None,
28465        timestamp=None,
28466    ):
28467        self.activity_id = activity_id if activity_id is not None else ''
28468        '''
28469         The unique identifier of the Activity that produced this change to the SecretStore.
28470         May be empty for some system-initiated updates.
28471        '''
28472        self.deleted_at = deleted_at if deleted_at is not None else None
28473        '''
28474         If this SecretStore was deleted, the time it was deleted.
28475        '''
28476        self.secret_store = secret_store if secret_store is not None else None
28477        '''
28478         The complete SecretStore state at this time.
28479        '''
28480        self.timestamp = timestamp if timestamp is not None else None
28481        '''
28482         The time at which the SecretStore state was recorded.
28483        '''
28484
28485    def __repr__(self):
28486        return '<sdm.SecretStoreHistory ' + \
28487            'activity_id: ' + repr(self.activity_id) + ' ' +\
28488            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28489            'secret_store: ' + repr(self.secret_store) + ' ' +\
28490            'timestamp: ' + repr(self.timestamp) + ' ' +\
28491            '>'
28492
28493    def to_dict(self):
28494        return {
28495            'activity_id': self.activity_id,
28496            'deleted_at': self.deleted_at,
28497            'secret_store': self.secret_store,
28498            'timestamp': self.timestamp,
28499        }
28500
28501    @classmethod
28502    def from_dict(cls, d):
28503        return cls(
28504            activity_id=d.get('activity_id'),
28505            deleted_at=d.get('deleted_at'),
28506            secret_store=d.get('secret_store'),
28507            timestamp=d.get('timestamp'),
28508        )
28509
28510
28511class SecretStoreUpdateResponse:
28512    '''
28513         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28514     a SecretStoreUpdateRequest.
28515    '''
28516    __slots__ = [
28517        'meta',
28518        'rate_limit',
28519        'secret_store',
28520    ]
28521
28522    def __init__(
28523        self,
28524        meta=None,
28525        rate_limit=None,
28526        secret_store=None,
28527    ):
28528        self.meta = meta if meta is not None else None
28529        '''
28530         Reserved for future use.
28531        '''
28532        self.rate_limit = rate_limit if rate_limit is not None else None
28533        '''
28534         Rate limit information.
28535        '''
28536        self.secret_store = secret_store if secret_store is not None else None
28537        '''
28538         The updated SecretStore.
28539        '''
28540
28541    def __repr__(self):
28542        return '<sdm.SecretStoreUpdateResponse ' + \
28543            'meta: ' + repr(self.meta) + ' ' +\
28544            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28545            'secret_store: ' + repr(self.secret_store) + ' ' +\
28546            '>'
28547
28548    def to_dict(self):
28549        return {
28550            'meta': self.meta,
28551            'rate_limit': self.rate_limit,
28552            'secret_store': self.secret_store,
28553        }
28554
28555    @classmethod
28556    def from_dict(cls, d):
28557        return cls(
28558            meta=d.get('meta'),
28559            rate_limit=d.get('rate_limit'),
28560            secret_store=d.get('secret_store'),
28561        )
28562
28563
28564class Service:
28565    '''
28566         A Service is a service account that can connect to resources they are granted
28567     directly, or granted via roles. Services are typically automated jobs.
28568    '''
28569    __slots__ = [
28570        'id',
28571        'name',
28572        'suspended',
28573        'tags',
28574    ]
28575
28576    def __init__(
28577        self,
28578        id=None,
28579        name=None,
28580        suspended=None,
28581        tags=None,
28582    ):
28583        self.id = id if id is not None else ''
28584        '''
28585         Unique identifier of the Service.
28586        '''
28587        self.name = name if name is not None else ''
28588        '''
28589         Unique human-readable name of the Service.
28590        '''
28591        self.suspended = suspended if suspended is not None else False
28592        '''
28593         The Service's suspended state.
28594        '''
28595        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28596        '''
28597         Tags is a map of key, value pairs.
28598        '''
28599
28600    def __repr__(self):
28601        return '<sdm.Service ' + \
28602            'id: ' + repr(self.id) + ' ' +\
28603            'name: ' + repr(self.name) + ' ' +\
28604            'suspended: ' + repr(self.suspended) + ' ' +\
28605            'tags: ' + repr(self.tags) + ' ' +\
28606            '>'
28607
28608    def to_dict(self):
28609        return {
28610            'id': self.id,
28611            'name': self.name,
28612            'suspended': self.suspended,
28613            'tags': self.tags,
28614        }
28615
28616    @classmethod
28617    def from_dict(cls, d):
28618        return cls(
28619            id=d.get('id'),
28620            name=d.get('name'),
28621            suspended=d.get('suspended'),
28622            tags=d.get('tags'),
28623        )
28624
28625
28626class SingleStore:
28627    __slots__ = [
28628        'bind_interface',
28629        'database',
28630        'egress_filter',
28631        'healthy',
28632        'hostname',
28633        'id',
28634        'name',
28635        'password',
28636        'port',
28637        'port_override',
28638        'proxy_cluster_id',
28639        'require_native_auth',
28640        'secret_store_id',
28641        'subdomain',
28642        'tags',
28643        'use_azure_single_server_usernames',
28644        'username',
28645    ]
28646
28647    def __init__(
28648        self,
28649        bind_interface=None,
28650        database=None,
28651        egress_filter=None,
28652        healthy=None,
28653        hostname=None,
28654        id=None,
28655        name=None,
28656        password=None,
28657        port=None,
28658        port_override=None,
28659        proxy_cluster_id=None,
28660        require_native_auth=None,
28661        secret_store_id=None,
28662        subdomain=None,
28663        tags=None,
28664        use_azure_single_server_usernames=None,
28665        username=None,
28666    ):
28667        self.bind_interface = bind_interface if bind_interface is not None else ''
28668        '''
28669         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28670        '''
28671        self.database = database if database is not None else ''
28672        '''
28673         The database for healthchecks. Does not affect client requests.
28674        '''
28675        self.egress_filter = egress_filter if egress_filter is not None else ''
28676        '''
28677         A filter applied to the routing logic to pin datasource to nodes.
28678        '''
28679        self.healthy = healthy if healthy is not None else False
28680        '''
28681         True if the datasource is reachable and the credentials are valid.
28682        '''
28683        self.hostname = hostname if hostname is not None else ''
28684        '''
28685         The host to dial to initiate a connection from the egress node to this resource.
28686        '''
28687        self.id = id if id is not None else ''
28688        '''
28689         Unique identifier of the Resource.
28690        '''
28691        self.name = name if name is not None else ''
28692        '''
28693         Unique human-readable name of the Resource.
28694        '''
28695        self.password = password if password is not None else ''
28696        '''
28697         The password to authenticate with.
28698        '''
28699        self.port = port if port is not None else 0
28700        '''
28701         The port to dial to initiate a connection from the egress node to this resource.
28702        '''
28703        self.port_override = port_override if port_override is not None else 0
28704        '''
28705         The local port used by clients to connect to this resource.
28706        '''
28707        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28708        '''
28709         ID of the proxy cluster for this resource, if any.
28710        '''
28711        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28712        '''
28713         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28714        '''
28715        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28716        '''
28717         ID of the secret store containing credentials for this resource, if any.
28718        '''
28719        self.subdomain = subdomain if subdomain is not None else ''
28720        '''
28721         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28722        '''
28723        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28724        '''
28725         Tags is a map of key, value pairs.
28726        '''
28727        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28728        '''
28729         If true, appends the hostname to the username when hitting a database.azure.com address
28730        '''
28731        self.username = username if username is not None else ''
28732        '''
28733         The username to authenticate with.
28734        '''
28735
28736    def __repr__(self):
28737        return '<sdm.SingleStore ' + \
28738            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28739            'database: ' + repr(self.database) + ' ' +\
28740            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28741            'healthy: ' + repr(self.healthy) + ' ' +\
28742            'hostname: ' + repr(self.hostname) + ' ' +\
28743            'id: ' + repr(self.id) + ' ' +\
28744            'name: ' + repr(self.name) + ' ' +\
28745            'password: ' + repr(self.password) + ' ' +\
28746            'port: ' + repr(self.port) + ' ' +\
28747            'port_override: ' + repr(self.port_override) + ' ' +\
28748            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28749            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28750            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28751            'subdomain: ' + repr(self.subdomain) + ' ' +\
28752            'tags: ' + repr(self.tags) + ' ' +\
28753            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28754            'username: ' + repr(self.username) + ' ' +\
28755            '>'
28756
28757    def to_dict(self):
28758        return {
28759            'bind_interface': self.bind_interface,
28760            'database': self.database,
28761            'egress_filter': self.egress_filter,
28762            'healthy': self.healthy,
28763            'hostname': self.hostname,
28764            'id': self.id,
28765            'name': self.name,
28766            'password': self.password,
28767            'port': self.port,
28768            'port_override': self.port_override,
28769            'proxy_cluster_id': self.proxy_cluster_id,
28770            'require_native_auth': self.require_native_auth,
28771            'secret_store_id': self.secret_store_id,
28772            'subdomain': self.subdomain,
28773            'tags': self.tags,
28774            'use_azure_single_server_usernames':
28775            self.use_azure_single_server_usernames,
28776            'username': self.username,
28777        }
28778
28779    @classmethod
28780    def from_dict(cls, d):
28781        return cls(
28782            bind_interface=d.get('bind_interface'),
28783            database=d.get('database'),
28784            egress_filter=d.get('egress_filter'),
28785            healthy=d.get('healthy'),
28786            hostname=d.get('hostname'),
28787            id=d.get('id'),
28788            name=d.get('name'),
28789            password=d.get('password'),
28790            port=d.get('port'),
28791            port_override=d.get('port_override'),
28792            proxy_cluster_id=d.get('proxy_cluster_id'),
28793            require_native_auth=d.get('require_native_auth'),
28794            secret_store_id=d.get('secret_store_id'),
28795            subdomain=d.get('subdomain'),
28796            tags=d.get('tags'),
28797            use_azure_single_server_usernames=d.get(
28798                'use_azure_single_server_usernames'),
28799            username=d.get('username'),
28800        )
28801
28802
28803class Snowflake:
28804    __slots__ = [
28805        'bind_interface',
28806        'database',
28807        'egress_filter',
28808        'healthy',
28809        'hostname',
28810        'id',
28811        'name',
28812        'password',
28813        'port_override',
28814        'private_key',
28815        'proxy_cluster_id',
28816        'schema',
28817        'secret_store_id',
28818        'subdomain',
28819        'tags',
28820        'username',
28821    ]
28822
28823    def __init__(
28824        self,
28825        bind_interface=None,
28826        database=None,
28827        egress_filter=None,
28828        healthy=None,
28829        hostname=None,
28830        id=None,
28831        name=None,
28832        password=None,
28833        port_override=None,
28834        private_key=None,
28835        proxy_cluster_id=None,
28836        schema=None,
28837        secret_store_id=None,
28838        subdomain=None,
28839        tags=None,
28840        username=None,
28841    ):
28842        self.bind_interface = bind_interface if bind_interface is not None else ''
28843        '''
28844         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28845        '''
28846        self.database = database if database is not None else ''
28847        '''
28848         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28849        '''
28850        self.egress_filter = egress_filter if egress_filter is not None else ''
28851        '''
28852         A filter applied to the routing logic to pin datasource to nodes.
28853        '''
28854        self.healthy = healthy if healthy is not None else False
28855        '''
28856         True if the datasource is reachable and the credentials are valid.
28857        '''
28858        self.hostname = hostname if hostname is not None else ''
28859        '''
28860         The host to dial to initiate a connection from the egress node to this resource.
28861        '''
28862        self.id = id if id is not None else ''
28863        '''
28864         Unique identifier of the Resource.
28865        '''
28866        self.name = name if name is not None else ''
28867        '''
28868         Unique human-readable name of the Resource.
28869        '''
28870        self.password = password if password is not None else ''
28871        '''
28872         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
28873        '''
28874        self.port_override = port_override if port_override is not None else 0
28875        '''
28876         The local port used by clients to connect to this resource.
28877        '''
28878        self.private_key = private_key if private_key is not None else ''
28879        '''
28880         RSA Private Key for authentication
28881        '''
28882        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28883        '''
28884         ID of the proxy cluster for this resource, if any.
28885        '''
28886        self.schema = schema if schema is not None else ''
28887        '''
28888         The schema to provide on authentication.
28889        '''
28890        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28891        '''
28892         ID of the secret store containing credentials for this resource, if any.
28893        '''
28894        self.subdomain = subdomain if subdomain is not None else ''
28895        '''
28896         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28897        '''
28898        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28899        '''
28900         Tags is a map of key, value pairs.
28901        '''
28902        self.username = username if username is not None else ''
28903        '''
28904         The username to authenticate with.
28905        '''
28906
28907    def __repr__(self):
28908        return '<sdm.Snowflake ' + \
28909            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28910            'database: ' + repr(self.database) + ' ' +\
28911            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28912            'healthy: ' + repr(self.healthy) + ' ' +\
28913            'hostname: ' + repr(self.hostname) + ' ' +\
28914            'id: ' + repr(self.id) + ' ' +\
28915            'name: ' + repr(self.name) + ' ' +\
28916            'password: ' + repr(self.password) + ' ' +\
28917            'port_override: ' + repr(self.port_override) + ' ' +\
28918            'private_key: ' + repr(self.private_key) + ' ' +\
28919            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28920            'schema: ' + repr(self.schema) + ' ' +\
28921            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28922            'subdomain: ' + repr(self.subdomain) + ' ' +\
28923            'tags: ' + repr(self.tags) + ' ' +\
28924            'username: ' + repr(self.username) + ' ' +\
28925            '>'
28926
28927    def to_dict(self):
28928        return {
28929            'bind_interface': self.bind_interface,
28930            'database': self.database,
28931            'egress_filter': self.egress_filter,
28932            'healthy': self.healthy,
28933            'hostname': self.hostname,
28934            'id': self.id,
28935            'name': self.name,
28936            'password': self.password,
28937            'port_override': self.port_override,
28938            'private_key': self.private_key,
28939            'proxy_cluster_id': self.proxy_cluster_id,
28940            'schema': self.schema,
28941            'secret_store_id': self.secret_store_id,
28942            'subdomain': self.subdomain,
28943            'tags': self.tags,
28944            'username': self.username,
28945        }
28946
28947    @classmethod
28948    def from_dict(cls, d):
28949        return cls(
28950            bind_interface=d.get('bind_interface'),
28951            database=d.get('database'),
28952            egress_filter=d.get('egress_filter'),
28953            healthy=d.get('healthy'),
28954            hostname=d.get('hostname'),
28955            id=d.get('id'),
28956            name=d.get('name'),
28957            password=d.get('password'),
28958            port_override=d.get('port_override'),
28959            private_key=d.get('private_key'),
28960            proxy_cluster_id=d.get('proxy_cluster_id'),
28961            schema=d.get('schema'),
28962            secret_store_id=d.get('secret_store_id'),
28963            subdomain=d.get('subdomain'),
28964            tags=d.get('tags'),
28965            username=d.get('username'),
28966        )
28967
28968
28969class Snowsight:
28970    __slots__ = [
28971        'bind_interface',
28972        'egress_filter',
28973        'healthcheck_username',
28974        'healthy',
28975        'id',
28976        'name',
28977        'port_override',
28978        'proxy_cluster_id',
28979        'samlmetadata',
28980        'secret_store_id',
28981        'subdomain',
28982        'tags',
28983    ]
28984
28985    def __init__(
28986        self,
28987        bind_interface=None,
28988        egress_filter=None,
28989        healthcheck_username=None,
28990        healthy=None,
28991        id=None,
28992        name=None,
28993        port_override=None,
28994        proxy_cluster_id=None,
28995        samlmetadata=None,
28996        secret_store_id=None,
28997        subdomain=None,
28998        tags=None,
28999    ):
29000        self.bind_interface = bind_interface if bind_interface is not None else ''
29001        '''
29002         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29003        '''
29004        self.egress_filter = egress_filter if egress_filter is not None else ''
29005        '''
29006         A filter applied to the routing logic to pin datasource to nodes.
29007        '''
29008        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
29009        '''
29010         The StrongDM user email to use for healthchecks.
29011        '''
29012        self.healthy = healthy if healthy is not None else False
29013        '''
29014         True if the datasource is reachable and the credentials are valid.
29015        '''
29016        self.id = id if id is not None else ''
29017        '''
29018         Unique identifier of the Resource.
29019        '''
29020        self.name = name if name is not None else ''
29021        '''
29022         Unique human-readable name of the Resource.
29023        '''
29024        self.port_override = port_override if port_override is not None else 0
29025        '''
29026         The local port used by clients to connect to this resource.
29027        '''
29028        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29029        '''
29030         ID of the proxy cluster for this resource, if any.
29031        '''
29032        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
29033        '''
29034         The Metadata for your snowflake IDP integration
29035        '''
29036        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29037        '''
29038         ID of the secret store containing credentials for this resource, if any.
29039        '''
29040        self.subdomain = subdomain if subdomain is not None else ''
29041        '''
29042         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29043        '''
29044        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29045        '''
29046         Tags is a map of key, value pairs.
29047        '''
29048
29049    def __repr__(self):
29050        return '<sdm.Snowsight ' + \
29051            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29052            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29053            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
29054            'healthy: ' + repr(self.healthy) + ' ' +\
29055            'id: ' + repr(self.id) + ' ' +\
29056            'name: ' + repr(self.name) + ' ' +\
29057            'port_override: ' + repr(self.port_override) + ' ' +\
29058            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29059            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
29060            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29061            'subdomain: ' + repr(self.subdomain) + ' ' +\
29062            'tags: ' + repr(self.tags) + ' ' +\
29063            '>'
29064
29065    def to_dict(self):
29066        return {
29067            'bind_interface': self.bind_interface,
29068            'egress_filter': self.egress_filter,
29069            'healthcheck_username': self.healthcheck_username,
29070            'healthy': self.healthy,
29071            'id': self.id,
29072            'name': self.name,
29073            'port_override': self.port_override,
29074            'proxy_cluster_id': self.proxy_cluster_id,
29075            'samlmetadata': self.samlmetadata,
29076            'secret_store_id': self.secret_store_id,
29077            'subdomain': self.subdomain,
29078            'tags': self.tags,
29079        }
29080
29081    @classmethod
29082    def from_dict(cls, d):
29083        return cls(
29084            bind_interface=d.get('bind_interface'),
29085            egress_filter=d.get('egress_filter'),
29086            healthcheck_username=d.get('healthcheck_username'),
29087            healthy=d.get('healthy'),
29088            id=d.get('id'),
29089            name=d.get('name'),
29090            port_override=d.get('port_override'),
29091            proxy_cluster_id=d.get('proxy_cluster_id'),
29092            samlmetadata=d.get('samlmetadata'),
29093            secret_store_id=d.get('secret_store_id'),
29094            subdomain=d.get('subdomain'),
29095            tags=d.get('tags'),
29096        )
29097
29098
29099class Sybase:
29100    __slots__ = [
29101        'bind_interface',
29102        'egress_filter',
29103        'healthy',
29104        'hostname',
29105        'id',
29106        'name',
29107        'password',
29108        'port',
29109        'port_override',
29110        'proxy_cluster_id',
29111        'secret_store_id',
29112        'subdomain',
29113        'tags',
29114        'username',
29115    ]
29116
29117    def __init__(
29118        self,
29119        bind_interface=None,
29120        egress_filter=None,
29121        healthy=None,
29122        hostname=None,
29123        id=None,
29124        name=None,
29125        password=None,
29126        port=None,
29127        port_override=None,
29128        proxy_cluster_id=None,
29129        secret_store_id=None,
29130        subdomain=None,
29131        tags=None,
29132        username=None,
29133    ):
29134        self.bind_interface = bind_interface if bind_interface is not None else ''
29135        '''
29136         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29137        '''
29138        self.egress_filter = egress_filter if egress_filter is not None else ''
29139        '''
29140         A filter applied to the routing logic to pin datasource to nodes.
29141        '''
29142        self.healthy = healthy if healthy is not None else False
29143        '''
29144         True if the datasource is reachable and the credentials are valid.
29145        '''
29146        self.hostname = hostname if hostname is not None else ''
29147        '''
29148         The host to dial to initiate a connection from the egress node to this resource.
29149        '''
29150        self.id = id if id is not None else ''
29151        '''
29152         Unique identifier of the Resource.
29153        '''
29154        self.name = name if name is not None else ''
29155        '''
29156         Unique human-readable name of the Resource.
29157        '''
29158        self.password = password if password is not None else ''
29159        '''
29160         The password to authenticate with.
29161        '''
29162        self.port = port if port is not None else 0
29163        '''
29164         The port to dial to initiate a connection from the egress node to this resource.
29165        '''
29166        self.port_override = port_override if port_override is not None else 0
29167        '''
29168         The local port used by clients to connect to this resource.
29169        '''
29170        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29171        '''
29172         ID of the proxy cluster for this resource, if any.
29173        '''
29174        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29175        '''
29176         ID of the secret store containing credentials for this resource, if any.
29177        '''
29178        self.subdomain = subdomain if subdomain is not None else ''
29179        '''
29180         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29181        '''
29182        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29183        '''
29184         Tags is a map of key, value pairs.
29185        '''
29186        self.username = username if username is not None else ''
29187        '''
29188         The username to authenticate with.
29189        '''
29190
29191    def __repr__(self):
29192        return '<sdm.Sybase ' + \
29193            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29194            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29195            'healthy: ' + repr(self.healthy) + ' ' +\
29196            'hostname: ' + repr(self.hostname) + ' ' +\
29197            'id: ' + repr(self.id) + ' ' +\
29198            'name: ' + repr(self.name) + ' ' +\
29199            'password: ' + repr(self.password) + ' ' +\
29200            'port: ' + repr(self.port) + ' ' +\
29201            'port_override: ' + repr(self.port_override) + ' ' +\
29202            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29203            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29204            'subdomain: ' + repr(self.subdomain) + ' ' +\
29205            'tags: ' + repr(self.tags) + ' ' +\
29206            'username: ' + repr(self.username) + ' ' +\
29207            '>'
29208
29209    def to_dict(self):
29210        return {
29211            'bind_interface': self.bind_interface,
29212            'egress_filter': self.egress_filter,
29213            'healthy': self.healthy,
29214            'hostname': self.hostname,
29215            'id': self.id,
29216            'name': self.name,
29217            'password': self.password,
29218            'port': self.port,
29219            'port_override': self.port_override,
29220            'proxy_cluster_id': self.proxy_cluster_id,
29221            'secret_store_id': self.secret_store_id,
29222            'subdomain': self.subdomain,
29223            'tags': self.tags,
29224            'username': self.username,
29225        }
29226
29227    @classmethod
29228    def from_dict(cls, d):
29229        return cls(
29230            bind_interface=d.get('bind_interface'),
29231            egress_filter=d.get('egress_filter'),
29232            healthy=d.get('healthy'),
29233            hostname=d.get('hostname'),
29234            id=d.get('id'),
29235            name=d.get('name'),
29236            password=d.get('password'),
29237            port=d.get('port'),
29238            port_override=d.get('port_override'),
29239            proxy_cluster_id=d.get('proxy_cluster_id'),
29240            secret_store_id=d.get('secret_store_id'),
29241            subdomain=d.get('subdomain'),
29242            tags=d.get('tags'),
29243            username=d.get('username'),
29244        )
29245
29246
29247class SybaseIQ:
29248    __slots__ = [
29249        'bind_interface',
29250        'egress_filter',
29251        'healthy',
29252        'hostname',
29253        'id',
29254        'name',
29255        'password',
29256        'port',
29257        'port_override',
29258        'proxy_cluster_id',
29259        'secret_store_id',
29260        'subdomain',
29261        'tags',
29262        'username',
29263    ]
29264
29265    def __init__(
29266        self,
29267        bind_interface=None,
29268        egress_filter=None,
29269        healthy=None,
29270        hostname=None,
29271        id=None,
29272        name=None,
29273        password=None,
29274        port=None,
29275        port_override=None,
29276        proxy_cluster_id=None,
29277        secret_store_id=None,
29278        subdomain=None,
29279        tags=None,
29280        username=None,
29281    ):
29282        self.bind_interface = bind_interface if bind_interface is not None else ''
29283        '''
29284         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29285        '''
29286        self.egress_filter = egress_filter if egress_filter is not None else ''
29287        '''
29288         A filter applied to the routing logic to pin datasource to nodes.
29289        '''
29290        self.healthy = healthy if healthy is not None else False
29291        '''
29292         True if the datasource is reachable and the credentials are valid.
29293        '''
29294        self.hostname = hostname if hostname is not None else ''
29295        '''
29296         The host to dial to initiate a connection from the egress node to this resource.
29297        '''
29298        self.id = id if id is not None else ''
29299        '''
29300         Unique identifier of the Resource.
29301        '''
29302        self.name = name if name is not None else ''
29303        '''
29304         Unique human-readable name of the Resource.
29305        '''
29306        self.password = password if password is not None else ''
29307        '''
29308         The password to authenticate with.
29309        '''
29310        self.port = port if port is not None else 0
29311        '''
29312         The port to dial to initiate a connection from the egress node to this resource.
29313        '''
29314        self.port_override = port_override if port_override is not None else 0
29315        '''
29316         The local port used by clients to connect to this resource.
29317        '''
29318        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29319        '''
29320         ID of the proxy cluster for this resource, if any.
29321        '''
29322        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29323        '''
29324         ID of the secret store containing credentials for this resource, if any.
29325        '''
29326        self.subdomain = subdomain if subdomain is not None else ''
29327        '''
29328         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29329        '''
29330        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29331        '''
29332         Tags is a map of key, value pairs.
29333        '''
29334        self.username = username if username is not None else ''
29335        '''
29336         The username to authenticate with.
29337        '''
29338
29339    def __repr__(self):
29340        return '<sdm.SybaseIQ ' + \
29341            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29342            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29343            'healthy: ' + repr(self.healthy) + ' ' +\
29344            'hostname: ' + repr(self.hostname) + ' ' +\
29345            'id: ' + repr(self.id) + ' ' +\
29346            'name: ' + repr(self.name) + ' ' +\
29347            'password: ' + repr(self.password) + ' ' +\
29348            'port: ' + repr(self.port) + ' ' +\
29349            'port_override: ' + repr(self.port_override) + ' ' +\
29350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29351            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29352            'subdomain: ' + repr(self.subdomain) + ' ' +\
29353            'tags: ' + repr(self.tags) + ' ' +\
29354            'username: ' + repr(self.username) + ' ' +\
29355            '>'
29356
29357    def to_dict(self):
29358        return {
29359            'bind_interface': self.bind_interface,
29360            'egress_filter': self.egress_filter,
29361            'healthy': self.healthy,
29362            'hostname': self.hostname,
29363            'id': self.id,
29364            'name': self.name,
29365            'password': self.password,
29366            'port': self.port,
29367            'port_override': self.port_override,
29368            'proxy_cluster_id': self.proxy_cluster_id,
29369            'secret_store_id': self.secret_store_id,
29370            'subdomain': self.subdomain,
29371            'tags': self.tags,
29372            'username': self.username,
29373        }
29374
29375    @classmethod
29376    def from_dict(cls, d):
29377        return cls(
29378            bind_interface=d.get('bind_interface'),
29379            egress_filter=d.get('egress_filter'),
29380            healthy=d.get('healthy'),
29381            hostname=d.get('hostname'),
29382            id=d.get('id'),
29383            name=d.get('name'),
29384            password=d.get('password'),
29385            port=d.get('port'),
29386            port_override=d.get('port_override'),
29387            proxy_cluster_id=d.get('proxy_cluster_id'),
29388            secret_store_id=d.get('secret_store_id'),
29389            subdomain=d.get('subdomain'),
29390            tags=d.get('tags'),
29391            username=d.get('username'),
29392        )
29393
29394
29395class Tag:
29396    __slots__ = [
29397        'name',
29398        'value',
29399    ]
29400
29401    def __init__(
29402        self,
29403        name=None,
29404        value=None,
29405    ):
29406        self.name = name if name is not None else ''
29407        '''
29408         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29409        '''
29410        self.value = value if value is not None else ''
29411        '''
29412         The value of this tag.
29413        '''
29414
29415    def __repr__(self):
29416        return '<sdm.Tag ' + \
29417            'name: ' + repr(self.name) + ' ' +\
29418            'value: ' + repr(self.value) + ' ' +\
29419            '>'
29420
29421    def to_dict(self):
29422        return {
29423            'name': self.name,
29424            'value': self.value,
29425        }
29426
29427    @classmethod
29428    def from_dict(cls, d):
29429        return cls(
29430            name=d.get('name'),
29431            value=d.get('value'),
29432        )
29433
29434
29435class Teradata:
29436    __slots__ = [
29437        'bind_interface',
29438        'egress_filter',
29439        'healthy',
29440        'hostname',
29441        'id',
29442        'name',
29443        'password',
29444        'port',
29445        'port_override',
29446        'proxy_cluster_id',
29447        'secret_store_id',
29448        'subdomain',
29449        'tags',
29450        'username',
29451    ]
29452
29453    def __init__(
29454        self,
29455        bind_interface=None,
29456        egress_filter=None,
29457        healthy=None,
29458        hostname=None,
29459        id=None,
29460        name=None,
29461        password=None,
29462        port=None,
29463        port_override=None,
29464        proxy_cluster_id=None,
29465        secret_store_id=None,
29466        subdomain=None,
29467        tags=None,
29468        username=None,
29469    ):
29470        self.bind_interface = bind_interface if bind_interface is not None else ''
29471        '''
29472         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29473        '''
29474        self.egress_filter = egress_filter if egress_filter is not None else ''
29475        '''
29476         A filter applied to the routing logic to pin datasource to nodes.
29477        '''
29478        self.healthy = healthy if healthy is not None else False
29479        '''
29480         True if the datasource is reachable and the credentials are valid.
29481        '''
29482        self.hostname = hostname if hostname is not None else ''
29483        '''
29484         The host to dial to initiate a connection from the egress node to this resource.
29485        '''
29486        self.id = id if id is not None else ''
29487        '''
29488         Unique identifier of the Resource.
29489        '''
29490        self.name = name if name is not None else ''
29491        '''
29492         Unique human-readable name of the Resource.
29493        '''
29494        self.password = password if password is not None else ''
29495        '''
29496         The password to authenticate with.
29497        '''
29498        self.port = port if port is not None else 0
29499        '''
29500         The port to dial to initiate a connection from the egress node to this resource.
29501        '''
29502        self.port_override = port_override if port_override is not None else 0
29503        '''
29504         The local port used by clients to connect to this resource.
29505        '''
29506        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29507        '''
29508         ID of the proxy cluster for this resource, if any.
29509        '''
29510        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29511        '''
29512         ID of the secret store containing credentials for this resource, if any.
29513        '''
29514        self.subdomain = subdomain if subdomain is not None else ''
29515        '''
29516         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29517        '''
29518        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29519        '''
29520         Tags is a map of key, value pairs.
29521        '''
29522        self.username = username if username is not None else ''
29523        '''
29524         The username to authenticate with.
29525        '''
29526
29527    def __repr__(self):
29528        return '<sdm.Teradata ' + \
29529            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29530            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29531            'healthy: ' + repr(self.healthy) + ' ' +\
29532            'hostname: ' + repr(self.hostname) + ' ' +\
29533            'id: ' + repr(self.id) + ' ' +\
29534            'name: ' + repr(self.name) + ' ' +\
29535            'password: ' + repr(self.password) + ' ' +\
29536            'port: ' + repr(self.port) + ' ' +\
29537            'port_override: ' + repr(self.port_override) + ' ' +\
29538            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29539            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29540            'subdomain: ' + repr(self.subdomain) + ' ' +\
29541            'tags: ' + repr(self.tags) + ' ' +\
29542            'username: ' + repr(self.username) + ' ' +\
29543            '>'
29544
29545    def to_dict(self):
29546        return {
29547            'bind_interface': self.bind_interface,
29548            'egress_filter': self.egress_filter,
29549            'healthy': self.healthy,
29550            'hostname': self.hostname,
29551            'id': self.id,
29552            'name': self.name,
29553            'password': self.password,
29554            'port': self.port,
29555            'port_override': self.port_override,
29556            'proxy_cluster_id': self.proxy_cluster_id,
29557            'secret_store_id': self.secret_store_id,
29558            'subdomain': self.subdomain,
29559            'tags': self.tags,
29560            'username': self.username,
29561        }
29562
29563    @classmethod
29564    def from_dict(cls, d):
29565        return cls(
29566            bind_interface=d.get('bind_interface'),
29567            egress_filter=d.get('egress_filter'),
29568            healthy=d.get('healthy'),
29569            hostname=d.get('hostname'),
29570            id=d.get('id'),
29571            name=d.get('name'),
29572            password=d.get('password'),
29573            port=d.get('port'),
29574            port_override=d.get('port_override'),
29575            proxy_cluster_id=d.get('proxy_cluster_id'),
29576            secret_store_id=d.get('secret_store_id'),
29577            subdomain=d.get('subdomain'),
29578            tags=d.get('tags'),
29579            username=d.get('username'),
29580        )
29581
29582
29583class Token:
29584    '''
29585         A Token is an account providing tokenized access for automation or integration use.
29586     Tokens include admin tokens, API keys, and SCIM tokens.
29587    '''
29588    __slots__ = [
29589        'account_type',
29590        'deadline',
29591        'duration',
29592        'id',
29593        'name',
29594        'permissions',
29595        'rekeyed',
29596        'suspended',
29597        'tags',
29598    ]
29599
29600    def __init__(
29601        self,
29602        account_type=None,
29603        deadline=None,
29604        duration=None,
29605        id=None,
29606        name=None,
29607        permissions=None,
29608        rekeyed=None,
29609        suspended=None,
29610        tags=None,
29611    ):
29612        self.account_type = account_type if account_type is not None else ''
29613        '''
29614         Corresponds to the type of token, e.g. api or admin-token.
29615        '''
29616        self.deadline = deadline if deadline is not None else None
29617        '''
29618         The timestamp when the Token will expire.
29619        '''
29620        self.duration = duration if duration is not None else None
29621        '''
29622         Duration from token creation to expiration.
29623        '''
29624        self.id = id if id is not None else ''
29625        '''
29626         Unique identifier of the Token.
29627        '''
29628        self.name = name if name is not None else ''
29629        '''
29630         Unique human-readable name of the Token.
29631        '''
29632        self.permissions = permissions if permissions is not None else []
29633        '''
29634         Permissions assigned to the token, e.g. role:create.
29635        '''
29636        self.rekeyed = rekeyed if rekeyed is not None else None
29637        '''
29638         The timestamp when the Token was last rekeyed.
29639        '''
29640        self.suspended = suspended if suspended is not None else False
29641        '''
29642         Reserved for future use.  Always false for tokens.
29643        '''
29644        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29645        '''
29646         Tags is a map of key, value pairs.
29647        '''
29648
29649    def __repr__(self):
29650        return '<sdm.Token ' + \
29651            'account_type: ' + repr(self.account_type) + ' ' +\
29652            'deadline: ' + repr(self.deadline) + ' ' +\
29653            'duration: ' + repr(self.duration) + ' ' +\
29654            'id: ' + repr(self.id) + ' ' +\
29655            'name: ' + repr(self.name) + ' ' +\
29656            'permissions: ' + repr(self.permissions) + ' ' +\
29657            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29658            'suspended: ' + repr(self.suspended) + ' ' +\
29659            'tags: ' + repr(self.tags) + ' ' +\
29660            '>'
29661
29662    def to_dict(self):
29663        return {
29664            'account_type': self.account_type,
29665            'deadline': self.deadline,
29666            'duration': self.duration,
29667            'id': self.id,
29668            'name': self.name,
29669            'permissions': self.permissions,
29670            'rekeyed': self.rekeyed,
29671            'suspended': self.suspended,
29672            'tags': self.tags,
29673        }
29674
29675    @classmethod
29676    def from_dict(cls, d):
29677        return cls(
29678            account_type=d.get('account_type'),
29679            deadline=d.get('deadline'),
29680            duration=d.get('duration'),
29681            id=d.get('id'),
29682            name=d.get('name'),
29683            permissions=d.get('permissions'),
29684            rekeyed=d.get('rekeyed'),
29685            suspended=d.get('suspended'),
29686            tags=d.get('tags'),
29687        )
29688
29689
29690class Trino:
29691    __slots__ = [
29692        'bind_interface',
29693        'egress_filter',
29694        'healthy',
29695        'hostname',
29696        'id',
29697        'name',
29698        'password',
29699        'port',
29700        'port_override',
29701        'proxy_cluster_id',
29702        'secret_store_id',
29703        'subdomain',
29704        'tags',
29705        'tls_required',
29706        'username',
29707    ]
29708
29709    def __init__(
29710        self,
29711        bind_interface=None,
29712        egress_filter=None,
29713        healthy=None,
29714        hostname=None,
29715        id=None,
29716        name=None,
29717        password=None,
29718        port=None,
29719        port_override=None,
29720        proxy_cluster_id=None,
29721        secret_store_id=None,
29722        subdomain=None,
29723        tags=None,
29724        tls_required=None,
29725        username=None,
29726    ):
29727        self.bind_interface = bind_interface if bind_interface is not None else ''
29728        '''
29729         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29730        '''
29731        self.egress_filter = egress_filter if egress_filter is not None else ''
29732        '''
29733         A filter applied to the routing logic to pin datasource to nodes.
29734        '''
29735        self.healthy = healthy if healthy is not None else False
29736        '''
29737         True if the datasource is reachable and the credentials are valid.
29738        '''
29739        self.hostname = hostname if hostname is not None else ''
29740        '''
29741         The host to dial to initiate a connection from the egress node to this resource.
29742        '''
29743        self.id = id if id is not None else ''
29744        '''
29745         Unique identifier of the Resource.
29746        '''
29747        self.name = name if name is not None else ''
29748        '''
29749         Unique human-readable name of the Resource.
29750        '''
29751        self.password = password if password is not None else ''
29752        '''
29753         The password to authenticate with.
29754        '''
29755        self.port = port if port is not None else 0
29756        '''
29757         The port to dial to initiate a connection from the egress node to this resource.
29758        '''
29759        self.port_override = port_override if port_override is not None else 0
29760        '''
29761         The local port used by clients to connect to this resource.
29762        '''
29763        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29764        '''
29765         ID of the proxy cluster for this resource, if any.
29766        '''
29767        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29768        '''
29769         ID of the secret store containing credentials for this resource, if any.
29770        '''
29771        self.subdomain = subdomain if subdomain is not None else ''
29772        '''
29773         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29774        '''
29775        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29776        '''
29777         Tags is a map of key, value pairs.
29778        '''
29779        self.tls_required = tls_required if tls_required is not None else False
29780        '''
29781         If set, TLS must be used to connect to this resource.
29782        '''
29783        self.username = username if username is not None else ''
29784        '''
29785         The username to authenticate with.
29786        '''
29787
29788    def __repr__(self):
29789        return '<sdm.Trino ' + \
29790            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29791            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29792            'healthy: ' + repr(self.healthy) + ' ' +\
29793            'hostname: ' + repr(self.hostname) + ' ' +\
29794            'id: ' + repr(self.id) + ' ' +\
29795            'name: ' + repr(self.name) + ' ' +\
29796            'password: ' + repr(self.password) + ' ' +\
29797            'port: ' + repr(self.port) + ' ' +\
29798            'port_override: ' + repr(self.port_override) + ' ' +\
29799            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29800            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29801            'subdomain: ' + repr(self.subdomain) + ' ' +\
29802            'tags: ' + repr(self.tags) + ' ' +\
29803            'tls_required: ' + repr(self.tls_required) + ' ' +\
29804            'username: ' + repr(self.username) + ' ' +\
29805            '>'
29806
29807    def to_dict(self):
29808        return {
29809            'bind_interface': self.bind_interface,
29810            'egress_filter': self.egress_filter,
29811            'healthy': self.healthy,
29812            'hostname': self.hostname,
29813            'id': self.id,
29814            'name': self.name,
29815            'password': self.password,
29816            'port': self.port,
29817            'port_override': self.port_override,
29818            'proxy_cluster_id': self.proxy_cluster_id,
29819            'secret_store_id': self.secret_store_id,
29820            'subdomain': self.subdomain,
29821            'tags': self.tags,
29822            'tls_required': self.tls_required,
29823            'username': self.username,
29824        }
29825
29826    @classmethod
29827    def from_dict(cls, d):
29828        return cls(
29829            bind_interface=d.get('bind_interface'),
29830            egress_filter=d.get('egress_filter'),
29831            healthy=d.get('healthy'),
29832            hostname=d.get('hostname'),
29833            id=d.get('id'),
29834            name=d.get('name'),
29835            password=d.get('password'),
29836            port=d.get('port'),
29837            port_override=d.get('port_override'),
29838            proxy_cluster_id=d.get('proxy_cluster_id'),
29839            secret_store_id=d.get('secret_store_id'),
29840            subdomain=d.get('subdomain'),
29841            tags=d.get('tags'),
29842            tls_required=d.get('tls_required'),
29843            username=d.get('username'),
29844        )
29845
29846
29847class UpdateResponseMetadata:
29848    '''
29849         UpdateResponseMetadata is reserved for future use.
29850    '''
29851    __slots__ = []
29852
29853    def __init__(self, ):
29854        pass
29855
29856    def __repr__(self):
29857        return '<sdm.UpdateResponseMetadata ' + \
29858            '>'
29859
29860    def to_dict(self):
29861        return {}
29862
29863    @classmethod
29864    def from_dict(cls, d):
29865        return cls()
29866
29867
29868class User:
29869    '''
29870         A User can connect to resources they are granted directly, or granted
29871     via roles.
29872    '''
29873    __slots__ = [
29874        'scim',
29875        'email',
29876        'external_id',
29877        'first_name',
29878        'id',
29879        'last_name',
29880        'managed_by',
29881        'manager_id',
29882        'password',
29883        'permission_level',
29884        'resolved_manager_id',
29885        'suspended',
29886        'tags',
29887    ]
29888
29889    def __init__(
29890        self,
29891        scim=None,
29892        email=None,
29893        external_id=None,
29894        first_name=None,
29895        id=None,
29896        last_name=None,
29897        managed_by=None,
29898        manager_id=None,
29899        password=None,
29900        permission_level=None,
29901        resolved_manager_id=None,
29902        suspended=None,
29903        tags=None,
29904    ):
29905        self.scim = scim if scim is not None else ''
29906        '''
29907         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29908        '''
29909        self.email = email if email is not None else ''
29910        '''
29911         The User's email address. Must be unique.
29912        '''
29913        self.external_id = external_id if external_id is not None else ''
29914        '''
29915         External ID is an alternative unique ID this user is represented by within an external service.
29916        '''
29917        self.first_name = first_name if first_name is not None else ''
29918        '''
29919         The User's first name.
29920        '''
29921        self.id = id if id is not None else ''
29922        '''
29923         Unique identifier of the User.
29924        '''
29925        self.last_name = last_name if last_name is not None else ''
29926        '''
29927         The User's last name.
29928        '''
29929        self.managed_by = managed_by if managed_by is not None else ''
29930        '''
29931         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29932        '''
29933        self.manager_id = manager_id if manager_id is not None else ''
29934        '''
29935         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29936        '''
29937        self.password = password if password is not None else ''
29938        '''
29939         Password is a write-only field that can be used to set the user's password.
29940         Currently only supported for update.
29941        '''
29942        self.permission_level = permission_level if permission_level is not None else ''
29943        '''
29944         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29945        '''
29946        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29947        '''
29948         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29949         if present, or from the SCIM metadata.
29950         This is a read-only field that's only populated for get and list.
29951        '''
29952        self.suspended = suspended if suspended is not None else False
29953        '''
29954         Suspended is a read only field for the User's suspended state.
29955        '''
29956        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29957        '''
29958         Tags is a map of key, value pairs.
29959        '''
29960
29961    def __repr__(self):
29962        return '<sdm.User ' + \
29963            'scim: ' + repr(self.scim) + ' ' +\
29964            'email: ' + repr(self.email) + ' ' +\
29965            'external_id: ' + repr(self.external_id) + ' ' +\
29966            'first_name: ' + repr(self.first_name) + ' ' +\
29967            'id: ' + repr(self.id) + ' ' +\
29968            'last_name: ' + repr(self.last_name) + ' ' +\
29969            'managed_by: ' + repr(self.managed_by) + ' ' +\
29970            'manager_id: ' + repr(self.manager_id) + ' ' +\
29971            'password: ' + repr(self.password) + ' ' +\
29972            'permission_level: ' + repr(self.permission_level) + ' ' +\
29973            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29974            'suspended: ' + repr(self.suspended) + ' ' +\
29975            'tags: ' + repr(self.tags) + ' ' +\
29976            '>'
29977
29978    def to_dict(self):
29979        return {
29980            'scim': self.scim,
29981            'email': self.email,
29982            'external_id': self.external_id,
29983            'first_name': self.first_name,
29984            'id': self.id,
29985            'last_name': self.last_name,
29986            'managed_by': self.managed_by,
29987            'manager_id': self.manager_id,
29988            'password': self.password,
29989            'permission_level': self.permission_level,
29990            'resolved_manager_id': self.resolved_manager_id,
29991            'suspended': self.suspended,
29992            'tags': self.tags,
29993        }
29994
29995    @classmethod
29996    def from_dict(cls, d):
29997        return cls(
29998            scim=d.get('scim'),
29999            email=d.get('email'),
30000            external_id=d.get('external_id'),
30001            first_name=d.get('first_name'),
30002            id=d.get('id'),
30003            last_name=d.get('last_name'),
30004            managed_by=d.get('managed_by'),
30005            manager_id=d.get('manager_id'),
30006            password=d.get('password'),
30007            permission_level=d.get('permission_level'),
30008            resolved_manager_id=d.get('resolved_manager_id'),
30009            suspended=d.get('suspended'),
30010            tags=d.get('tags'),
30011        )
30012
30013
30014class VaultAWSEC2Store:
30015    __slots__ = [
30016        'id',
30017        'name',
30018        'namespace',
30019        'server_address',
30020        'tags',
30021    ]
30022
30023    def __init__(
30024        self,
30025        id=None,
30026        name=None,
30027        namespace=None,
30028        server_address=None,
30029        tags=None,
30030    ):
30031        self.id = id if id is not None else ''
30032        '''
30033         Unique identifier of the SecretStore.
30034        '''
30035        self.name = name if name is not None else ''
30036        '''
30037         Unique human-readable name of the SecretStore.
30038        '''
30039        self.namespace = namespace if namespace is not None else ''
30040        '''
30041         The namespace to make requests within
30042        '''
30043        self.server_address = server_address if server_address is not None else ''
30044        '''
30045         The URL of the Vault to target
30046        '''
30047        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30048        '''
30049         Tags is a map of key, value pairs.
30050        '''
30051
30052    def __repr__(self):
30053        return '<sdm.VaultAWSEC2Store ' + \
30054            'id: ' + repr(self.id) + ' ' +\
30055            'name: ' + repr(self.name) + ' ' +\
30056            'namespace: ' + repr(self.namespace) + ' ' +\
30057            'server_address: ' + repr(self.server_address) + ' ' +\
30058            'tags: ' + repr(self.tags) + ' ' +\
30059            '>'
30060
30061    def to_dict(self):
30062        return {
30063            'id': self.id,
30064            'name': self.name,
30065            'namespace': self.namespace,
30066            'server_address': self.server_address,
30067            'tags': self.tags,
30068        }
30069
30070    @classmethod
30071    def from_dict(cls, d):
30072        return cls(
30073            id=d.get('id'),
30074            name=d.get('name'),
30075            namespace=d.get('namespace'),
30076            server_address=d.get('server_address'),
30077            tags=d.get('tags'),
30078        )
30079
30080
30081class VaultAWSIAMStore:
30082    __slots__ = [
30083        'id',
30084        'name',
30085        'namespace',
30086        'server_address',
30087        'tags',
30088    ]
30089
30090    def __init__(
30091        self,
30092        id=None,
30093        name=None,
30094        namespace=None,
30095        server_address=None,
30096        tags=None,
30097    ):
30098        self.id = id if id is not None else ''
30099        '''
30100         Unique identifier of the SecretStore.
30101        '''
30102        self.name = name if name is not None else ''
30103        '''
30104         Unique human-readable name of the SecretStore.
30105        '''
30106        self.namespace = namespace if namespace is not None else ''
30107        '''
30108         The namespace to make requests within
30109        '''
30110        self.server_address = server_address if server_address is not None else ''
30111        '''
30112         The URL of the Vault to target
30113        '''
30114        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30115        '''
30116         Tags is a map of key, value pairs.
30117        '''
30118
30119    def __repr__(self):
30120        return '<sdm.VaultAWSIAMStore ' + \
30121            'id: ' + repr(self.id) + ' ' +\
30122            'name: ' + repr(self.name) + ' ' +\
30123            'namespace: ' + repr(self.namespace) + ' ' +\
30124            'server_address: ' + repr(self.server_address) + ' ' +\
30125            'tags: ' + repr(self.tags) + ' ' +\
30126            '>'
30127
30128    def to_dict(self):
30129        return {
30130            'id': self.id,
30131            'name': self.name,
30132            'namespace': self.namespace,
30133            'server_address': self.server_address,
30134            'tags': self.tags,
30135        }
30136
30137    @classmethod
30138    def from_dict(cls, d):
30139        return cls(
30140            id=d.get('id'),
30141            name=d.get('name'),
30142            namespace=d.get('namespace'),
30143            server_address=d.get('server_address'),
30144            tags=d.get('tags'),
30145        )
30146
30147
30148class VaultAppRoleCertSSHStore:
30149    __slots__ = [
30150        'id',
30151        'issuedcertttlminutes',
30152        'name',
30153        'namespace',
30154        'server_address',
30155        'signing_role',
30156        'ssh_mount_point',
30157        'tags',
30158    ]
30159
30160    def __init__(
30161        self,
30162        id=None,
30163        issuedcertttlminutes=None,
30164        name=None,
30165        namespace=None,
30166        server_address=None,
30167        signing_role=None,
30168        ssh_mount_point=None,
30169        tags=None,
30170    ):
30171        self.id = id if id is not None else ''
30172        '''
30173         Unique identifier of the SecretStore.
30174        '''
30175        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30176        '''
30177         The lifetime of certificates issued by this CA represented in minutes.
30178        '''
30179        self.name = name if name is not None else ''
30180        '''
30181         Unique human-readable name of the SecretStore.
30182        '''
30183        self.namespace = namespace if namespace is not None else ''
30184        '''
30185         The namespace to make requests within
30186        '''
30187        self.server_address = server_address if server_address is not None else ''
30188        '''
30189         The URL of the Vault to target
30190        '''
30191        self.signing_role = signing_role if signing_role is not None else ''
30192        '''
30193         The signing role to be used for signing certificates
30194        '''
30195        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30196        '''
30197         The mount point of the SSH engine configured with the desired CA
30198        '''
30199        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30200        '''
30201         Tags is a map of key, value pairs.
30202        '''
30203
30204    def __repr__(self):
30205        return '<sdm.VaultAppRoleCertSSHStore ' + \
30206            'id: ' + repr(self.id) + ' ' +\
30207            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30208            'name: ' + repr(self.name) + ' ' +\
30209            'namespace: ' + repr(self.namespace) + ' ' +\
30210            'server_address: ' + repr(self.server_address) + ' ' +\
30211            'signing_role: ' + repr(self.signing_role) + ' ' +\
30212            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30213            'tags: ' + repr(self.tags) + ' ' +\
30214            '>'
30215
30216    def to_dict(self):
30217        return {
30218            'id': self.id,
30219            'issuedcertttlminutes': self.issuedcertttlminutes,
30220            'name': self.name,
30221            'namespace': self.namespace,
30222            'server_address': self.server_address,
30223            'signing_role': self.signing_role,
30224            'ssh_mount_point': self.ssh_mount_point,
30225            'tags': self.tags,
30226        }
30227
30228    @classmethod
30229    def from_dict(cls, d):
30230        return cls(
30231            id=d.get('id'),
30232            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30233            name=d.get('name'),
30234            namespace=d.get('namespace'),
30235            server_address=d.get('server_address'),
30236            signing_role=d.get('signing_role'),
30237            ssh_mount_point=d.get('ssh_mount_point'),
30238            tags=d.get('tags'),
30239        )
30240
30241
30242class VaultAppRoleCertX509Store:
30243    __slots__ = [
30244        'id',
30245        'issuedcertttlminutes',
30246        'name',
30247        'namespace',
30248        'pki_mount_point',
30249        'server_address',
30250        'signing_role',
30251        'tags',
30252    ]
30253
30254    def __init__(
30255        self,
30256        id=None,
30257        issuedcertttlminutes=None,
30258        name=None,
30259        namespace=None,
30260        pki_mount_point=None,
30261        server_address=None,
30262        signing_role=None,
30263        tags=None,
30264    ):
30265        self.id = id if id is not None else ''
30266        '''
30267         Unique identifier of the SecretStore.
30268        '''
30269        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30270        '''
30271         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30272        '''
30273        self.name = name if name is not None else ''
30274        '''
30275         Unique human-readable name of the SecretStore.
30276        '''
30277        self.namespace = namespace if namespace is not None else ''
30278        '''
30279         The namespace to make requests within
30280        '''
30281        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30282        '''
30283         The mount point of the PKI engine configured with the desired CA
30284        '''
30285        self.server_address = server_address if server_address is not None else ''
30286        '''
30287         The URL of the Vault to target
30288        '''
30289        self.signing_role = signing_role if signing_role is not None else ''
30290        '''
30291         The signing role to be used for signing certificates
30292        '''
30293        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30294        '''
30295         Tags is a map of key, value pairs.
30296        '''
30297
30298    def __repr__(self):
30299        return '<sdm.VaultAppRoleCertX509Store ' + \
30300            'id: ' + repr(self.id) + ' ' +\
30301            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30302            'name: ' + repr(self.name) + ' ' +\
30303            'namespace: ' + repr(self.namespace) + ' ' +\
30304            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30305            'server_address: ' + repr(self.server_address) + ' ' +\
30306            'signing_role: ' + repr(self.signing_role) + ' ' +\
30307            'tags: ' + repr(self.tags) + ' ' +\
30308            '>'
30309
30310    def to_dict(self):
30311        return {
30312            'id': self.id,
30313            'issuedcertttlminutes': self.issuedcertttlminutes,
30314            'name': self.name,
30315            'namespace': self.namespace,
30316            'pki_mount_point': self.pki_mount_point,
30317            'server_address': self.server_address,
30318            'signing_role': self.signing_role,
30319            'tags': self.tags,
30320        }
30321
30322    @classmethod
30323    def from_dict(cls, d):
30324        return cls(
30325            id=d.get('id'),
30326            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30327            name=d.get('name'),
30328            namespace=d.get('namespace'),
30329            pki_mount_point=d.get('pki_mount_point'),
30330            server_address=d.get('server_address'),
30331            signing_role=d.get('signing_role'),
30332            tags=d.get('tags'),
30333        )
30334
30335
30336class VaultAppRoleStore:
30337    __slots__ = [
30338        'id',
30339        'name',
30340        'namespace',
30341        'server_address',
30342        'tags',
30343    ]
30344
30345    def __init__(
30346        self,
30347        id=None,
30348        name=None,
30349        namespace=None,
30350        server_address=None,
30351        tags=None,
30352    ):
30353        self.id = id if id is not None else ''
30354        '''
30355         Unique identifier of the SecretStore.
30356        '''
30357        self.name = name if name is not None else ''
30358        '''
30359         Unique human-readable name of the SecretStore.
30360        '''
30361        self.namespace = namespace if namespace is not None else ''
30362        '''
30363         The namespace to make requests within
30364        '''
30365        self.server_address = server_address if server_address is not None else ''
30366        '''
30367         The URL of the Vault to target
30368        '''
30369        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30370        '''
30371         Tags is a map of key, value pairs.
30372        '''
30373
30374    def __repr__(self):
30375        return '<sdm.VaultAppRoleStore ' + \
30376            'id: ' + repr(self.id) + ' ' +\
30377            'name: ' + repr(self.name) + ' ' +\
30378            'namespace: ' + repr(self.namespace) + ' ' +\
30379            'server_address: ' + repr(self.server_address) + ' ' +\
30380            'tags: ' + repr(self.tags) + ' ' +\
30381            '>'
30382
30383    def to_dict(self):
30384        return {
30385            'id': self.id,
30386            'name': self.name,
30387            'namespace': self.namespace,
30388            'server_address': self.server_address,
30389            'tags': self.tags,
30390        }
30391
30392    @classmethod
30393    def from_dict(cls, d):
30394        return cls(
30395            id=d.get('id'),
30396            name=d.get('name'),
30397            namespace=d.get('namespace'),
30398            server_address=d.get('server_address'),
30399            tags=d.get('tags'),
30400        )
30401
30402
30403class VaultTLSCertSSHStore:
30404    __slots__ = [
30405        'ca_cert_path',
30406        'client_cert_path',
30407        'client_key_path',
30408        'id',
30409        'issuedcertttlminutes',
30410        'name',
30411        'namespace',
30412        'server_address',
30413        'signing_role',
30414        'ssh_mount_point',
30415        'tags',
30416    ]
30417
30418    def __init__(
30419        self,
30420        ca_cert_path=None,
30421        client_cert_path=None,
30422        client_key_path=None,
30423        id=None,
30424        issuedcertttlminutes=None,
30425        name=None,
30426        namespace=None,
30427        server_address=None,
30428        signing_role=None,
30429        ssh_mount_point=None,
30430        tags=None,
30431    ):
30432        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30433        '''
30434         A path to a CA file accessible by a Node
30435        '''
30436        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30437        '''
30438         A path to a client certificate file accessible by a Node
30439        '''
30440        self.client_key_path = client_key_path if client_key_path is not None else ''
30441        '''
30442         A path to a client key file accessible by a Node
30443        '''
30444        self.id = id if id is not None else ''
30445        '''
30446         Unique identifier of the SecretStore.
30447        '''
30448        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30449        '''
30450         The lifetime of certificates issued by this CA represented in minutes.
30451        '''
30452        self.name = name if name is not None else ''
30453        '''
30454         Unique human-readable name of the SecretStore.
30455        '''
30456        self.namespace = namespace if namespace is not None else ''
30457        '''
30458         The namespace to make requests within
30459        '''
30460        self.server_address = server_address if server_address is not None else ''
30461        '''
30462         The URL of the Vault to target
30463        '''
30464        self.signing_role = signing_role if signing_role is not None else ''
30465        '''
30466         The signing role to be used for signing certificates
30467        '''
30468        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30469        '''
30470         The mount point of the SSH engine configured with the desired CA
30471        '''
30472        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30473        '''
30474         Tags is a map of key, value pairs.
30475        '''
30476
30477    def __repr__(self):
30478        return '<sdm.VaultTLSCertSSHStore ' + \
30479            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30480            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30481            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30482            'id: ' + repr(self.id) + ' ' +\
30483            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30484            'name: ' + repr(self.name) + ' ' +\
30485            'namespace: ' + repr(self.namespace) + ' ' +\
30486            'server_address: ' + repr(self.server_address) + ' ' +\
30487            'signing_role: ' + repr(self.signing_role) + ' ' +\
30488            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30489            'tags: ' + repr(self.tags) + ' ' +\
30490            '>'
30491
30492    def to_dict(self):
30493        return {
30494            'ca_cert_path': self.ca_cert_path,
30495            'client_cert_path': self.client_cert_path,
30496            'client_key_path': self.client_key_path,
30497            'id': self.id,
30498            'issuedcertttlminutes': self.issuedcertttlminutes,
30499            'name': self.name,
30500            'namespace': self.namespace,
30501            'server_address': self.server_address,
30502            'signing_role': self.signing_role,
30503            'ssh_mount_point': self.ssh_mount_point,
30504            'tags': self.tags,
30505        }
30506
30507    @classmethod
30508    def from_dict(cls, d):
30509        return cls(
30510            ca_cert_path=d.get('ca_cert_path'),
30511            client_cert_path=d.get('client_cert_path'),
30512            client_key_path=d.get('client_key_path'),
30513            id=d.get('id'),
30514            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30515            name=d.get('name'),
30516            namespace=d.get('namespace'),
30517            server_address=d.get('server_address'),
30518            signing_role=d.get('signing_role'),
30519            ssh_mount_point=d.get('ssh_mount_point'),
30520            tags=d.get('tags'),
30521        )
30522
30523
30524class VaultTLSCertX509Store:
30525    __slots__ = [
30526        'ca_cert_path',
30527        'client_cert_path',
30528        'client_key_path',
30529        'id',
30530        'issuedcertttlminutes',
30531        'name',
30532        'namespace',
30533        'pki_mount_point',
30534        'server_address',
30535        'signing_role',
30536        'tags',
30537    ]
30538
30539    def __init__(
30540        self,
30541        ca_cert_path=None,
30542        client_cert_path=None,
30543        client_key_path=None,
30544        id=None,
30545        issuedcertttlminutes=None,
30546        name=None,
30547        namespace=None,
30548        pki_mount_point=None,
30549        server_address=None,
30550        signing_role=None,
30551        tags=None,
30552    ):
30553        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30554        '''
30555         A path to a CA file accessible by a Node
30556        '''
30557        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30558        '''
30559         A path to a client certificate file accessible by a Node
30560        '''
30561        self.client_key_path = client_key_path if client_key_path is not None else ''
30562        '''
30563         A path to a client key file accessible by a Node
30564        '''
30565        self.id = id if id is not None else ''
30566        '''
30567         Unique identifier of the SecretStore.
30568        '''
30569        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30570        '''
30571         The lifetime of certificates issued by this CA represented in minutes.
30572        '''
30573        self.name = name if name is not None else ''
30574        '''
30575         Unique human-readable name of the SecretStore.
30576        '''
30577        self.namespace = namespace if namespace is not None else ''
30578        '''
30579         The namespace to make requests within
30580        '''
30581        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30582        '''
30583         The mount point of the PKI engine configured with the desired CA
30584        '''
30585        self.server_address = server_address if server_address is not None else ''
30586        '''
30587         The URL of the Vault to target
30588        '''
30589        self.signing_role = signing_role if signing_role is not None else ''
30590        '''
30591         The signing role to be used for signing certificates
30592        '''
30593        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30594        '''
30595         Tags is a map of key, value pairs.
30596        '''
30597
30598    def __repr__(self):
30599        return '<sdm.VaultTLSCertX509Store ' + \
30600            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30601            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30602            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30603            'id: ' + repr(self.id) + ' ' +\
30604            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30605            'name: ' + repr(self.name) + ' ' +\
30606            'namespace: ' + repr(self.namespace) + ' ' +\
30607            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30608            'server_address: ' + repr(self.server_address) + ' ' +\
30609            'signing_role: ' + repr(self.signing_role) + ' ' +\
30610            'tags: ' + repr(self.tags) + ' ' +\
30611            '>'
30612
30613    def to_dict(self):
30614        return {
30615            'ca_cert_path': self.ca_cert_path,
30616            'client_cert_path': self.client_cert_path,
30617            'client_key_path': self.client_key_path,
30618            'id': self.id,
30619            'issuedcertttlminutes': self.issuedcertttlminutes,
30620            'name': self.name,
30621            'namespace': self.namespace,
30622            'pki_mount_point': self.pki_mount_point,
30623            'server_address': self.server_address,
30624            'signing_role': self.signing_role,
30625            'tags': self.tags,
30626        }
30627
30628    @classmethod
30629    def from_dict(cls, d):
30630        return cls(
30631            ca_cert_path=d.get('ca_cert_path'),
30632            client_cert_path=d.get('client_cert_path'),
30633            client_key_path=d.get('client_key_path'),
30634            id=d.get('id'),
30635            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30636            name=d.get('name'),
30637            namespace=d.get('namespace'),
30638            pki_mount_point=d.get('pki_mount_point'),
30639            server_address=d.get('server_address'),
30640            signing_role=d.get('signing_role'),
30641            tags=d.get('tags'),
30642        )
30643
30644
30645class VaultTLSStore:
30646    __slots__ = [
30647        'ca_cert_path',
30648        'client_cert_path',
30649        'client_key_path',
30650        'id',
30651        'name',
30652        'namespace',
30653        'server_address',
30654        'tags',
30655    ]
30656
30657    def __init__(
30658        self,
30659        ca_cert_path=None,
30660        client_cert_path=None,
30661        client_key_path=None,
30662        id=None,
30663        name=None,
30664        namespace=None,
30665        server_address=None,
30666        tags=None,
30667    ):
30668        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30669        '''
30670         A path to a CA file accessible by a Node
30671        '''
30672        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30673        '''
30674         A path to a client certificate file accessible by a Node
30675        '''
30676        self.client_key_path = client_key_path if client_key_path is not None else ''
30677        '''
30678         A path to a client key file accessible by a Node
30679        '''
30680        self.id = id if id is not None else ''
30681        '''
30682         Unique identifier of the SecretStore.
30683        '''
30684        self.name = name if name is not None else ''
30685        '''
30686         Unique human-readable name of the SecretStore.
30687        '''
30688        self.namespace = namespace if namespace is not None else ''
30689        '''
30690         The namespace to make requests within
30691        '''
30692        self.server_address = server_address if server_address is not None else ''
30693        '''
30694         The URL of the Vault to target
30695        '''
30696        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30697        '''
30698         Tags is a map of key, value pairs.
30699        '''
30700
30701    def __repr__(self):
30702        return '<sdm.VaultTLSStore ' + \
30703            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30704            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30705            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30706            'id: ' + repr(self.id) + ' ' +\
30707            'name: ' + repr(self.name) + ' ' +\
30708            'namespace: ' + repr(self.namespace) + ' ' +\
30709            'server_address: ' + repr(self.server_address) + ' ' +\
30710            'tags: ' + repr(self.tags) + ' ' +\
30711            '>'
30712
30713    def to_dict(self):
30714        return {
30715            'ca_cert_path': self.ca_cert_path,
30716            'client_cert_path': self.client_cert_path,
30717            'client_key_path': self.client_key_path,
30718            'id': self.id,
30719            'name': self.name,
30720            'namespace': self.namespace,
30721            'server_address': self.server_address,
30722            'tags': self.tags,
30723        }
30724
30725    @classmethod
30726    def from_dict(cls, d):
30727        return cls(
30728            ca_cert_path=d.get('ca_cert_path'),
30729            client_cert_path=d.get('client_cert_path'),
30730            client_key_path=d.get('client_key_path'),
30731            id=d.get('id'),
30732            name=d.get('name'),
30733            namespace=d.get('namespace'),
30734            server_address=d.get('server_address'),
30735            tags=d.get('tags'),
30736        )
30737
30738
30739class VaultTokenCertSSHStore:
30740    __slots__ = [
30741        'id',
30742        'issuedcertttlminutes',
30743        'name',
30744        'namespace',
30745        'server_address',
30746        'signing_role',
30747        'ssh_mount_point',
30748        'tags',
30749    ]
30750
30751    def __init__(
30752        self,
30753        id=None,
30754        issuedcertttlminutes=None,
30755        name=None,
30756        namespace=None,
30757        server_address=None,
30758        signing_role=None,
30759        ssh_mount_point=None,
30760        tags=None,
30761    ):
30762        self.id = id if id is not None else ''
30763        '''
30764         Unique identifier of the SecretStore.
30765        '''
30766        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30767        '''
30768         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30769        '''
30770        self.name = name if name is not None else ''
30771        '''
30772         Unique human-readable name of the SecretStore.
30773        '''
30774        self.namespace = namespace if namespace is not None else ''
30775        '''
30776         The namespace to make requests within
30777        '''
30778        self.server_address = server_address if server_address is not None else ''
30779        '''
30780         The URL of the Vault to target
30781        '''
30782        self.signing_role = signing_role if signing_role is not None else ''
30783        '''
30784         The signing role to be used for signing certificates
30785        '''
30786        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30787        '''
30788         The mount point of the SSH engine configured with the desired CA
30789        '''
30790        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30791        '''
30792         Tags is a map of key, value pairs.
30793        '''
30794
30795    def __repr__(self):
30796        return '<sdm.VaultTokenCertSSHStore ' + \
30797            'id: ' + repr(self.id) + ' ' +\
30798            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30799            'name: ' + repr(self.name) + ' ' +\
30800            'namespace: ' + repr(self.namespace) + ' ' +\
30801            'server_address: ' + repr(self.server_address) + ' ' +\
30802            'signing_role: ' + repr(self.signing_role) + ' ' +\
30803            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30804            'tags: ' + repr(self.tags) + ' ' +\
30805            '>'
30806
30807    def to_dict(self):
30808        return {
30809            'id': self.id,
30810            'issuedcertttlminutes': self.issuedcertttlminutes,
30811            'name': self.name,
30812            'namespace': self.namespace,
30813            'server_address': self.server_address,
30814            'signing_role': self.signing_role,
30815            'ssh_mount_point': self.ssh_mount_point,
30816            'tags': self.tags,
30817        }
30818
30819    @classmethod
30820    def from_dict(cls, d):
30821        return cls(
30822            id=d.get('id'),
30823            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30824            name=d.get('name'),
30825            namespace=d.get('namespace'),
30826            server_address=d.get('server_address'),
30827            signing_role=d.get('signing_role'),
30828            ssh_mount_point=d.get('ssh_mount_point'),
30829            tags=d.get('tags'),
30830        )
30831
30832
30833class VaultTokenCertX509Store:
30834    __slots__ = [
30835        'id',
30836        'issuedcertttlminutes',
30837        'name',
30838        'namespace',
30839        'pki_mount_point',
30840        'server_address',
30841        'signing_role',
30842        'tags',
30843    ]
30844
30845    def __init__(
30846        self,
30847        id=None,
30848        issuedcertttlminutes=None,
30849        name=None,
30850        namespace=None,
30851        pki_mount_point=None,
30852        server_address=None,
30853        signing_role=None,
30854        tags=None,
30855    ):
30856        self.id = id if id is not None else ''
30857        '''
30858         Unique identifier of the SecretStore.
30859        '''
30860        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30861        '''
30862         The lifetime of certificates issued by this CA represented in minutes.
30863        '''
30864        self.name = name if name is not None else ''
30865        '''
30866         Unique human-readable name of the SecretStore.
30867        '''
30868        self.namespace = namespace if namespace is not None else ''
30869        '''
30870         The namespace to make requests within
30871        '''
30872        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30873        '''
30874         The mount point of the PKI engine configured with the desired CA
30875        '''
30876        self.server_address = server_address if server_address is not None else ''
30877        '''
30878         The URL of the Vault to target
30879        '''
30880        self.signing_role = signing_role if signing_role is not None else ''
30881        '''
30882         The signing role to be used for signing certificates
30883        '''
30884        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30885        '''
30886         Tags is a map of key, value pairs.
30887        '''
30888
30889    def __repr__(self):
30890        return '<sdm.VaultTokenCertX509Store ' + \
30891            'id: ' + repr(self.id) + ' ' +\
30892            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30893            'name: ' + repr(self.name) + ' ' +\
30894            'namespace: ' + repr(self.namespace) + ' ' +\
30895            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30896            'server_address: ' + repr(self.server_address) + ' ' +\
30897            'signing_role: ' + repr(self.signing_role) + ' ' +\
30898            'tags: ' + repr(self.tags) + ' ' +\
30899            '>'
30900
30901    def to_dict(self):
30902        return {
30903            'id': self.id,
30904            'issuedcertttlminutes': self.issuedcertttlminutes,
30905            'name': self.name,
30906            'namespace': self.namespace,
30907            'pki_mount_point': self.pki_mount_point,
30908            'server_address': self.server_address,
30909            'signing_role': self.signing_role,
30910            'tags': self.tags,
30911        }
30912
30913    @classmethod
30914    def from_dict(cls, d):
30915        return cls(
30916            id=d.get('id'),
30917            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30918            name=d.get('name'),
30919            namespace=d.get('namespace'),
30920            pki_mount_point=d.get('pki_mount_point'),
30921            server_address=d.get('server_address'),
30922            signing_role=d.get('signing_role'),
30923            tags=d.get('tags'),
30924        )
30925
30926
30927class VaultTokenStore:
30928    __slots__ = [
30929        'id',
30930        'name',
30931        'namespace',
30932        'server_address',
30933        'tags',
30934    ]
30935
30936    def __init__(
30937        self,
30938        id=None,
30939        name=None,
30940        namespace=None,
30941        server_address=None,
30942        tags=None,
30943    ):
30944        self.id = id if id is not None else ''
30945        '''
30946         Unique identifier of the SecretStore.
30947        '''
30948        self.name = name if name is not None else ''
30949        '''
30950         Unique human-readable name of the SecretStore.
30951        '''
30952        self.namespace = namespace if namespace is not None else ''
30953        '''
30954         The namespace to make requests within
30955        '''
30956        self.server_address = server_address if server_address is not None else ''
30957        '''
30958         The URL of the Vault to target
30959        '''
30960        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30961        '''
30962         Tags is a map of key, value pairs.
30963        '''
30964
30965    def __repr__(self):
30966        return '<sdm.VaultTokenStore ' + \
30967            'id: ' + repr(self.id) + ' ' +\
30968            'name: ' + repr(self.name) + ' ' +\
30969            'namespace: ' + repr(self.namespace) + ' ' +\
30970            'server_address: ' + repr(self.server_address) + ' ' +\
30971            'tags: ' + repr(self.tags) + ' ' +\
30972            '>'
30973
30974    def to_dict(self):
30975        return {
30976            'id': self.id,
30977            'name': self.name,
30978            'namespace': self.namespace,
30979            'server_address': self.server_address,
30980            'tags': self.tags,
30981        }
30982
30983    @classmethod
30984    def from_dict(cls, d):
30985        return cls(
30986            id=d.get('id'),
30987            name=d.get('name'),
30988            namespace=d.get('namespace'),
30989            server_address=d.get('server_address'),
30990            tags=d.get('tags'),
30991        )
30992
30993
30994class Vertica:
30995    __slots__ = [
30996        'bind_interface',
30997        'database',
30998        'egress_filter',
30999        'healthy',
31000        'hostname',
31001        'id',
31002        'name',
31003        'password',
31004        'port',
31005        'port_override',
31006        'proxy_cluster_id',
31007        'secret_store_id',
31008        'subdomain',
31009        'tags',
31010        'username',
31011    ]
31012
31013    def __init__(
31014        self,
31015        bind_interface=None,
31016        database=None,
31017        egress_filter=None,
31018        healthy=None,
31019        hostname=None,
31020        id=None,
31021        name=None,
31022        password=None,
31023        port=None,
31024        port_override=None,
31025        proxy_cluster_id=None,
31026        secret_store_id=None,
31027        subdomain=None,
31028        tags=None,
31029        username=None,
31030    ):
31031        self.bind_interface = bind_interface if bind_interface is not None else ''
31032        '''
31033         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
31034        '''
31035        self.database = database if database is not None else ''
31036        '''
31037         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
31038        '''
31039        self.egress_filter = egress_filter if egress_filter is not None else ''
31040        '''
31041         A filter applied to the routing logic to pin datasource to nodes.
31042        '''
31043        self.healthy = healthy if healthy is not None else False
31044        '''
31045         True if the datasource is reachable and the credentials are valid.
31046        '''
31047        self.hostname = hostname if hostname is not None else ''
31048        '''
31049         The host to dial to initiate a connection from the egress node to this resource.
31050        '''
31051        self.id = id if id is not None else ''
31052        '''
31053         Unique identifier of the Resource.
31054        '''
31055        self.name = name if name is not None else ''
31056        '''
31057         Unique human-readable name of the Resource.
31058        '''
31059        self.password = password if password is not None else ''
31060        '''
31061         The password to authenticate with.
31062        '''
31063        self.port = port if port is not None else 0
31064        '''
31065         The port to dial to initiate a connection from the egress node to this resource.
31066        '''
31067        self.port_override = port_override if port_override is not None else 0
31068        '''
31069         The local port used by clients to connect to this resource.
31070        '''
31071        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31072        '''
31073         ID of the proxy cluster for this resource, if any.
31074        '''
31075        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31076        '''
31077         ID of the secret store containing credentials for this resource, if any.
31078        '''
31079        self.subdomain = subdomain if subdomain is not None else ''
31080        '''
31081         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
31082        '''
31083        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31084        '''
31085         Tags is a map of key, value pairs.
31086        '''
31087        self.username = username if username is not None else ''
31088        '''
31089         The username to authenticate with.
31090        '''
31091
31092    def __repr__(self):
31093        return '<sdm.Vertica ' + \
31094            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31095            'database: ' + repr(self.database) + ' ' +\
31096            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31097            'healthy: ' + repr(self.healthy) + ' ' +\
31098            'hostname: ' + repr(self.hostname) + ' ' +\
31099            'id: ' + repr(self.id) + ' ' +\
31100            'name: ' + repr(self.name) + ' ' +\
31101            'password: ' + repr(self.password) + ' ' +\
31102            'port: ' + repr(self.port) + ' ' +\
31103            'port_override: ' + repr(self.port_override) + ' ' +\
31104            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31105            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31106            'subdomain: ' + repr(self.subdomain) + ' ' +\
31107            'tags: ' + repr(self.tags) + ' ' +\
31108            'username: ' + repr(self.username) + ' ' +\
31109            '>'
31110
31111    def to_dict(self):
31112        return {
31113            'bind_interface': self.bind_interface,
31114            'database': self.database,
31115            'egress_filter': self.egress_filter,
31116            'healthy': self.healthy,
31117            'hostname': self.hostname,
31118            'id': self.id,
31119            'name': self.name,
31120            'password': self.password,
31121            'port': self.port,
31122            'port_override': self.port_override,
31123            'proxy_cluster_id': self.proxy_cluster_id,
31124            'secret_store_id': self.secret_store_id,
31125            'subdomain': self.subdomain,
31126            'tags': self.tags,
31127            'username': self.username,
31128        }
31129
31130    @classmethod
31131    def from_dict(cls, d):
31132        return cls(
31133            bind_interface=d.get('bind_interface'),
31134            database=d.get('database'),
31135            egress_filter=d.get('egress_filter'),
31136            healthy=d.get('healthy'),
31137            hostname=d.get('hostname'),
31138            id=d.get('id'),
31139            name=d.get('name'),
31140            password=d.get('password'),
31141            port=d.get('port'),
31142            port_override=d.get('port_override'),
31143            proxy_cluster_id=d.get('proxy_cluster_id'),
31144            secret_store_id=d.get('secret_store_id'),
31145            subdomain=d.get('subdomain'),
31146            tags=d.get('tags'),
31147            username=d.get('username'),
31148        )
31149
31150
31151class Workflow:
31152    '''
31153         Workflows are the collection of rules that define the resources to which access can be requested,
31154     the users that can request that access, and the mechanism for approving those requests which can either
31155     but automatic approval or a set of users authorized to approve the requests.
31156    '''
31157    __slots__ = [
31158        'access_request_fixed_duration',
31159        'access_request_max_duration',
31160        'access_rules',
31161        'approval_flow_id',
31162        'auto_grant',
31163        'description',
31164        'enabled',
31165        'id',
31166        'name',
31167        'weight',
31168    ]
31169
31170    def __init__(
31171        self,
31172        access_request_fixed_duration=None,
31173        access_request_max_duration=None,
31174        access_rules=None,
31175        approval_flow_id=None,
31176        auto_grant=None,
31177        description=None,
31178        enabled=None,
31179        id=None,
31180        name=None,
31181        weight=None,
31182    ):
31183        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
31184        '''
31185         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
31186         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31187        '''
31188        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
31189        '''
31190         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
31191         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31192        '''
31193        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31194        )
31195        '''
31196         AccessRules is a list of access rules defining the resources this Workflow provides access to.
31197        '''
31198        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
31199        '''
31200         Optional approval flow ID identifies an approval flow that linked to the workflow
31201        '''
31202        self.auto_grant = auto_grant if auto_grant is not None else False
31203        '''
31204         Optional auto grant setting to automatically approve requests or not, defaults to false.
31205        '''
31206        self.description = description if description is not None else ''
31207        '''
31208         Optional description of the Workflow.
31209        '''
31210        self.enabled = enabled if enabled is not None else False
31211        '''
31212         Optional enabled state for workflow. This setting may be overridden by the system if
31213         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
31214         enabling the workflow. The requirements to enable a workflow are that the workflow must be
31215         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
31216         the workflow.
31217        '''
31218        self.id = id if id is not None else ''
31219        '''
31220         Unique identifier of the Workflow.
31221        '''
31222        self.name = name if name is not None else ''
31223        '''
31224         Unique human-readable name of the Workflow.
31225        '''
31226        self.weight = weight if weight is not None else 0
31227        '''
31228         Optional weight for workflow to specify it's priority in matching a request.
31229        '''
31230
31231    def __repr__(self):
31232        return '<sdm.Workflow ' + \
31233            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
31234            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
31235            'access_rules: ' + repr(self.access_rules) + ' ' +\
31236            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
31237            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
31238            'description: ' + repr(self.description) + ' ' +\
31239            'enabled: ' + repr(self.enabled) + ' ' +\
31240            'id: ' + repr(self.id) + ' ' +\
31241            'name: ' + repr(self.name) + ' ' +\
31242            'weight: ' + repr(self.weight) + ' ' +\
31243            '>'
31244
31245    def to_dict(self):
31246        return {
31247            'access_request_fixed_duration':
31248            self.access_request_fixed_duration,
31249            'access_request_max_duration': self.access_request_max_duration,
31250            'access_rules': self.access_rules,
31251            'approval_flow_id': self.approval_flow_id,
31252            'auto_grant': self.auto_grant,
31253            'description': self.description,
31254            'enabled': self.enabled,
31255            'id': self.id,
31256            'name': self.name,
31257            'weight': self.weight,
31258        }
31259
31260    @classmethod
31261    def from_dict(cls, d):
31262        return cls(
31263            access_request_fixed_duration=d.get(
31264                'access_request_fixed_duration'),
31265            access_request_max_duration=d.get('access_request_max_duration'),
31266            access_rules=d.get('access_rules'),
31267            approval_flow_id=d.get('approval_flow_id'),
31268            auto_grant=d.get('auto_grant'),
31269            description=d.get('description'),
31270            enabled=d.get('enabled'),
31271            id=d.get('id'),
31272            name=d.get('name'),
31273            weight=d.get('weight'),
31274        )
31275
31276
31277class WorkflowApprover:
31278    '''
31279         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
31280    '''
31281    __slots__ = [
31282        'account_id',
31283        'id',
31284        'role_id',
31285        'workflow_id',
31286    ]
31287
31288    def __init__(
31289        self,
31290        account_id=None,
31291        id=None,
31292        role_id=None,
31293        workflow_id=None,
31294    ):
31295        self.account_id = account_id if account_id is not None else ''
31296        '''
31297         The approver account id.
31298        '''
31299        self.id = id if id is not None else ''
31300        '''
31301         Unique identifier of the WorkflowApprover.
31302        '''
31303        self.role_id = role_id if role_id is not None else ''
31304        '''
31305         The approver role id
31306        '''
31307        self.workflow_id = workflow_id if workflow_id is not None else ''
31308        '''
31309         The workflow id.
31310        '''
31311
31312    def __repr__(self):
31313        return '<sdm.WorkflowApprover ' + \
31314            'account_id: ' + repr(self.account_id) + ' ' +\
31315            'id: ' + repr(self.id) + ' ' +\
31316            'role_id: ' + repr(self.role_id) + ' ' +\
31317            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31318            '>'
31319
31320    def to_dict(self):
31321        return {
31322            'account_id': self.account_id,
31323            'id': self.id,
31324            'role_id': self.role_id,
31325            'workflow_id': self.workflow_id,
31326        }
31327
31328    @classmethod
31329    def from_dict(cls, d):
31330        return cls(
31331            account_id=d.get('account_id'),
31332            id=d.get('id'),
31333            role_id=d.get('role_id'),
31334            workflow_id=d.get('workflow_id'),
31335        )
31336
31337
31338class WorkflowApproverGetResponse:
31339    '''
31340         WorkflowApproverGetResponse returns a requested WorkflowApprover.
31341    '''
31342    __slots__ = [
31343        'meta',
31344        'rate_limit',
31345        'workflow_approver',
31346    ]
31347
31348    def __init__(
31349        self,
31350        meta=None,
31351        rate_limit=None,
31352        workflow_approver=None,
31353    ):
31354        self.meta = meta if meta is not None else None
31355        '''
31356         Reserved for future use.
31357        '''
31358        self.rate_limit = rate_limit if rate_limit is not None else None
31359        '''
31360         Rate limit information.
31361        '''
31362        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31363        '''
31364         The requested WorkflowApprover.
31365        '''
31366
31367    def __repr__(self):
31368        return '<sdm.WorkflowApproverGetResponse ' + \
31369            'meta: ' + repr(self.meta) + ' ' +\
31370            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31371            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31372            '>'
31373
31374    def to_dict(self):
31375        return {
31376            'meta': self.meta,
31377            'rate_limit': self.rate_limit,
31378            'workflow_approver': self.workflow_approver,
31379        }
31380
31381    @classmethod
31382    def from_dict(cls, d):
31383        return cls(
31384            meta=d.get('meta'),
31385            rate_limit=d.get('rate_limit'),
31386            workflow_approver=d.get('workflow_approver'),
31387        )
31388
31389
31390class WorkflowApproverHistory:
31391    '''
31392         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31393    '''
31394    __slots__ = [
31395        'activity_id',
31396        'deleted_at',
31397        'timestamp',
31398        'workflow_approver',
31399    ]
31400
31401    def __init__(
31402        self,
31403        activity_id=None,
31404        deleted_at=None,
31405        timestamp=None,
31406        workflow_approver=None,
31407    ):
31408        self.activity_id = activity_id if activity_id is not None else ''
31409        '''
31410         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31411         May be empty for some system-initiated updates.
31412        '''
31413        self.deleted_at = deleted_at if deleted_at is not None else None
31414        '''
31415         If this WorkflowApprover was deleted, the time it was deleted.
31416        '''
31417        self.timestamp = timestamp if timestamp is not None else None
31418        '''
31419         The time at which the WorkflowApprover state was recorded.
31420        '''
31421        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31422        '''
31423         The complete WorkflowApprover state at this time.
31424        '''
31425
31426    def __repr__(self):
31427        return '<sdm.WorkflowApproverHistory ' + \
31428            'activity_id: ' + repr(self.activity_id) + ' ' +\
31429            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31430            'timestamp: ' + repr(self.timestamp) + ' ' +\
31431            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31432            '>'
31433
31434    def to_dict(self):
31435        return {
31436            'activity_id': self.activity_id,
31437            'deleted_at': self.deleted_at,
31438            'timestamp': self.timestamp,
31439            'workflow_approver': self.workflow_approver,
31440        }
31441
31442    @classmethod
31443    def from_dict(cls, d):
31444        return cls(
31445            activity_id=d.get('activity_id'),
31446            deleted_at=d.get('deleted_at'),
31447            timestamp=d.get('timestamp'),
31448            workflow_approver=d.get('workflow_approver'),
31449        )
31450
31451
31452class WorkflowApproversCreateRequest:
31453    '''
31454         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31455     workflow approver to be created.
31456    '''
31457    __slots__ = [
31458        'workflow_approver',
31459    ]
31460
31461    def __init__(
31462        self,
31463        workflow_approver=None,
31464    ):
31465        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31466        '''
31467         Parameters to define the new WorkflowApprover.
31468        '''
31469
31470    def __repr__(self):
31471        return '<sdm.WorkflowApproversCreateRequest ' + \
31472            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31473            '>'
31474
31475    def to_dict(self):
31476        return {
31477            'workflow_approver': self.workflow_approver,
31478        }
31479
31480    @classmethod
31481    def from_dict(cls, d):
31482        return cls(workflow_approver=d.get('workflow_approver'), )
31483
31484
31485class WorkflowApproversCreateResponse:
31486    '''
31487         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31488    '''
31489    __slots__ = [
31490        'rate_limit',
31491        'workflow_approver',
31492    ]
31493
31494    def __init__(
31495        self,
31496        rate_limit=None,
31497        workflow_approver=None,
31498    ):
31499        self.rate_limit = rate_limit if rate_limit is not None else None
31500        '''
31501         Rate limit information.
31502        '''
31503        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31504        '''
31505         The created workflow approver.
31506        '''
31507
31508    def __repr__(self):
31509        return '<sdm.WorkflowApproversCreateResponse ' + \
31510            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31511            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31512            '>'
31513
31514    def to_dict(self):
31515        return {
31516            'rate_limit': self.rate_limit,
31517            'workflow_approver': self.workflow_approver,
31518        }
31519
31520    @classmethod
31521    def from_dict(cls, d):
31522        return cls(
31523            rate_limit=d.get('rate_limit'),
31524            workflow_approver=d.get('workflow_approver'),
31525        )
31526
31527
31528class WorkflowApproversDeleteRequest:
31529    '''
31530         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31531    '''
31532    __slots__ = [
31533        'id',
31534    ]
31535
31536    def __init__(
31537        self,
31538        id=None,
31539    ):
31540        self.id = id if id is not None else ''
31541        '''
31542         The unique identifier of the WorkflowApprover to delete.
31543        '''
31544
31545    def __repr__(self):
31546        return '<sdm.WorkflowApproversDeleteRequest ' + \
31547            'id: ' + repr(self.id) + ' ' +\
31548            '>'
31549
31550    def to_dict(self):
31551        return {
31552            'id': self.id,
31553        }
31554
31555    @classmethod
31556    def from_dict(cls, d):
31557        return cls(id=d.get('id'), )
31558
31559
31560class WorkflowApproversDeleteResponse:
31561    '''
31562         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31563    '''
31564    __slots__ = [
31565        'rate_limit',
31566    ]
31567
31568    def __init__(
31569        self,
31570        rate_limit=None,
31571    ):
31572        self.rate_limit = rate_limit if rate_limit is not None else None
31573        '''
31574         Rate limit information.
31575        '''
31576
31577    def __repr__(self):
31578        return '<sdm.WorkflowApproversDeleteResponse ' + \
31579            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31580            '>'
31581
31582    def to_dict(self):
31583        return {
31584            'rate_limit': self.rate_limit,
31585        }
31586
31587    @classmethod
31588    def from_dict(cls, d):
31589        return cls(rate_limit=d.get('rate_limit'), )
31590
31591
31592class WorkflowApproversListRequest:
31593    '''
31594         WorkflowApproversListRequest specifies criteria for retrieving a list of
31595     WorkflowApprover records
31596    '''
31597    __slots__ = [
31598        'filter',
31599    ]
31600
31601    def __init__(
31602        self,
31603        filter=None,
31604    ):
31605        self.filter = filter if filter is not None else ''
31606        '''
31607         A human-readable filter query string.
31608        '''
31609
31610    def __repr__(self):
31611        return '<sdm.WorkflowApproversListRequest ' + \
31612            'filter: ' + repr(self.filter) + ' ' +\
31613            '>'
31614
31615    def to_dict(self):
31616        return {
31617            'filter': self.filter,
31618        }
31619
31620    @classmethod
31621    def from_dict(cls, d):
31622        return cls(filter=d.get('filter'), )
31623
31624
31625class WorkflowApproversListResponse:
31626    '''
31627         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31628     the criteria of a WorkflowApproversListRequest.
31629    '''
31630    __slots__ = [
31631        'rate_limit',
31632    ]
31633
31634    def __init__(
31635        self,
31636        rate_limit=None,
31637    ):
31638        self.rate_limit = rate_limit if rate_limit is not None else None
31639        '''
31640         Rate limit information.
31641        '''
31642
31643    def __repr__(self):
31644        return '<sdm.WorkflowApproversListResponse ' + \
31645            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31646            '>'
31647
31648    def to_dict(self):
31649        return {
31650            'rate_limit': self.rate_limit,
31651        }
31652
31653    @classmethod
31654    def from_dict(cls, d):
31655        return cls(rate_limit=d.get('rate_limit'), )
31656
31657
31658class WorkflowCreateResponse:
31659    '''
31660         WorkflowCreateResponse reports how the Workflow was created in the system.
31661    '''
31662    __slots__ = [
31663        'rate_limit',
31664        'workflow',
31665    ]
31666
31667    def __init__(
31668        self,
31669        rate_limit=None,
31670        workflow=None,
31671    ):
31672        self.rate_limit = rate_limit if rate_limit is not None else None
31673        '''
31674         Rate limit information.
31675        '''
31676        self.workflow = workflow if workflow is not None else None
31677        '''
31678         The created workflow.
31679        '''
31680
31681    def __repr__(self):
31682        return '<sdm.WorkflowCreateResponse ' + \
31683            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31684            'workflow: ' + repr(self.workflow) + ' ' +\
31685            '>'
31686
31687    def to_dict(self):
31688        return {
31689            'rate_limit': self.rate_limit,
31690            'workflow': self.workflow,
31691        }
31692
31693    @classmethod
31694    def from_dict(cls, d):
31695        return cls(
31696            rate_limit=d.get('rate_limit'),
31697            workflow=d.get('workflow'),
31698        )
31699
31700
31701class WorkflowDeleteResponse:
31702    '''
31703         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31704    '''
31705    __slots__ = [
31706        'id',
31707        'rate_limit',
31708    ]
31709
31710    def __init__(
31711        self,
31712        id=None,
31713        rate_limit=None,
31714    ):
31715        self.id = id if id is not None else ''
31716        '''
31717         The deleted workflow id.
31718        '''
31719        self.rate_limit = rate_limit if rate_limit is not None else None
31720        '''
31721         Rate limit information.
31722        '''
31723
31724    def __repr__(self):
31725        return '<sdm.WorkflowDeleteResponse ' + \
31726            'id: ' + repr(self.id) + ' ' +\
31727            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31728            '>'
31729
31730    def to_dict(self):
31731        return {
31732            'id': self.id,
31733            'rate_limit': self.rate_limit,
31734        }
31735
31736    @classmethod
31737    def from_dict(cls, d):
31738        return cls(
31739            id=d.get('id'),
31740            rate_limit=d.get('rate_limit'),
31741        )
31742
31743
31744class WorkflowGetResponse:
31745    '''
31746         WorkflowGetResponse returns a requested Workflow.
31747    '''
31748    __slots__ = [
31749        'meta',
31750        'rate_limit',
31751        'workflow',
31752    ]
31753
31754    def __init__(
31755        self,
31756        meta=None,
31757        rate_limit=None,
31758        workflow=None,
31759    ):
31760        self.meta = meta if meta is not None else None
31761        '''
31762         Reserved for future use.
31763        '''
31764        self.rate_limit = rate_limit if rate_limit is not None else None
31765        '''
31766         Rate limit information.
31767        '''
31768        self.workflow = workflow if workflow is not None else None
31769        '''
31770         The requested Workflow.
31771        '''
31772
31773    def __repr__(self):
31774        return '<sdm.WorkflowGetResponse ' + \
31775            'meta: ' + repr(self.meta) + ' ' +\
31776            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31777            'workflow: ' + repr(self.workflow) + ' ' +\
31778            '>'
31779
31780    def to_dict(self):
31781        return {
31782            'meta': self.meta,
31783            'rate_limit': self.rate_limit,
31784            'workflow': self.workflow,
31785        }
31786
31787    @classmethod
31788    def from_dict(cls, d):
31789        return cls(
31790            meta=d.get('meta'),
31791            rate_limit=d.get('rate_limit'),
31792            workflow=d.get('workflow'),
31793        )
31794
31795
31796class WorkflowHistory:
31797    '''
31798         WorkflowsHistory provides records of all changes to the state of a Workflow.
31799    '''
31800    __slots__ = [
31801        'activity_id',
31802        'deleted_at',
31803        'timestamp',
31804        'workflow',
31805    ]
31806
31807    def __init__(
31808        self,
31809        activity_id=None,
31810        deleted_at=None,
31811        timestamp=None,
31812        workflow=None,
31813    ):
31814        self.activity_id = activity_id if activity_id is not None else ''
31815        '''
31816         The unique identifier of the Activity that produced this change to the Workflow.
31817         May be empty for some system-initiated updates.
31818        '''
31819        self.deleted_at = deleted_at if deleted_at is not None else None
31820        '''
31821         If this Workflow was deleted, the time it was deleted.
31822        '''
31823        self.timestamp = timestamp if timestamp is not None else None
31824        '''
31825         The time at which the Workflow state was recorded.
31826        '''
31827        self.workflow = workflow if workflow is not None else None
31828        '''
31829         The complete Workflow state at this time.
31830        '''
31831
31832    def __repr__(self):
31833        return '<sdm.WorkflowHistory ' + \
31834            'activity_id: ' + repr(self.activity_id) + ' ' +\
31835            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31836            'timestamp: ' + repr(self.timestamp) + ' ' +\
31837            'workflow: ' + repr(self.workflow) + ' ' +\
31838            '>'
31839
31840    def to_dict(self):
31841        return {
31842            'activity_id': self.activity_id,
31843            'deleted_at': self.deleted_at,
31844            'timestamp': self.timestamp,
31845            'workflow': self.workflow,
31846        }
31847
31848    @classmethod
31849    def from_dict(cls, d):
31850        return cls(
31851            activity_id=d.get('activity_id'),
31852            deleted_at=d.get('deleted_at'),
31853            timestamp=d.get('timestamp'),
31854            workflow=d.get('workflow'),
31855        )
31856
31857
31858class WorkflowListResponse:
31859    '''
31860         WorkflowListResponse returns a list of Workflow records that meet
31861     the criteria of a WorkflowListRequest.
31862    '''
31863    __slots__ = [
31864        'rate_limit',
31865    ]
31866
31867    def __init__(
31868        self,
31869        rate_limit=None,
31870    ):
31871        self.rate_limit = rate_limit if rate_limit is not None else None
31872        '''
31873         Rate limit information.
31874        '''
31875
31876    def __repr__(self):
31877        return '<sdm.WorkflowListResponse ' + \
31878            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31879            '>'
31880
31881    def to_dict(self):
31882        return {
31883            'rate_limit': self.rate_limit,
31884        }
31885
31886    @classmethod
31887    def from_dict(cls, d):
31888        return cls(rate_limit=d.get('rate_limit'), )
31889
31890
31891class WorkflowRole:
31892    '''
31893         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31894     to request access to a resource via the workflow.
31895    '''
31896    __slots__ = [
31897        'id',
31898        'role_id',
31899        'workflow_id',
31900    ]
31901
31902    def __init__(
31903        self,
31904        id=None,
31905        role_id=None,
31906        workflow_id=None,
31907    ):
31908        self.id = id if id is not None else ''
31909        '''
31910         Unique identifier of the WorkflowRole.
31911        '''
31912        self.role_id = role_id if role_id is not None else ''
31913        '''
31914         The role id.
31915        '''
31916        self.workflow_id = workflow_id if workflow_id is not None else ''
31917        '''
31918         The workflow id.
31919        '''
31920
31921    def __repr__(self):
31922        return '<sdm.WorkflowRole ' + \
31923            'id: ' + repr(self.id) + ' ' +\
31924            'role_id: ' + repr(self.role_id) + ' ' +\
31925            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31926            '>'
31927
31928    def to_dict(self):
31929        return {
31930            'id': self.id,
31931            'role_id': self.role_id,
31932            'workflow_id': self.workflow_id,
31933        }
31934
31935    @classmethod
31936    def from_dict(cls, d):
31937        return cls(
31938            id=d.get('id'),
31939            role_id=d.get('role_id'),
31940            workflow_id=d.get('workflow_id'),
31941        )
31942
31943
31944class WorkflowRoleGetResponse:
31945    '''
31946         WorkflowRoleGetResponse returns a requested WorkflowRole.
31947    '''
31948    __slots__ = [
31949        'meta',
31950        'rate_limit',
31951        'workflow_role',
31952    ]
31953
31954    def __init__(
31955        self,
31956        meta=None,
31957        rate_limit=None,
31958        workflow_role=None,
31959    ):
31960        self.meta = meta if meta is not None else None
31961        '''
31962         Reserved for future use.
31963        '''
31964        self.rate_limit = rate_limit if rate_limit is not None else None
31965        '''
31966         Rate limit information.
31967        '''
31968        self.workflow_role = workflow_role if workflow_role is not None else None
31969        '''
31970         The requested WorkflowRole.
31971        '''
31972
31973    def __repr__(self):
31974        return '<sdm.WorkflowRoleGetResponse ' + \
31975            'meta: ' + repr(self.meta) + ' ' +\
31976            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31977            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31978            '>'
31979
31980    def to_dict(self):
31981        return {
31982            'meta': self.meta,
31983            'rate_limit': self.rate_limit,
31984            'workflow_role': self.workflow_role,
31985        }
31986
31987    @classmethod
31988    def from_dict(cls, d):
31989        return cls(
31990            meta=d.get('meta'),
31991            rate_limit=d.get('rate_limit'),
31992            workflow_role=d.get('workflow_role'),
31993        )
31994
31995
31996class WorkflowRoleHistory:
31997    '''
31998         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
31999    '''
32000    __slots__ = [
32001        'activity_id',
32002        'deleted_at',
32003        'timestamp',
32004        'workflow_role',
32005    ]
32006
32007    def __init__(
32008        self,
32009        activity_id=None,
32010        deleted_at=None,
32011        timestamp=None,
32012        workflow_role=None,
32013    ):
32014        self.activity_id = activity_id if activity_id is not None else ''
32015        '''
32016         The unique identifier of the Activity that produced this change to the WorkflowRole.
32017         May be empty for some system-initiated updates.
32018        '''
32019        self.deleted_at = deleted_at if deleted_at is not None else None
32020        '''
32021         If this WorkflowRole was deleted, the time it was deleted.
32022        '''
32023        self.timestamp = timestamp if timestamp is not None else None
32024        '''
32025         The time at which the WorkflowRole state was recorded.
32026        '''
32027        self.workflow_role = workflow_role if workflow_role is not None else None
32028        '''
32029         The complete WorkflowRole state at this time.
32030        '''
32031
32032    def __repr__(self):
32033        return '<sdm.WorkflowRoleHistory ' + \
32034            'activity_id: ' + repr(self.activity_id) + ' ' +\
32035            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
32036            'timestamp: ' + repr(self.timestamp) + ' ' +\
32037            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
32038            '>'
32039
32040    def to_dict(self):
32041        return {
32042            'activity_id': self.activity_id,
32043            'deleted_at': self.deleted_at,
32044            'timestamp': self.timestamp,
32045            'workflow_role': self.workflow_role,
32046        }
32047
32048    @classmethod
32049    def from_dict(cls, d):
32050        return cls(
32051            activity_id=d.get('activity_id'),
32052            deleted_at=d.get('deleted_at'),
32053            timestamp=d.get('timestamp'),
32054            workflow_role=d.get('workflow_role'),
32055        )
32056
32057
32058class WorkflowRolesCreateRequest:
32059    '''
32060         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
32061     workflow role to be created.
32062    '''
32063    __slots__ = [
32064        'workflow_role',
32065    ]
32066
32067    def __init__(
32068        self,
32069        workflow_role=None,
32070    ):
32071        self.workflow_role = workflow_role if workflow_role is not None else None
32072        '''
32073         Parameters to define the new WorkflowRole.
32074        '''
32075
32076    def __repr__(self):
32077        return '<sdm.WorkflowRolesCreateRequest ' + \
32078            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
32079            '>'
32080
32081    def to_dict(self):
32082        return {
32083            'workflow_role': self.workflow_role,
32084        }
32085
32086    @classmethod
32087    def from_dict(cls, d):
32088        return cls(workflow_role=d.get('workflow_role'), )
32089
32090
32091class WorkflowRolesCreateResponse:
32092    '''
32093         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
32094    '''
32095    __slots__ = [
32096        'rate_limit',
32097        'workflow_role',
32098    ]
32099
32100    def __init__(
32101        self,
32102        rate_limit=None,
32103        workflow_role=None,
32104    ):
32105        self.rate_limit = rate_limit if rate_limit is not None else None
32106        '''
32107         Rate limit information.
32108        '''
32109        self.workflow_role = workflow_role if workflow_role is not None else None
32110        '''
32111         The created workflow role.
32112        '''
32113
32114    def __repr__(self):
32115        return '<sdm.WorkflowRolesCreateResponse ' + \
32116            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32117            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
32118            '>'
32119
32120    def to_dict(self):
32121        return {
32122            'rate_limit': self.rate_limit,
32123            'workflow_role': self.workflow_role,
32124        }
32125
32126    @classmethod
32127    def from_dict(cls, d):
32128        return cls(
32129            rate_limit=d.get('rate_limit'),
32130            workflow_role=d.get('workflow_role'),
32131        )
32132
32133
32134class WorkflowRolesDeleteRequest:
32135    '''
32136         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
32137    '''
32138    __slots__ = [
32139        'id',
32140    ]
32141
32142    def __init__(
32143        self,
32144        id=None,
32145    ):
32146        self.id = id if id is not None else ''
32147        '''
32148         The unique identifier of the WorkflowRole to delete.
32149        '''
32150
32151    def __repr__(self):
32152        return '<sdm.WorkflowRolesDeleteRequest ' + \
32153            'id: ' + repr(self.id) + ' ' +\
32154            '>'
32155
32156    def to_dict(self):
32157        return {
32158            'id': self.id,
32159        }
32160
32161    @classmethod
32162    def from_dict(cls, d):
32163        return cls(id=d.get('id'), )
32164
32165
32166class WorkflowRolesDeleteResponse:
32167    '''
32168         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
32169    '''
32170    __slots__ = [
32171        'rate_limit',
32172    ]
32173
32174    def __init__(
32175        self,
32176        rate_limit=None,
32177    ):
32178        self.rate_limit = rate_limit if rate_limit is not None else None
32179        '''
32180         Rate limit information.
32181        '''
32182
32183    def __repr__(self):
32184        return '<sdm.WorkflowRolesDeleteResponse ' + \
32185            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32186            '>'
32187
32188    def to_dict(self):
32189        return {
32190            'rate_limit': self.rate_limit,
32191        }
32192
32193    @classmethod
32194    def from_dict(cls, d):
32195        return cls(rate_limit=d.get('rate_limit'), )
32196
32197
32198class WorkflowRolesListRequest:
32199    '''
32200         WorkflowRolesListRequest specifies criteria for retrieving a list of
32201     WorkflowRole records
32202    '''
32203    __slots__ = [
32204        'filter',
32205    ]
32206
32207    def __init__(
32208        self,
32209        filter=None,
32210    ):
32211        self.filter = filter if filter is not None else ''
32212        '''
32213         A human-readable filter query string.
32214        '''
32215
32216    def __repr__(self):
32217        return '<sdm.WorkflowRolesListRequest ' + \
32218            'filter: ' + repr(self.filter) + ' ' +\
32219            '>'
32220
32221    def to_dict(self):
32222        return {
32223            'filter': self.filter,
32224        }
32225
32226    @classmethod
32227    def from_dict(cls, d):
32228        return cls(filter=d.get('filter'), )
32229
32230
32231class WorkflowRolesListResponse:
32232    '''
32233         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32234     the criteria of a WorkflowRolesListRequest.
32235    '''
32236    __slots__ = [
32237        'rate_limit',
32238    ]
32239
32240    def __init__(
32241        self,
32242        rate_limit=None,
32243    ):
32244        self.rate_limit = rate_limit if rate_limit is not None else None
32245        '''
32246         Rate limit information.
32247        '''
32248
32249    def __repr__(self):
32250        return '<sdm.WorkflowRolesListResponse ' + \
32251            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32252            '>'
32253
32254    def to_dict(self):
32255        return {
32256            'rate_limit': self.rate_limit,
32257        }
32258
32259    @classmethod
32260    def from_dict(cls, d):
32261        return cls(rate_limit=d.get('rate_limit'), )
32262
32263
32264class WorkflowUpdateResponse:
32265    '''
32266         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32267     a WorkflowUpdateRequest.
32268    '''
32269    __slots__ = [
32270        'rate_limit',
32271        'workflow',
32272    ]
32273
32274    def __init__(
32275        self,
32276        rate_limit=None,
32277        workflow=None,
32278    ):
32279        self.rate_limit = rate_limit if rate_limit is not None else None
32280        '''
32281         Rate limit information.
32282        '''
32283        self.workflow = workflow if workflow is not None else None
32284        '''
32285         The updated workflow.
32286        '''
32287
32288    def __repr__(self):
32289        return '<sdm.WorkflowUpdateResponse ' + \
32290            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32291            'workflow: ' + repr(self.workflow) + ' ' +\
32292            '>'
32293
32294    def to_dict(self):
32295        return {
32296            'rate_limit': self.rate_limit,
32297            'workflow': self.workflow,
32298        }
32299
32300    @classmethod
32301    def from_dict(cls, d):
32302        return cls(
32303            rate_limit=d.get('rate_limit'),
32304            workflow=d.get('workflow'),
32305        )
32306
32307
32308def _porcelain_zero_value_tags():
32309    return {}
32310
32311
32312def _porcelain_zero_value_access_rules():
32313    return []
32314
32315
32316def _porcelain_zero_value_access_rule():
32317    return {}
32318
32319
32320def _porcelain_zero_value_log_category_config_map():
32321    return {}
class AKS:
 22class AKS:
 23    __slots__ = [
 24        'allow_resource_role_bypass',
 25        'bind_interface',
 26        'certificate_authority',
 27        'client_certificate',
 28        'client_key',
 29        'discovery_enabled',
 30        'discovery_username',
 31        'egress_filter',
 32        'healthcheck_namespace',
 33        'healthy',
 34        'hostname',
 35        'id',
 36        'identity_alias_healthcheck_username',
 37        'identity_set_id',
 38        'name',
 39        'port',
 40        'port_override',
 41        'proxy_cluster_id',
 42        'secret_store_id',
 43        'subdomain',
 44        'tags',
 45    ]
 46
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
157
158    def __repr__(self):
159        return '<sdm.AKS ' + \
160            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
161            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
162            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
163            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
164            'client_key: ' + repr(self.client_key) + ' ' +\
165            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
166            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
167            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
168            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
169            'healthy: ' + repr(self.healthy) + ' ' +\
170            'hostname: ' + repr(self.hostname) + ' ' +\
171            'id: ' + repr(self.id) + ' ' +\
172            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
173            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
174            'name: ' + repr(self.name) + ' ' +\
175            'port: ' + repr(self.port) + ' ' +\
176            'port_override: ' + repr(self.port_override) + ' ' +\
177            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
178            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
179            'subdomain: ' + repr(self.subdomain) + ' ' +\
180            'tags: ' + repr(self.tags) + ' ' +\
181            '>'
182
183    def to_dict(self):
184        return {
185            'allow_resource_role_bypass': self.allow_resource_role_bypass,
186            'bind_interface': self.bind_interface,
187            'certificate_authority': self.certificate_authority,
188            'client_certificate': self.client_certificate,
189            'client_key': self.client_key,
190            'discovery_enabled': self.discovery_enabled,
191            'discovery_username': self.discovery_username,
192            'egress_filter': self.egress_filter,
193            'healthcheck_namespace': self.healthcheck_namespace,
194            'healthy': self.healthy,
195            'hostname': self.hostname,
196            'id': self.id,
197            'identity_alias_healthcheck_username':
198            self.identity_alias_healthcheck_username,
199            'identity_set_id': self.identity_set_id,
200            'name': self.name,
201            'port': self.port,
202            'port_override': self.port_override,
203            'proxy_cluster_id': self.proxy_cluster_id,
204            'secret_store_id': self.secret_store_id,
205            'subdomain': self.subdomain,
206            'tags': self.tags,
207        }
208
209    @classmethod
210    def from_dict(cls, d):
211        return cls(
212            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
213            bind_interface=d.get('bind_interface'),
214            certificate_authority=d.get('certificate_authority'),
215            client_certificate=d.get('client_certificate'),
216            client_key=d.get('client_key'),
217            discovery_enabled=d.get('discovery_enabled'),
218            discovery_username=d.get('discovery_username'),
219            egress_filter=d.get('egress_filter'),
220            healthcheck_namespace=d.get('healthcheck_namespace'),
221            healthy=d.get('healthy'),
222            hostname=d.get('hostname'),
223            id=d.get('id'),
224            identity_alias_healthcheck_username=d.get(
225                'identity_alias_healthcheck_username'),
226            identity_set_id=d.get('identity_set_id'),
227            name=d.get('name'),
228            port=d.get('port'),
229            port_override=d.get('port_override'),
230            proxy_cluster_id=d.get('proxy_cluster_id'),
231            secret_store_id=d.get('secret_store_id'),
232            subdomain=d.get('subdomain'),
233            tags=d.get('tags'),
234        )
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)
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
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.

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.

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.

def to_dict(self)
183    def to_dict(self):
184        return {
185            'allow_resource_role_bypass': self.allow_resource_role_bypass,
186            'bind_interface': self.bind_interface,
187            'certificate_authority': self.certificate_authority,
188            'client_certificate': self.client_certificate,
189            'client_key': self.client_key,
190            'discovery_enabled': self.discovery_enabled,
191            'discovery_username': self.discovery_username,
192            'egress_filter': self.egress_filter,
193            'healthcheck_namespace': self.healthcheck_namespace,
194            'healthy': self.healthy,
195            'hostname': self.hostname,
196            'id': self.id,
197            'identity_alias_healthcheck_username':
198            self.identity_alias_healthcheck_username,
199            'identity_set_id': self.identity_set_id,
200            'name': self.name,
201            'port': self.port,
202            'port_override': self.port_override,
203            'proxy_cluster_id': self.proxy_cluster_id,
204            'secret_store_id': self.secret_store_id,
205            'subdomain': self.subdomain,
206            'tags': self.tags,
207        }
@classmethod
def from_dict(cls, d)
209    @classmethod
210    def from_dict(cls, d):
211        return cls(
212            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
213            bind_interface=d.get('bind_interface'),
214            certificate_authority=d.get('certificate_authority'),
215            client_certificate=d.get('client_certificate'),
216            client_key=d.get('client_key'),
217            discovery_enabled=d.get('discovery_enabled'),
218            discovery_username=d.get('discovery_username'),
219            egress_filter=d.get('egress_filter'),
220            healthcheck_namespace=d.get('healthcheck_namespace'),
221            healthy=d.get('healthy'),
222            hostname=d.get('hostname'),
223            id=d.get('id'),
224            identity_alias_healthcheck_username=d.get(
225                'identity_alias_healthcheck_username'),
226            identity_set_id=d.get('identity_set_id'),
227            name=d.get('name'),
228            port=d.get('port'),
229            port_override=d.get('port_override'),
230            proxy_cluster_id=d.get('proxy_cluster_id'),
231            secret_store_id=d.get('secret_store_id'),
232            subdomain=d.get('subdomain'),
233            tags=d.get('tags'),
234        )
class AKSBasicAuth:
237class AKSBasicAuth:
238    '''
239    AKSBasicAuth is currently unstable, and its API may change, or it may be removed,
240    without a major version bump.
241    '''
242    __slots__ = [
243        'bind_interface',
244        'egress_filter',
245        'healthcheck_namespace',
246        'healthy',
247        'hostname',
248        'id',
249        'name',
250        'password',
251        'port',
252        'port_override',
253        'proxy_cluster_id',
254        'secret_store_id',
255        'subdomain',
256        'tags',
257        'username',
258    ]
259
260    def __init__(
261        self,
262        bind_interface=None,
263        egress_filter=None,
264        healthcheck_namespace=None,
265        healthy=None,
266        hostname=None,
267        id=None,
268        name=None,
269        password=None,
270        port=None,
271        port_override=None,
272        proxy_cluster_id=None,
273        secret_store_id=None,
274        subdomain=None,
275        tags=None,
276        username=None,
277    ):
278        self.bind_interface = bind_interface if bind_interface is not None else ''
279        '''
280         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
281        '''
282        self.egress_filter = egress_filter if egress_filter is not None else ''
283        '''
284         A filter applied to the routing logic to pin datasource to nodes.
285        '''
286        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
287        '''
288         The path used to check the health of your connection.  Defaults to `default`.
289        '''
290        self.healthy = healthy if healthy is not None else False
291        '''
292         True if the datasource is reachable and the credentials are valid.
293        '''
294        self.hostname = hostname if hostname is not None else ''
295        '''
296         The host to dial to initiate a connection from the egress node to this resource.
297        '''
298        self.id = id if id is not None else ''
299        '''
300         Unique identifier of the Resource.
301        '''
302        self.name = name if name is not None else ''
303        '''
304         Unique human-readable name of the Resource.
305        '''
306        self.password = password if password is not None else ''
307        '''
308         The password to authenticate with.
309        '''
310        self.port = port if port is not None else 0
311        '''
312         The port to dial to initiate a connection from the egress node to this resource.
313        '''
314        self.port_override = port_override if port_override is not None else 0
315        '''
316         The local port used by clients to connect to this resource.
317        '''
318        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
319        '''
320         ID of the proxy cluster for this resource, if any.
321        '''
322        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
323        '''
324         ID of the secret store containing credentials for this resource, if any.
325        '''
326        self.subdomain = subdomain if subdomain is not None else ''
327        '''
328         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
329        '''
330        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
331        '''
332         Tags is a map of key, value pairs.
333        '''
334        self.username = username if username is not None else ''
335        '''
336         The username to authenticate with.
337        '''
338
339    def __repr__(self):
340        return '<sdm.AKSBasicAuth ' + \
341            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
342            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
343            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
344            'healthy: ' + repr(self.healthy) + ' ' +\
345            'hostname: ' + repr(self.hostname) + ' ' +\
346            'id: ' + repr(self.id) + ' ' +\
347            'name: ' + repr(self.name) + ' ' +\
348            'password: ' + repr(self.password) + ' ' +\
349            'port: ' + repr(self.port) + ' ' +\
350            'port_override: ' + repr(self.port_override) + ' ' +\
351            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
352            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
353            'subdomain: ' + repr(self.subdomain) + ' ' +\
354            'tags: ' + repr(self.tags) + ' ' +\
355            'username: ' + repr(self.username) + ' ' +\
356            '>'
357
358    def to_dict(self):
359        return {
360            'bind_interface': self.bind_interface,
361            'egress_filter': self.egress_filter,
362            'healthcheck_namespace': self.healthcheck_namespace,
363            'healthy': self.healthy,
364            'hostname': self.hostname,
365            'id': self.id,
366            'name': self.name,
367            'password': self.password,
368            'port': self.port,
369            'port_override': self.port_override,
370            'proxy_cluster_id': self.proxy_cluster_id,
371            'secret_store_id': self.secret_store_id,
372            'subdomain': self.subdomain,
373            'tags': self.tags,
374            'username': self.username,
375        }
376
377    @classmethod
378    def from_dict(cls, d):
379        return cls(
380            bind_interface=d.get('bind_interface'),
381            egress_filter=d.get('egress_filter'),
382            healthcheck_namespace=d.get('healthcheck_namespace'),
383            healthy=d.get('healthy'),
384            hostname=d.get('hostname'),
385            id=d.get('id'),
386            name=d.get('name'),
387            password=d.get('password'),
388            port=d.get('port'),
389            port_override=d.get('port_override'),
390            proxy_cluster_id=d.get('proxy_cluster_id'),
391            secret_store_id=d.get('secret_store_id'),
392            subdomain=d.get('subdomain'),
393            tags=d.get('tags'),
394            username=d.get('username'),
395        )

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)
260    def __init__(
261        self,
262        bind_interface=None,
263        egress_filter=None,
264        healthcheck_namespace=None,
265        healthy=None,
266        hostname=None,
267        id=None,
268        name=None,
269        password=None,
270        port=None,
271        port_override=None,
272        proxy_cluster_id=None,
273        secret_store_id=None,
274        subdomain=None,
275        tags=None,
276        username=None,
277    ):
278        self.bind_interface = bind_interface if bind_interface is not None else ''
279        '''
280         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
281        '''
282        self.egress_filter = egress_filter if egress_filter is not None else ''
283        '''
284         A filter applied to the routing logic to pin datasource to nodes.
285        '''
286        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
287        '''
288         The path used to check the health of your connection.  Defaults to `default`.
289        '''
290        self.healthy = healthy if healthy is not None else False
291        '''
292         True if the datasource is reachable and the credentials are valid.
293        '''
294        self.hostname = hostname if hostname is not None else ''
295        '''
296         The host to dial to initiate a connection from the egress node to this resource.
297        '''
298        self.id = id if id is not None else ''
299        '''
300         Unique identifier of the Resource.
301        '''
302        self.name = name if name is not None else ''
303        '''
304         Unique human-readable name of the Resource.
305        '''
306        self.password = password if password is not None else ''
307        '''
308         The password to authenticate with.
309        '''
310        self.port = port if port is not None else 0
311        '''
312         The port to dial to initiate a connection from the egress node to this resource.
313        '''
314        self.port_override = port_override if port_override is not None else 0
315        '''
316         The local port used by clients to connect to this resource.
317        '''
318        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
319        '''
320         ID of the proxy cluster for this resource, if any.
321        '''
322        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
323        '''
324         ID of the secret store containing credentials for this resource, if any.
325        '''
326        self.subdomain = subdomain if subdomain is not None else ''
327        '''
328         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
329        '''
330        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
331        '''
332         Tags is a map of key, value pairs.
333        '''
334        self.username = username if username is not None else ''
335        '''
336         The username to authenticate with.
337        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
358    def to_dict(self):
359        return {
360            'bind_interface': self.bind_interface,
361            'egress_filter': self.egress_filter,
362            'healthcheck_namespace': self.healthcheck_namespace,
363            'healthy': self.healthy,
364            'hostname': self.hostname,
365            'id': self.id,
366            'name': self.name,
367            'password': self.password,
368            'port': self.port,
369            'port_override': self.port_override,
370            'proxy_cluster_id': self.proxy_cluster_id,
371            'secret_store_id': self.secret_store_id,
372            'subdomain': self.subdomain,
373            'tags': self.tags,
374            'username': self.username,
375        }
@classmethod
def from_dict(cls, d)
377    @classmethod
378    def from_dict(cls, d):
379        return cls(
380            bind_interface=d.get('bind_interface'),
381            egress_filter=d.get('egress_filter'),
382            healthcheck_namespace=d.get('healthcheck_namespace'),
383            healthy=d.get('healthy'),
384            hostname=d.get('hostname'),
385            id=d.get('id'),
386            name=d.get('name'),
387            password=d.get('password'),
388            port=d.get('port'),
389            port_override=d.get('port_override'),
390            proxy_cluster_id=d.get('proxy_cluster_id'),
391            secret_store_id=d.get('secret_store_id'),
392            subdomain=d.get('subdomain'),
393            tags=d.get('tags'),
394            username=d.get('username'),
395        )
class AKSServiceAccount:
398class AKSServiceAccount:
399    __slots__ = [
400        'allow_resource_role_bypass',
401        'bind_interface',
402        'discovery_enabled',
403        'discovery_username',
404        'egress_filter',
405        'healthcheck_namespace',
406        'healthy',
407        'hostname',
408        'id',
409        'identity_alias_healthcheck_username',
410        'identity_set_id',
411        'name',
412        'port',
413        'port_override',
414        'proxy_cluster_id',
415        'secret_store_id',
416        'subdomain',
417        'tags',
418        'token',
419    ]
420
421    def __init__(
422        self,
423        allow_resource_role_bypass=None,
424        bind_interface=None,
425        discovery_enabled=None,
426        discovery_username=None,
427        egress_filter=None,
428        healthcheck_namespace=None,
429        healthy=None,
430        hostname=None,
431        id=None,
432        identity_alias_healthcheck_username=None,
433        identity_set_id=None,
434        name=None,
435        port=None,
436        port_override=None,
437        proxy_cluster_id=None,
438        secret_store_id=None,
439        subdomain=None,
440        tags=None,
441        token=None,
442    ):
443        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
444        '''
445         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
446         when a resource role is not provided.
447        '''
448        self.bind_interface = bind_interface if bind_interface is not None else ''
449        '''
450         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
451        '''
452        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
453        '''
454         If true, configures discovery of a cluster to be run from a node.
455        '''
456        self.discovery_username = discovery_username if discovery_username is not None else ''
457        '''
458         If a cluster is configured for user impersonation, this is the user to impersonate when
459         running discovery.
460        '''
461        self.egress_filter = egress_filter if egress_filter is not None else ''
462        '''
463         A filter applied to the routing logic to pin datasource to nodes.
464        '''
465        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
466        '''
467         The path used to check the health of your connection.  Defaults to `default`.
468        '''
469        self.healthy = healthy if healthy is not None else False
470        '''
471         True if the datasource is reachable and the credentials are valid.
472        '''
473        self.hostname = hostname if hostname is not None else ''
474        '''
475         The host to dial to initiate a connection from the egress node to this resource.
476        '''
477        self.id = id if id is not None else ''
478        '''
479         Unique identifier of the Resource.
480        '''
481        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
482        '''
483         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
484        '''
485        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
486        '''
487         The ID of the identity set to use for identity connections.
488        '''
489        self.name = name if name is not None else ''
490        '''
491         Unique human-readable name of the Resource.
492        '''
493        self.port = port if port is not None else 0
494        '''
495         The port to dial to initiate a connection from the egress node to this resource.
496        '''
497        self.port_override = port_override if port_override is not None else 0
498        '''
499         The local port used by clients to connect to this resource.
500        '''
501        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
502        '''
503         ID of the proxy cluster for this resource, if any.
504        '''
505        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
506        '''
507         ID of the secret store containing credentials for this resource, if any.
508        '''
509        self.subdomain = subdomain if subdomain is not None else ''
510        '''
511         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
512        '''
513        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
514        '''
515         Tags is a map of key, value pairs.
516        '''
517        self.token = token if token is not None else ''
518        '''
519         The API token to authenticate with.
520        '''
521
522    def __repr__(self):
523        return '<sdm.AKSServiceAccount ' + \
524            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
525            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
526            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
527            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
528            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
529            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
530            'healthy: ' + repr(self.healthy) + ' ' +\
531            'hostname: ' + repr(self.hostname) + ' ' +\
532            'id: ' + repr(self.id) + ' ' +\
533            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
534            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
535            'name: ' + repr(self.name) + ' ' +\
536            'port: ' + repr(self.port) + ' ' +\
537            'port_override: ' + repr(self.port_override) + ' ' +\
538            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
539            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
540            'subdomain: ' + repr(self.subdomain) + ' ' +\
541            'tags: ' + repr(self.tags) + ' ' +\
542            'token: ' + repr(self.token) + ' ' +\
543            '>'
544
545    def to_dict(self):
546        return {
547            'allow_resource_role_bypass': self.allow_resource_role_bypass,
548            'bind_interface': self.bind_interface,
549            'discovery_enabled': self.discovery_enabled,
550            'discovery_username': self.discovery_username,
551            'egress_filter': self.egress_filter,
552            'healthcheck_namespace': self.healthcheck_namespace,
553            'healthy': self.healthy,
554            'hostname': self.hostname,
555            'id': self.id,
556            'identity_alias_healthcheck_username':
557            self.identity_alias_healthcheck_username,
558            'identity_set_id': self.identity_set_id,
559            'name': self.name,
560            'port': self.port,
561            'port_override': self.port_override,
562            'proxy_cluster_id': self.proxy_cluster_id,
563            'secret_store_id': self.secret_store_id,
564            'subdomain': self.subdomain,
565            'tags': self.tags,
566            'token': self.token,
567        }
568
569    @classmethod
570    def from_dict(cls, d):
571        return cls(
572            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
573            bind_interface=d.get('bind_interface'),
574            discovery_enabled=d.get('discovery_enabled'),
575            discovery_username=d.get('discovery_username'),
576            egress_filter=d.get('egress_filter'),
577            healthcheck_namespace=d.get('healthcheck_namespace'),
578            healthy=d.get('healthy'),
579            hostname=d.get('hostname'),
580            id=d.get('id'),
581            identity_alias_healthcheck_username=d.get(
582                'identity_alias_healthcheck_username'),
583            identity_set_id=d.get('identity_set_id'),
584            name=d.get('name'),
585            port=d.get('port'),
586            port_override=d.get('port_override'),
587            proxy_cluster_id=d.get('proxy_cluster_id'),
588            secret_store_id=d.get('secret_store_id'),
589            subdomain=d.get('subdomain'),
590            tags=d.get('tags'),
591            token=d.get('token'),
592        )
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)
421    def __init__(
422        self,
423        allow_resource_role_bypass=None,
424        bind_interface=None,
425        discovery_enabled=None,
426        discovery_username=None,
427        egress_filter=None,
428        healthcheck_namespace=None,
429        healthy=None,
430        hostname=None,
431        id=None,
432        identity_alias_healthcheck_username=None,
433        identity_set_id=None,
434        name=None,
435        port=None,
436        port_override=None,
437        proxy_cluster_id=None,
438        secret_store_id=None,
439        subdomain=None,
440        tags=None,
441        token=None,
442    ):
443        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
444        '''
445         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
446         when a resource role is not provided.
447        '''
448        self.bind_interface = bind_interface if bind_interface is not None else ''
449        '''
450         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
451        '''
452        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
453        '''
454         If true, configures discovery of a cluster to be run from a node.
455        '''
456        self.discovery_username = discovery_username if discovery_username is not None else ''
457        '''
458         If a cluster is configured for user impersonation, this is the user to impersonate when
459         running discovery.
460        '''
461        self.egress_filter = egress_filter if egress_filter is not None else ''
462        '''
463         A filter applied to the routing logic to pin datasource to nodes.
464        '''
465        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
466        '''
467         The path used to check the health of your connection.  Defaults to `default`.
468        '''
469        self.healthy = healthy if healthy is not None else False
470        '''
471         True if the datasource is reachable and the credentials are valid.
472        '''
473        self.hostname = hostname if hostname is not None else ''
474        '''
475         The host to dial to initiate a connection from the egress node to this resource.
476        '''
477        self.id = id if id is not None else ''
478        '''
479         Unique identifier of the Resource.
480        '''
481        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
482        '''
483         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
484        '''
485        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
486        '''
487         The ID of the identity set to use for identity connections.
488        '''
489        self.name = name if name is not None else ''
490        '''
491         Unique human-readable name of the Resource.
492        '''
493        self.port = port if port is not None else 0
494        '''
495         The port to dial to initiate a connection from the egress node to this resource.
496        '''
497        self.port_override = port_override if port_override is not None else 0
498        '''
499         The local port used by clients to connect to this resource.
500        '''
501        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
502        '''
503         ID of the proxy cluster for this resource, if any.
504        '''
505        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
506        '''
507         ID of the secret store containing credentials for this resource, if any.
508        '''
509        self.subdomain = subdomain if subdomain is not None else ''
510        '''
511         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
512        '''
513        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
514        '''
515         Tags is a map of key, value pairs.
516        '''
517        self.token = token if token is not None else ''
518        '''
519         The API token to authenticate with.
520        '''
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.

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.

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.

token

The API token to authenticate with.

def to_dict(self)
545    def to_dict(self):
546        return {
547            'allow_resource_role_bypass': self.allow_resource_role_bypass,
548            'bind_interface': self.bind_interface,
549            'discovery_enabled': self.discovery_enabled,
550            'discovery_username': self.discovery_username,
551            'egress_filter': self.egress_filter,
552            'healthcheck_namespace': self.healthcheck_namespace,
553            'healthy': self.healthy,
554            'hostname': self.hostname,
555            'id': self.id,
556            'identity_alias_healthcheck_username':
557            self.identity_alias_healthcheck_username,
558            'identity_set_id': self.identity_set_id,
559            'name': self.name,
560            'port': self.port,
561            'port_override': self.port_override,
562            'proxy_cluster_id': self.proxy_cluster_id,
563            'secret_store_id': self.secret_store_id,
564            'subdomain': self.subdomain,
565            'tags': self.tags,
566            'token': self.token,
567        }
@classmethod
def from_dict(cls, d)
569    @classmethod
570    def from_dict(cls, d):
571        return cls(
572            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
573            bind_interface=d.get('bind_interface'),
574            discovery_enabled=d.get('discovery_enabled'),
575            discovery_username=d.get('discovery_username'),
576            egress_filter=d.get('egress_filter'),
577            healthcheck_namespace=d.get('healthcheck_namespace'),
578            healthy=d.get('healthy'),
579            hostname=d.get('hostname'),
580            id=d.get('id'),
581            identity_alias_healthcheck_username=d.get(
582                'identity_alias_healthcheck_username'),
583            identity_set_id=d.get('identity_set_id'),
584            name=d.get('name'),
585            port=d.get('port'),
586            port_override=d.get('port_override'),
587            proxy_cluster_id=d.get('proxy_cluster_id'),
588            secret_store_id=d.get('secret_store_id'),
589            subdomain=d.get('subdomain'),
590            tags=d.get('tags'),
591            token=d.get('token'),
592        )
class AKSServiceAccountUserImpersonation:
595class AKSServiceAccountUserImpersonation:
596    __slots__ = [
597        'bind_interface',
598        'egress_filter',
599        'healthcheck_namespace',
600        'healthy',
601        'hostname',
602        'id',
603        'name',
604        'port',
605        'port_override',
606        'proxy_cluster_id',
607        'secret_store_id',
608        'subdomain',
609        'tags',
610        'token',
611    ]
612
613    def __init__(
614        self,
615        bind_interface=None,
616        egress_filter=None,
617        healthcheck_namespace=None,
618        healthy=None,
619        hostname=None,
620        id=None,
621        name=None,
622        port=None,
623        port_override=None,
624        proxy_cluster_id=None,
625        secret_store_id=None,
626        subdomain=None,
627        tags=None,
628        token=None,
629    ):
630        self.bind_interface = bind_interface if bind_interface is not None else ''
631        '''
632         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
633        '''
634        self.egress_filter = egress_filter if egress_filter is not None else ''
635        '''
636         A filter applied to the routing logic to pin datasource to nodes.
637        '''
638        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
639        '''
640         The path used to check the health of your connection.  Defaults to `default`.
641        '''
642        self.healthy = healthy if healthy is not None else False
643        '''
644         True if the datasource is reachable and the credentials are valid.
645        '''
646        self.hostname = hostname if hostname is not None else ''
647        '''
648         The host to dial to initiate a connection from the egress node to this resource.
649        '''
650        self.id = id if id is not None else ''
651        '''
652         Unique identifier of the Resource.
653        '''
654        self.name = name if name is not None else ''
655        '''
656         Unique human-readable name of the Resource.
657        '''
658        self.port = port if port is not None else 0
659        '''
660         The port to dial to initiate a connection from the egress node to this resource.
661        '''
662        self.port_override = port_override if port_override is not None else 0
663        '''
664         The local port used by clients to connect to this resource.
665        '''
666        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
667        '''
668         ID of the proxy cluster for this resource, if any.
669        '''
670        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
671        '''
672         ID of the secret store containing credentials for this resource, if any.
673        '''
674        self.subdomain = subdomain if subdomain is not None else ''
675        '''
676         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
677        '''
678        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
679        '''
680         Tags is a map of key, value pairs.
681        '''
682        self.token = token if token is not None else ''
683        '''
684         The API token to authenticate with.
685        '''
686
687    def __repr__(self):
688        return '<sdm.AKSServiceAccountUserImpersonation ' + \
689            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
690            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
691            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
692            'healthy: ' + repr(self.healthy) + ' ' +\
693            'hostname: ' + repr(self.hostname) + ' ' +\
694            'id: ' + repr(self.id) + ' ' +\
695            'name: ' + repr(self.name) + ' ' +\
696            'port: ' + repr(self.port) + ' ' +\
697            'port_override: ' + repr(self.port_override) + ' ' +\
698            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
699            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
700            'subdomain: ' + repr(self.subdomain) + ' ' +\
701            'tags: ' + repr(self.tags) + ' ' +\
702            'token: ' + repr(self.token) + ' ' +\
703            '>'
704
705    def to_dict(self):
706        return {
707            'bind_interface': self.bind_interface,
708            'egress_filter': self.egress_filter,
709            'healthcheck_namespace': self.healthcheck_namespace,
710            'healthy': self.healthy,
711            'hostname': self.hostname,
712            'id': self.id,
713            'name': self.name,
714            'port': self.port,
715            'port_override': self.port_override,
716            'proxy_cluster_id': self.proxy_cluster_id,
717            'secret_store_id': self.secret_store_id,
718            'subdomain': self.subdomain,
719            'tags': self.tags,
720            'token': self.token,
721        }
722
723    @classmethod
724    def from_dict(cls, d):
725        return cls(
726            bind_interface=d.get('bind_interface'),
727            egress_filter=d.get('egress_filter'),
728            healthcheck_namespace=d.get('healthcheck_namespace'),
729            healthy=d.get('healthy'),
730            hostname=d.get('hostname'),
731            id=d.get('id'),
732            name=d.get('name'),
733            port=d.get('port'),
734            port_override=d.get('port_override'),
735            proxy_cluster_id=d.get('proxy_cluster_id'),
736            secret_store_id=d.get('secret_store_id'),
737            subdomain=d.get('subdomain'),
738            tags=d.get('tags'),
739            token=d.get('token'),
740        )
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)
613    def __init__(
614        self,
615        bind_interface=None,
616        egress_filter=None,
617        healthcheck_namespace=None,
618        healthy=None,
619        hostname=None,
620        id=None,
621        name=None,
622        port=None,
623        port_override=None,
624        proxy_cluster_id=None,
625        secret_store_id=None,
626        subdomain=None,
627        tags=None,
628        token=None,
629    ):
630        self.bind_interface = bind_interface if bind_interface is not None else ''
631        '''
632         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
633        '''
634        self.egress_filter = egress_filter if egress_filter is not None else ''
635        '''
636         A filter applied to the routing logic to pin datasource to nodes.
637        '''
638        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
639        '''
640         The path used to check the health of your connection.  Defaults to `default`.
641        '''
642        self.healthy = healthy if healthy is not None else False
643        '''
644         True if the datasource is reachable and the credentials are valid.
645        '''
646        self.hostname = hostname if hostname is not None else ''
647        '''
648         The host to dial to initiate a connection from the egress node to this resource.
649        '''
650        self.id = id if id is not None else ''
651        '''
652         Unique identifier of the Resource.
653        '''
654        self.name = name if name is not None else ''
655        '''
656         Unique human-readable name of the Resource.
657        '''
658        self.port = port if port is not None else 0
659        '''
660         The port to dial to initiate a connection from the egress node to this resource.
661        '''
662        self.port_override = port_override if port_override is not None else 0
663        '''
664         The local port used by clients to connect to this resource.
665        '''
666        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
667        '''
668         ID of the proxy cluster for this resource, if any.
669        '''
670        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
671        '''
672         ID of the secret store containing credentials for this resource, if any.
673        '''
674        self.subdomain = subdomain if subdomain is not None else ''
675        '''
676         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
677        '''
678        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
679        '''
680         Tags is a map of key, value pairs.
681        '''
682        self.token = token if token is not None else ''
683        '''
684         The API token to authenticate with.
685        '''
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.

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.

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.

token

The API token to authenticate with.

def to_dict(self)
705    def to_dict(self):
706        return {
707            'bind_interface': self.bind_interface,
708            'egress_filter': self.egress_filter,
709            'healthcheck_namespace': self.healthcheck_namespace,
710            'healthy': self.healthy,
711            'hostname': self.hostname,
712            'id': self.id,
713            'name': self.name,
714            'port': self.port,
715            'port_override': self.port_override,
716            'proxy_cluster_id': self.proxy_cluster_id,
717            'secret_store_id': self.secret_store_id,
718            'subdomain': self.subdomain,
719            'tags': self.tags,
720            'token': self.token,
721        }
@classmethod
def from_dict(cls, d)
723    @classmethod
724    def from_dict(cls, d):
725        return cls(
726            bind_interface=d.get('bind_interface'),
727            egress_filter=d.get('egress_filter'),
728            healthcheck_namespace=d.get('healthcheck_namespace'),
729            healthy=d.get('healthy'),
730            hostname=d.get('hostname'),
731            id=d.get('id'),
732            name=d.get('name'),
733            port=d.get('port'),
734            port_override=d.get('port_override'),
735            proxy_cluster_id=d.get('proxy_cluster_id'),
736            secret_store_id=d.get('secret_store_id'),
737            subdomain=d.get('subdomain'),
738            tags=d.get('tags'),
739            token=d.get('token'),
740        )
class AKSUserImpersonation:
743class AKSUserImpersonation:
744    __slots__ = [
745        'bind_interface',
746        'certificate_authority',
747        'client_certificate',
748        'client_key',
749        'egress_filter',
750        'healthcheck_namespace',
751        'healthy',
752        'hostname',
753        'id',
754        'name',
755        'port',
756        'port_override',
757        'proxy_cluster_id',
758        'secret_store_id',
759        'subdomain',
760        'tags',
761    ]
762
763    def __init__(
764        self,
765        bind_interface=None,
766        certificate_authority=None,
767        client_certificate=None,
768        client_key=None,
769        egress_filter=None,
770        healthcheck_namespace=None,
771        healthy=None,
772        hostname=None,
773        id=None,
774        name=None,
775        port=None,
776        port_override=None,
777        proxy_cluster_id=None,
778        secret_store_id=None,
779        subdomain=None,
780        tags=None,
781    ):
782        self.bind_interface = bind_interface if bind_interface is not None else ''
783        '''
784         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
785        '''
786        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
787        '''
788         The CA to authenticate TLS connections with.
789        '''
790        self.client_certificate = client_certificate if client_certificate is not None else ''
791        '''
792         The certificate to authenticate TLS connections with.
793        '''
794        self.client_key = client_key if client_key is not None else ''
795        '''
796         The key to authenticate TLS connections with.
797        '''
798        self.egress_filter = egress_filter if egress_filter is not None else ''
799        '''
800         A filter applied to the routing logic to pin datasource to nodes.
801        '''
802        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
803        '''
804         The path used to check the health of your connection.  Defaults to `default`.
805        '''
806        self.healthy = healthy if healthy is not None else False
807        '''
808         True if the datasource is reachable and the credentials are valid.
809        '''
810        self.hostname = hostname if hostname is not None else ''
811        '''
812         The host to dial to initiate a connection from the egress node to this resource.
813        '''
814        self.id = id if id is not None else ''
815        '''
816         Unique identifier of the Resource.
817        '''
818        self.name = name if name is not None else ''
819        '''
820         Unique human-readable name of the Resource.
821        '''
822        self.port = port if port is not None else 0
823        '''
824         The port to dial to initiate a connection from the egress node to this resource.
825        '''
826        self.port_override = port_override if port_override is not None else 0
827        '''
828         The local port used by clients to connect to this resource.
829        '''
830        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
831        '''
832         ID of the proxy cluster for this resource, if any.
833        '''
834        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
835        '''
836         ID of the secret store containing credentials for this resource, if any.
837        '''
838        self.subdomain = subdomain if subdomain is not None else ''
839        '''
840         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
841        '''
842        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
843        '''
844         Tags is a map of key, value pairs.
845        '''
846
847    def __repr__(self):
848        return '<sdm.AKSUserImpersonation ' + \
849            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
850            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
851            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
852            'client_key: ' + repr(self.client_key) + ' ' +\
853            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
854            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
855            'healthy: ' + repr(self.healthy) + ' ' +\
856            'hostname: ' + repr(self.hostname) + ' ' +\
857            'id: ' + repr(self.id) + ' ' +\
858            'name: ' + repr(self.name) + ' ' +\
859            'port: ' + repr(self.port) + ' ' +\
860            'port_override: ' + repr(self.port_override) + ' ' +\
861            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
862            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
863            'subdomain: ' + repr(self.subdomain) + ' ' +\
864            'tags: ' + repr(self.tags) + ' ' +\
865            '>'
866
867    def to_dict(self):
868        return {
869            'bind_interface': self.bind_interface,
870            'certificate_authority': self.certificate_authority,
871            'client_certificate': self.client_certificate,
872            'client_key': self.client_key,
873            'egress_filter': self.egress_filter,
874            'healthcheck_namespace': self.healthcheck_namespace,
875            'healthy': self.healthy,
876            'hostname': self.hostname,
877            'id': self.id,
878            'name': self.name,
879            'port': self.port,
880            'port_override': self.port_override,
881            'proxy_cluster_id': self.proxy_cluster_id,
882            'secret_store_id': self.secret_store_id,
883            'subdomain': self.subdomain,
884            'tags': self.tags,
885        }
886
887    @classmethod
888    def from_dict(cls, d):
889        return cls(
890            bind_interface=d.get('bind_interface'),
891            certificate_authority=d.get('certificate_authority'),
892            client_certificate=d.get('client_certificate'),
893            client_key=d.get('client_key'),
894            egress_filter=d.get('egress_filter'),
895            healthcheck_namespace=d.get('healthcheck_namespace'),
896            healthy=d.get('healthy'),
897            hostname=d.get('hostname'),
898            id=d.get('id'),
899            name=d.get('name'),
900            port=d.get('port'),
901            port_override=d.get('port_override'),
902            proxy_cluster_id=d.get('proxy_cluster_id'),
903            secret_store_id=d.get('secret_store_id'),
904            subdomain=d.get('subdomain'),
905            tags=d.get('tags'),
906        )
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)
763    def __init__(
764        self,
765        bind_interface=None,
766        certificate_authority=None,
767        client_certificate=None,
768        client_key=None,
769        egress_filter=None,
770        healthcheck_namespace=None,
771        healthy=None,
772        hostname=None,
773        id=None,
774        name=None,
775        port=None,
776        port_override=None,
777        proxy_cluster_id=None,
778        secret_store_id=None,
779        subdomain=None,
780        tags=None,
781    ):
782        self.bind_interface = bind_interface if bind_interface is not None else ''
783        '''
784         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
785        '''
786        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
787        '''
788         The CA to authenticate TLS connections with.
789        '''
790        self.client_certificate = client_certificate if client_certificate is not None else ''
791        '''
792         The certificate to authenticate TLS connections with.
793        '''
794        self.client_key = client_key if client_key is not None else ''
795        '''
796         The key to authenticate TLS connections with.
797        '''
798        self.egress_filter = egress_filter if egress_filter is not None else ''
799        '''
800         A filter applied to the routing logic to pin datasource to nodes.
801        '''
802        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
803        '''
804         The path used to check the health of your connection.  Defaults to `default`.
805        '''
806        self.healthy = healthy if healthy is not None else False
807        '''
808         True if the datasource is reachable and the credentials are valid.
809        '''
810        self.hostname = hostname if hostname is not None else ''
811        '''
812         The host to dial to initiate a connection from the egress node to this resource.
813        '''
814        self.id = id if id is not None else ''
815        '''
816         Unique identifier of the Resource.
817        '''
818        self.name = name if name is not None else ''
819        '''
820         Unique human-readable name of the Resource.
821        '''
822        self.port = port if port is not None else 0
823        '''
824         The port to dial to initiate a connection from the egress node to this resource.
825        '''
826        self.port_override = port_override if port_override is not None else 0
827        '''
828         The local port used by clients to connect to this resource.
829        '''
830        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
831        '''
832         ID of the proxy cluster for this resource, if any.
833        '''
834        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
835        '''
836         ID of the secret store containing credentials for this resource, if any.
837        '''
838        self.subdomain = subdomain if subdomain is not None else ''
839        '''
840         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
841        '''
842        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
843        '''
844         Tags is a map of key, value pairs.
845        '''
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.

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.

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.

def to_dict(self)
867    def to_dict(self):
868        return {
869            'bind_interface': self.bind_interface,
870            'certificate_authority': self.certificate_authority,
871            'client_certificate': self.client_certificate,
872            'client_key': self.client_key,
873            'egress_filter': self.egress_filter,
874            'healthcheck_namespace': self.healthcheck_namespace,
875            'healthy': self.healthy,
876            'hostname': self.hostname,
877            'id': self.id,
878            'name': self.name,
879            'port': self.port,
880            'port_override': self.port_override,
881            'proxy_cluster_id': self.proxy_cluster_id,
882            'secret_store_id': self.secret_store_id,
883            'subdomain': self.subdomain,
884            'tags': self.tags,
885        }
@classmethod
def from_dict(cls, d)
887    @classmethod
888    def from_dict(cls, d):
889        return cls(
890            bind_interface=d.get('bind_interface'),
891            certificate_authority=d.get('certificate_authority'),
892            client_certificate=d.get('client_certificate'),
893            client_key=d.get('client_key'),
894            egress_filter=d.get('egress_filter'),
895            healthcheck_namespace=d.get('healthcheck_namespace'),
896            healthy=d.get('healthy'),
897            hostname=d.get('hostname'),
898            id=d.get('id'),
899            name=d.get('name'),
900            port=d.get('port'),
901            port_override=d.get('port_override'),
902            proxy_cluster_id=d.get('proxy_cluster_id'),
903            secret_store_id=d.get('secret_store_id'),
904            subdomain=d.get('subdomain'),
905            tags=d.get('tags'),
906        )
class AWS:
 909class AWS:
 910    __slots__ = [
 911        'access_key',
 912        'bind_interface',
 913        'egress_filter',
 914        'healthcheck_region',
 915        'healthy',
 916        'id',
 917        'name',
 918        'port_override',
 919        'proxy_cluster_id',
 920        'role_arn',
 921        'role_external_id',
 922        'secret_access_key',
 923        'secret_store_id',
 924        'subdomain',
 925        'tags',
 926    ]
 927
 928    def __init__(
 929        self,
 930        access_key=None,
 931        bind_interface=None,
 932        egress_filter=None,
 933        healthcheck_region=None,
 934        healthy=None,
 935        id=None,
 936        name=None,
 937        port_override=None,
 938        proxy_cluster_id=None,
 939        role_arn=None,
 940        role_external_id=None,
 941        secret_access_key=None,
 942        secret_store_id=None,
 943        subdomain=None,
 944        tags=None,
 945    ):
 946        self.access_key = access_key if access_key is not None else ''
 947        '''
 948         The Access Key ID to use to authenticate.
 949        '''
 950        self.bind_interface = bind_interface if bind_interface is not None else ''
 951        '''
 952         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 953        '''
 954        self.egress_filter = egress_filter if egress_filter is not None else ''
 955        '''
 956         A filter applied to the routing logic to pin datasource to nodes.
 957        '''
 958        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
 959        '''
 960         The AWS region healthcheck requests should attempt to connect to.
 961        '''
 962        self.healthy = healthy if healthy is not None else False
 963        '''
 964         True if the datasource is reachable and the credentials are valid.
 965        '''
 966        self.id = id if id is not None else ''
 967        '''
 968         Unique identifier of the Resource.
 969        '''
 970        self.name = name if name is not None else ''
 971        '''
 972         Unique human-readable name of the Resource.
 973        '''
 974        self.port_override = port_override if port_override is not None else 0
 975        '''
 976         The local port used by clients to connect to this resource.
 977        '''
 978        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 979        '''
 980         ID of the proxy cluster for this resource, if any.
 981        '''
 982        self.role_arn = role_arn if role_arn is not None else ''
 983        '''
 984         The role to assume after logging in.
 985        '''
 986        self.role_external_id = role_external_id if role_external_id is not None else ''
 987        '''
 988         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 989        '''
 990        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 991        '''
 992         The Secret Access Key to use to authenticate.
 993        '''
 994        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 995        '''
 996         ID of the secret store containing credentials for this resource, if any.
 997        '''
 998        self.subdomain = subdomain if subdomain is not None else ''
 999        '''
1000         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1001        '''
1002        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1003        '''
1004         Tags is a map of key, value pairs.
1005        '''
1006
1007    def __repr__(self):
1008        return '<sdm.AWS ' + \
1009            'access_key: ' + repr(self.access_key) + ' ' +\
1010            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1011            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1012            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
1013            'healthy: ' + repr(self.healthy) + ' ' +\
1014            'id: ' + repr(self.id) + ' ' +\
1015            'name: ' + repr(self.name) + ' ' +\
1016            'port_override: ' + repr(self.port_override) + ' ' +\
1017            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1018            'role_arn: ' + repr(self.role_arn) + ' ' +\
1019            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1020            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
1021            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1022            'subdomain: ' + repr(self.subdomain) + ' ' +\
1023            'tags: ' + repr(self.tags) + ' ' +\
1024            '>'
1025
1026    def to_dict(self):
1027        return {
1028            'access_key': self.access_key,
1029            'bind_interface': self.bind_interface,
1030            'egress_filter': self.egress_filter,
1031            'healthcheck_region': self.healthcheck_region,
1032            'healthy': self.healthy,
1033            'id': self.id,
1034            'name': self.name,
1035            'port_override': self.port_override,
1036            'proxy_cluster_id': self.proxy_cluster_id,
1037            'role_arn': self.role_arn,
1038            'role_external_id': self.role_external_id,
1039            'secret_access_key': self.secret_access_key,
1040            'secret_store_id': self.secret_store_id,
1041            'subdomain': self.subdomain,
1042            'tags': self.tags,
1043        }
1044
1045    @classmethod
1046    def from_dict(cls, d):
1047        return cls(
1048            access_key=d.get('access_key'),
1049            bind_interface=d.get('bind_interface'),
1050            egress_filter=d.get('egress_filter'),
1051            healthcheck_region=d.get('healthcheck_region'),
1052            healthy=d.get('healthy'),
1053            id=d.get('id'),
1054            name=d.get('name'),
1055            port_override=d.get('port_override'),
1056            proxy_cluster_id=d.get('proxy_cluster_id'),
1057            role_arn=d.get('role_arn'),
1058            role_external_id=d.get('role_external_id'),
1059            secret_access_key=d.get('secret_access_key'),
1060            secret_store_id=d.get('secret_store_id'),
1061            subdomain=d.get('subdomain'),
1062            tags=d.get('tags'),
1063        )
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)
 928    def __init__(
 929        self,
 930        access_key=None,
 931        bind_interface=None,
 932        egress_filter=None,
 933        healthcheck_region=None,
 934        healthy=None,
 935        id=None,
 936        name=None,
 937        port_override=None,
 938        proxy_cluster_id=None,
 939        role_arn=None,
 940        role_external_id=None,
 941        secret_access_key=None,
 942        secret_store_id=None,
 943        subdomain=None,
 944        tags=None,
 945    ):
 946        self.access_key = access_key if access_key is not None else ''
 947        '''
 948         The Access Key ID to use to authenticate.
 949        '''
 950        self.bind_interface = bind_interface if bind_interface is not None else ''
 951        '''
 952         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 953        '''
 954        self.egress_filter = egress_filter if egress_filter is not None else ''
 955        '''
 956         A filter applied to the routing logic to pin datasource to nodes.
 957        '''
 958        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
 959        '''
 960         The AWS region healthcheck requests should attempt to connect to.
 961        '''
 962        self.healthy = healthy if healthy is not None else False
 963        '''
 964         True if the datasource is reachable and the credentials are valid.
 965        '''
 966        self.id = id if id is not None else ''
 967        '''
 968         Unique identifier of the Resource.
 969        '''
 970        self.name = name if name is not None else ''
 971        '''
 972         Unique human-readable name of the Resource.
 973        '''
 974        self.port_override = port_override if port_override is not None else 0
 975        '''
 976         The local port used by clients to connect to this resource.
 977        '''
 978        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 979        '''
 980         ID of the proxy cluster for this resource, if any.
 981        '''
 982        self.role_arn = role_arn if role_arn is not None else ''
 983        '''
 984         The role to assume after logging in.
 985        '''
 986        self.role_external_id = role_external_id if role_external_id is not None else ''
 987        '''
 988         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 989        '''
 990        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 991        '''
 992         The Secret Access Key to use to authenticate.
 993        '''
 994        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 995        '''
 996         ID of the secret store containing credentials for this resource, if any.
 997        '''
 998        self.subdomain = subdomain if subdomain is not None else ''
 999        '''
1000         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1001        '''
1002        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1003        '''
1004         Tags is a map of key, value pairs.
1005        '''
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.

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.

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

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.

def to_dict(self)
1026    def to_dict(self):
1027        return {
1028            'access_key': self.access_key,
1029            'bind_interface': self.bind_interface,
1030            'egress_filter': self.egress_filter,
1031            'healthcheck_region': self.healthcheck_region,
1032            'healthy': self.healthy,
1033            'id': self.id,
1034            'name': self.name,
1035            'port_override': self.port_override,
1036            'proxy_cluster_id': self.proxy_cluster_id,
1037            'role_arn': self.role_arn,
1038            'role_external_id': self.role_external_id,
1039            'secret_access_key': self.secret_access_key,
1040            'secret_store_id': self.secret_store_id,
1041            'subdomain': self.subdomain,
1042            'tags': self.tags,
1043        }
@classmethod
def from_dict(cls, d)
1045    @classmethod
1046    def from_dict(cls, d):
1047        return cls(
1048            access_key=d.get('access_key'),
1049            bind_interface=d.get('bind_interface'),
1050            egress_filter=d.get('egress_filter'),
1051            healthcheck_region=d.get('healthcheck_region'),
1052            healthy=d.get('healthy'),
1053            id=d.get('id'),
1054            name=d.get('name'),
1055            port_override=d.get('port_override'),
1056            proxy_cluster_id=d.get('proxy_cluster_id'),
1057            role_arn=d.get('role_arn'),
1058            role_external_id=d.get('role_external_id'),
1059            secret_access_key=d.get('secret_access_key'),
1060            secret_store_id=d.get('secret_store_id'),
1061            subdomain=d.get('subdomain'),
1062            tags=d.get('tags'),
1063        )
class AWSCertX509Store:
1066class AWSCertX509Store:
1067    __slots__ = [
1068        'caarn',
1069        'certificatetemplatearn',
1070        'id',
1071        'issuedcertttlminutes',
1072        'name',
1073        'region',
1074        'signingalgo',
1075        'tags',
1076    ]
1077
1078    def __init__(
1079        self,
1080        caarn=None,
1081        certificatetemplatearn=None,
1082        id=None,
1083        issuedcertttlminutes=None,
1084        name=None,
1085        region=None,
1086        signingalgo=None,
1087        tags=None,
1088    ):
1089        self.caarn = caarn if caarn is not None else ''
1090        '''
1091         The ARN of the CA in AWS Private CA
1092        '''
1093        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1094        '''
1095         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1096        '''
1097        self.id = id if id is not None else ''
1098        '''
1099         Unique identifier of the SecretStore.
1100        '''
1101        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1102        '''
1103         The lifetime of certificates issued by this CA represented in minutes.
1104        '''
1105        self.name = name if name is not None else ''
1106        '''
1107         Unique human-readable name of the SecretStore.
1108        '''
1109        self.region = region if region is not None else ''
1110        '''
1111         The AWS region to target e.g. us-east-1
1112        '''
1113        self.signingalgo = signingalgo if signingalgo is not None else ''
1114        '''
1115         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1116        '''
1117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1118        '''
1119         Tags is a map of key, value pairs.
1120        '''
1121
1122    def __repr__(self):
1123        return '<sdm.AWSCertX509Store ' + \
1124            'caarn: ' + repr(self.caarn) + ' ' +\
1125            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
1126            'id: ' + repr(self.id) + ' ' +\
1127            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
1128            'name: ' + repr(self.name) + ' ' +\
1129            'region: ' + repr(self.region) + ' ' +\
1130            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
1131            'tags: ' + repr(self.tags) + ' ' +\
1132            '>'
1133
1134    def to_dict(self):
1135        return {
1136            'caarn': self.caarn,
1137            'certificatetemplatearn': self.certificatetemplatearn,
1138            'id': self.id,
1139            'issuedcertttlminutes': self.issuedcertttlminutes,
1140            'name': self.name,
1141            'region': self.region,
1142            'signingalgo': self.signingalgo,
1143            'tags': self.tags,
1144        }
1145
1146    @classmethod
1147    def from_dict(cls, d):
1148        return cls(
1149            caarn=d.get('caarn'),
1150            certificatetemplatearn=d.get('certificatetemplatearn'),
1151            id=d.get('id'),
1152            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1153            name=d.get('name'),
1154            region=d.get('region'),
1155            signingalgo=d.get('signingalgo'),
1156            tags=d.get('tags'),
1157        )
AWSCertX509Store( caarn=None, certificatetemplatearn=None, id=None, issuedcertttlminutes=None, name=None, region=None, signingalgo=None, tags=None)
1078    def __init__(
1079        self,
1080        caarn=None,
1081        certificatetemplatearn=None,
1082        id=None,
1083        issuedcertttlminutes=None,
1084        name=None,
1085        region=None,
1086        signingalgo=None,
1087        tags=None,
1088    ):
1089        self.caarn = caarn if caarn is not None else ''
1090        '''
1091         The ARN of the CA in AWS Private CA
1092        '''
1093        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1094        '''
1095         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1096        '''
1097        self.id = id if id is not None else ''
1098        '''
1099         Unique identifier of the SecretStore.
1100        '''
1101        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1102        '''
1103         The lifetime of certificates issued by this CA represented in minutes.
1104        '''
1105        self.name = name if name is not None else ''
1106        '''
1107         Unique human-readable name of the SecretStore.
1108        '''
1109        self.region = region if region is not None else ''
1110        '''
1111         The AWS region to target e.g. us-east-1
1112        '''
1113        self.signingalgo = signingalgo if signingalgo is not None else ''
1114        '''
1115         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1116        '''
1117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1118        '''
1119         Tags is a map of key, value pairs.
1120        '''
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)
1134    def to_dict(self):
1135        return {
1136            'caarn': self.caarn,
1137            'certificatetemplatearn': self.certificatetemplatearn,
1138            'id': self.id,
1139            'issuedcertttlminutes': self.issuedcertttlminutes,
1140            'name': self.name,
1141            'region': self.region,
1142            'signingalgo': self.signingalgo,
1143            'tags': self.tags,
1144        }
@classmethod
def from_dict(cls, d)
1146    @classmethod
1147    def from_dict(cls, d):
1148        return cls(
1149            caarn=d.get('caarn'),
1150            certificatetemplatearn=d.get('certificatetemplatearn'),
1151            id=d.get('id'),
1152            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1153            name=d.get('name'),
1154            region=d.get('region'),
1155            signingalgo=d.get('signingalgo'),
1156            tags=d.get('tags'),
1157        )
class AWSConsole:
1160class AWSConsole:
1161    __slots__ = [
1162        'bind_interface',
1163        'egress_filter',
1164        'enable_env_variables',
1165        'healthy',
1166        'id',
1167        'identity_alias_healthcheck_username',
1168        'identity_set_id',
1169        'name',
1170        'port_override',
1171        'proxy_cluster_id',
1172        'region',
1173        'role_arn',
1174        'role_external_id',
1175        'secret_store_id',
1176        'session_expiry',
1177        'subdomain',
1178        'tags',
1179    ]
1180
1181    def __init__(
1182        self,
1183        bind_interface=None,
1184        egress_filter=None,
1185        enable_env_variables=None,
1186        healthy=None,
1187        id=None,
1188        identity_alias_healthcheck_username=None,
1189        identity_set_id=None,
1190        name=None,
1191        port_override=None,
1192        proxy_cluster_id=None,
1193        region=None,
1194        role_arn=None,
1195        role_external_id=None,
1196        secret_store_id=None,
1197        session_expiry=None,
1198        subdomain=None,
1199        tags=None,
1200    ):
1201        self.bind_interface = bind_interface if bind_interface is not None else ''
1202        '''
1203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1204        '''
1205        self.egress_filter = egress_filter if egress_filter is not None else ''
1206        '''
1207         A filter applied to the routing logic to pin datasource to nodes.
1208        '''
1209        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1210        '''
1211         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1212        '''
1213        self.healthy = healthy if healthy is not None else False
1214        '''
1215         True if the datasource is reachable and the credentials are valid.
1216        '''
1217        self.id = id if id is not None else ''
1218        '''
1219         Unique identifier of the Resource.
1220        '''
1221        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1222        '''
1223         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1224        '''
1225        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1226        '''
1227         The ID of the identity set to use for identity connections.
1228        '''
1229        self.name = name if name is not None else ''
1230        '''
1231         Unique human-readable name of the Resource.
1232        '''
1233        self.port_override = port_override if port_override is not None else 0
1234        '''
1235         The local port used by clients to connect to this resource.
1236        '''
1237        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1238        '''
1239         ID of the proxy cluster for this resource, if any.
1240        '''
1241        self.region = region if region is not None else ''
1242        '''
1243         The AWS region to connect to.
1244        '''
1245        self.role_arn = role_arn if role_arn is not None else ''
1246        '''
1247         The role to assume after logging in.
1248        '''
1249        self.role_external_id = role_external_id if role_external_id is not None else ''
1250        '''
1251         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1252        '''
1253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1254        '''
1255         ID of the secret store containing credentials for this resource, if any.
1256        '''
1257        self.session_expiry = session_expiry if session_expiry is not None else 0
1258        '''
1259         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1260        '''
1261        self.subdomain = subdomain if subdomain is not None else ''
1262        '''
1263         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1264        '''
1265        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1266        '''
1267         Tags is a map of key, value pairs.
1268        '''
1269
1270    def __repr__(self):
1271        return '<sdm.AWSConsole ' + \
1272            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1273            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1274            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
1275            'healthy: ' + repr(self.healthy) + ' ' +\
1276            'id: ' + repr(self.id) + ' ' +\
1277            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
1278            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
1279            'name: ' + repr(self.name) + ' ' +\
1280            'port_override: ' + repr(self.port_override) + ' ' +\
1281            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1282            'region: ' + repr(self.region) + ' ' +\
1283            'role_arn: ' + repr(self.role_arn) + ' ' +\
1284            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1285            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1286            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
1287            'subdomain: ' + repr(self.subdomain) + ' ' +\
1288            'tags: ' + repr(self.tags) + ' ' +\
1289            '>'
1290
1291    def to_dict(self):
1292        return {
1293            'bind_interface': self.bind_interface,
1294            'egress_filter': self.egress_filter,
1295            'enable_env_variables': self.enable_env_variables,
1296            'healthy': self.healthy,
1297            'id': self.id,
1298            'identity_alias_healthcheck_username':
1299            self.identity_alias_healthcheck_username,
1300            'identity_set_id': self.identity_set_id,
1301            'name': self.name,
1302            'port_override': self.port_override,
1303            'proxy_cluster_id': self.proxy_cluster_id,
1304            'region': self.region,
1305            'role_arn': self.role_arn,
1306            'role_external_id': self.role_external_id,
1307            'secret_store_id': self.secret_store_id,
1308            'session_expiry': self.session_expiry,
1309            'subdomain': self.subdomain,
1310            'tags': self.tags,
1311        }
1312
1313    @classmethod
1314    def from_dict(cls, d):
1315        return cls(
1316            bind_interface=d.get('bind_interface'),
1317            egress_filter=d.get('egress_filter'),
1318            enable_env_variables=d.get('enable_env_variables'),
1319            healthy=d.get('healthy'),
1320            id=d.get('id'),
1321            identity_alias_healthcheck_username=d.get(
1322                'identity_alias_healthcheck_username'),
1323            identity_set_id=d.get('identity_set_id'),
1324            name=d.get('name'),
1325            port_override=d.get('port_override'),
1326            proxy_cluster_id=d.get('proxy_cluster_id'),
1327            region=d.get('region'),
1328            role_arn=d.get('role_arn'),
1329            role_external_id=d.get('role_external_id'),
1330            secret_store_id=d.get('secret_store_id'),
1331            session_expiry=d.get('session_expiry'),
1332            subdomain=d.get('subdomain'),
1333            tags=d.get('tags'),
1334        )
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)
1181    def __init__(
1182        self,
1183        bind_interface=None,
1184        egress_filter=None,
1185        enable_env_variables=None,
1186        healthy=None,
1187        id=None,
1188        identity_alias_healthcheck_username=None,
1189        identity_set_id=None,
1190        name=None,
1191        port_override=None,
1192        proxy_cluster_id=None,
1193        region=None,
1194        role_arn=None,
1195        role_external_id=None,
1196        secret_store_id=None,
1197        session_expiry=None,
1198        subdomain=None,
1199        tags=None,
1200    ):
1201        self.bind_interface = bind_interface if bind_interface is not None else ''
1202        '''
1203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1204        '''
1205        self.egress_filter = egress_filter if egress_filter is not None else ''
1206        '''
1207         A filter applied to the routing logic to pin datasource to nodes.
1208        '''
1209        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1210        '''
1211         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1212        '''
1213        self.healthy = healthy if healthy is not None else False
1214        '''
1215         True if the datasource is reachable and the credentials are valid.
1216        '''
1217        self.id = id if id is not None else ''
1218        '''
1219         Unique identifier of the Resource.
1220        '''
1221        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1222        '''
1223         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1224        '''
1225        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1226        '''
1227         The ID of the identity set to use for identity connections.
1228        '''
1229        self.name = name if name is not None else ''
1230        '''
1231         Unique human-readable name of the Resource.
1232        '''
1233        self.port_override = port_override if port_override is not None else 0
1234        '''
1235         The local port used by clients to connect to this resource.
1236        '''
1237        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1238        '''
1239         ID of the proxy cluster for this resource, if any.
1240        '''
1241        self.region = region if region is not None else ''
1242        '''
1243         The AWS region to connect to.
1244        '''
1245        self.role_arn = role_arn if role_arn is not None else ''
1246        '''
1247         The role to assume after logging in.
1248        '''
1249        self.role_external_id = role_external_id if role_external_id is not None else ''
1250        '''
1251         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1252        '''
1253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1254        '''
1255         ID of the secret store containing credentials for this resource, if any.
1256        '''
1257        self.session_expiry = session_expiry if session_expiry is not None else 0
1258        '''
1259         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1260        '''
1261        self.subdomain = subdomain if subdomain is not None else ''
1262        '''
1263         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1264        '''
1265        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1266        '''
1267         Tags is a map of key, value pairs.
1268        '''
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.

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.

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.

def to_dict(self)
1291    def to_dict(self):
1292        return {
1293            'bind_interface': self.bind_interface,
1294            'egress_filter': self.egress_filter,
1295            'enable_env_variables': self.enable_env_variables,
1296            'healthy': self.healthy,
1297            'id': self.id,
1298            'identity_alias_healthcheck_username':
1299            self.identity_alias_healthcheck_username,
1300            'identity_set_id': self.identity_set_id,
1301            'name': self.name,
1302            'port_override': self.port_override,
1303            'proxy_cluster_id': self.proxy_cluster_id,
1304            'region': self.region,
1305            'role_arn': self.role_arn,
1306            'role_external_id': self.role_external_id,
1307            'secret_store_id': self.secret_store_id,
1308            'session_expiry': self.session_expiry,
1309            'subdomain': self.subdomain,
1310            'tags': self.tags,
1311        }
@classmethod
def from_dict(cls, d)
1313    @classmethod
1314    def from_dict(cls, d):
1315        return cls(
1316            bind_interface=d.get('bind_interface'),
1317            egress_filter=d.get('egress_filter'),
1318            enable_env_variables=d.get('enable_env_variables'),
1319            healthy=d.get('healthy'),
1320            id=d.get('id'),
1321            identity_alias_healthcheck_username=d.get(
1322                'identity_alias_healthcheck_username'),
1323            identity_set_id=d.get('identity_set_id'),
1324            name=d.get('name'),
1325            port_override=d.get('port_override'),
1326            proxy_cluster_id=d.get('proxy_cluster_id'),
1327            region=d.get('region'),
1328            role_arn=d.get('role_arn'),
1329            role_external_id=d.get('role_external_id'),
1330            secret_store_id=d.get('secret_store_id'),
1331            session_expiry=d.get('session_expiry'),
1332            subdomain=d.get('subdomain'),
1333            tags=d.get('tags'),
1334        )
class AWSConsoleStaticKeyPair:
1337class AWSConsoleStaticKeyPair:
1338    __slots__ = [
1339        'access_key',
1340        'bind_interface',
1341        'egress_filter',
1342        'healthy',
1343        'id',
1344        'identity_alias_healthcheck_username',
1345        'identity_set_id',
1346        'name',
1347        'port_override',
1348        'proxy_cluster_id',
1349        'region',
1350        'role_arn',
1351        'role_external_id',
1352        'secret_access_key',
1353        'secret_store_id',
1354        'session_expiry',
1355        'subdomain',
1356        'tags',
1357    ]
1358
1359    def __init__(
1360        self,
1361        access_key=None,
1362        bind_interface=None,
1363        egress_filter=None,
1364        healthy=None,
1365        id=None,
1366        identity_alias_healthcheck_username=None,
1367        identity_set_id=None,
1368        name=None,
1369        port_override=None,
1370        proxy_cluster_id=None,
1371        region=None,
1372        role_arn=None,
1373        role_external_id=None,
1374        secret_access_key=None,
1375        secret_store_id=None,
1376        session_expiry=None,
1377        subdomain=None,
1378        tags=None,
1379    ):
1380        self.access_key = access_key if access_key is not None else ''
1381        '''
1382         The Access Key ID to authenticate with.
1383        '''
1384        self.bind_interface = bind_interface if bind_interface is not None else ''
1385        '''
1386         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1387        '''
1388        self.egress_filter = egress_filter if egress_filter is not None else ''
1389        '''
1390         A filter applied to the routing logic to pin datasource to nodes.
1391        '''
1392        self.healthy = healthy if healthy is not None else False
1393        '''
1394         True if the datasource is reachable and the credentials are valid.
1395        '''
1396        self.id = id if id is not None else ''
1397        '''
1398         Unique identifier of the Resource.
1399        '''
1400        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1401        '''
1402         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1403        '''
1404        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1405        '''
1406         The ID of the identity set to use for identity connections.
1407        '''
1408        self.name = name if name is not None else ''
1409        '''
1410         Unique human-readable name of the Resource.
1411        '''
1412        self.port_override = port_override if port_override is not None else 0
1413        '''
1414         The local port used by clients to connect to this resource.
1415        '''
1416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1417        '''
1418         ID of the proxy cluster for this resource, if any.
1419        '''
1420        self.region = region if region is not None else ''
1421        '''
1422         The AWS region to connect to.
1423        '''
1424        self.role_arn = role_arn if role_arn is not None else ''
1425        '''
1426         The role to assume after logging in.
1427        '''
1428        self.role_external_id = role_external_id if role_external_id is not None else ''
1429        '''
1430         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1431        '''
1432        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1433        '''
1434         The Secret Access Key to authenticate with.
1435        '''
1436        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1437        '''
1438         ID of the secret store containing credentials for this resource, if any.
1439        '''
1440        self.session_expiry = session_expiry if session_expiry is not None else 0
1441        '''
1442         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1443        '''
1444        self.subdomain = subdomain if subdomain is not None else ''
1445        '''
1446         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1447        '''
1448        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1449        '''
1450         Tags is a map of key, value pairs.
1451        '''
1452
1453    def __repr__(self):
1454        return '<sdm.AWSConsoleStaticKeyPair ' + \
1455            'access_key: ' + repr(self.access_key) + ' ' +\
1456            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1457            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1458            'healthy: ' + repr(self.healthy) + ' ' +\
1459            'id: ' + repr(self.id) + ' ' +\
1460            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
1461            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
1462            'name: ' + repr(self.name) + ' ' +\
1463            'port_override: ' + repr(self.port_override) + ' ' +\
1464            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1465            'region: ' + repr(self.region) + ' ' +\
1466            'role_arn: ' + repr(self.role_arn) + ' ' +\
1467            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1468            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
1469            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1470            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
1471            'subdomain: ' + repr(self.subdomain) + ' ' +\
1472            'tags: ' + repr(self.tags) + ' ' +\
1473            '>'
1474
1475    def to_dict(self):
1476        return {
1477            'access_key': self.access_key,
1478            'bind_interface': self.bind_interface,
1479            'egress_filter': self.egress_filter,
1480            'healthy': self.healthy,
1481            'id': self.id,
1482            'identity_alias_healthcheck_username':
1483            self.identity_alias_healthcheck_username,
1484            'identity_set_id': self.identity_set_id,
1485            'name': self.name,
1486            'port_override': self.port_override,
1487            'proxy_cluster_id': self.proxy_cluster_id,
1488            'region': self.region,
1489            'role_arn': self.role_arn,
1490            'role_external_id': self.role_external_id,
1491            'secret_access_key': self.secret_access_key,
1492            'secret_store_id': self.secret_store_id,
1493            'session_expiry': self.session_expiry,
1494            'subdomain': self.subdomain,
1495            'tags': self.tags,
1496        }
1497
1498    @classmethod
1499    def from_dict(cls, d):
1500        return cls(
1501            access_key=d.get('access_key'),
1502            bind_interface=d.get('bind_interface'),
1503            egress_filter=d.get('egress_filter'),
1504            healthy=d.get('healthy'),
1505            id=d.get('id'),
1506            identity_alias_healthcheck_username=d.get(
1507                'identity_alias_healthcheck_username'),
1508            identity_set_id=d.get('identity_set_id'),
1509            name=d.get('name'),
1510            port_override=d.get('port_override'),
1511            proxy_cluster_id=d.get('proxy_cluster_id'),
1512            region=d.get('region'),
1513            role_arn=d.get('role_arn'),
1514            role_external_id=d.get('role_external_id'),
1515            secret_access_key=d.get('secret_access_key'),
1516            secret_store_id=d.get('secret_store_id'),
1517            session_expiry=d.get('session_expiry'),
1518            subdomain=d.get('subdomain'),
1519            tags=d.get('tags'),
1520        )
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)
1359    def __init__(
1360        self,
1361        access_key=None,
1362        bind_interface=None,
1363        egress_filter=None,
1364        healthy=None,
1365        id=None,
1366        identity_alias_healthcheck_username=None,
1367        identity_set_id=None,
1368        name=None,
1369        port_override=None,
1370        proxy_cluster_id=None,
1371        region=None,
1372        role_arn=None,
1373        role_external_id=None,
1374        secret_access_key=None,
1375        secret_store_id=None,
1376        session_expiry=None,
1377        subdomain=None,
1378        tags=None,
1379    ):
1380        self.access_key = access_key if access_key is not None else ''
1381        '''
1382         The Access Key ID to authenticate with.
1383        '''
1384        self.bind_interface = bind_interface if bind_interface is not None else ''
1385        '''
1386         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1387        '''
1388        self.egress_filter = egress_filter if egress_filter is not None else ''
1389        '''
1390         A filter applied to the routing logic to pin datasource to nodes.
1391        '''
1392        self.healthy = healthy if healthy is not None else False
1393        '''
1394         True if the datasource is reachable and the credentials are valid.
1395        '''
1396        self.id = id if id is not None else ''
1397        '''
1398         Unique identifier of the Resource.
1399        '''
1400        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1401        '''
1402         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1403        '''
1404        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1405        '''
1406         The ID of the identity set to use for identity connections.
1407        '''
1408        self.name = name if name is not None else ''
1409        '''
1410         Unique human-readable name of the Resource.
1411        '''
1412        self.port_override = port_override if port_override is not None else 0
1413        '''
1414         The local port used by clients to connect to this resource.
1415        '''
1416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1417        '''
1418         ID of the proxy cluster for this resource, if any.
1419        '''
1420        self.region = region if region is not None else ''
1421        '''
1422         The AWS region to connect to.
1423        '''
1424        self.role_arn = role_arn if role_arn is not None else ''
1425        '''
1426         The role to assume after logging in.
1427        '''
1428        self.role_external_id = role_external_id if role_external_id is not None else ''
1429        '''
1430         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1431        '''
1432        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1433        '''
1434         The Secret Access Key to authenticate with.
1435        '''
1436        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1437        '''
1438         ID of the secret store containing credentials for this resource, if any.
1439        '''
1440        self.session_expiry = session_expiry if session_expiry is not None else 0
1441        '''
1442         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1443        '''
1444        self.subdomain = subdomain if subdomain is not None else ''
1445        '''
1446         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1447        '''
1448        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1449        '''
1450         Tags is a map of key, value pairs.
1451        '''
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.

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.

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.

def to_dict(self)
1475    def to_dict(self):
1476        return {
1477            'access_key': self.access_key,
1478            'bind_interface': self.bind_interface,
1479            'egress_filter': self.egress_filter,
1480            'healthy': self.healthy,
1481            'id': self.id,
1482            'identity_alias_healthcheck_username':
1483            self.identity_alias_healthcheck_username,
1484            'identity_set_id': self.identity_set_id,
1485            'name': self.name,
1486            'port_override': self.port_override,
1487            'proxy_cluster_id': self.proxy_cluster_id,
1488            'region': self.region,
1489            'role_arn': self.role_arn,
1490            'role_external_id': self.role_external_id,
1491            'secret_access_key': self.secret_access_key,
1492            'secret_store_id': self.secret_store_id,
1493            'session_expiry': self.session_expiry,
1494            'subdomain': self.subdomain,
1495            'tags': self.tags,
1496        }
@classmethod
def from_dict(cls, d)
1498    @classmethod
1499    def from_dict(cls, d):
1500        return cls(
1501            access_key=d.get('access_key'),
1502            bind_interface=d.get('bind_interface'),
1503            egress_filter=d.get('egress_filter'),
1504            healthy=d.get('healthy'),
1505            id=d.get('id'),
1506            identity_alias_healthcheck_username=d.get(
1507                'identity_alias_healthcheck_username'),
1508            identity_set_id=d.get('identity_set_id'),
1509            name=d.get('name'),
1510            port_override=d.get('port_override'),
1511            proxy_cluster_id=d.get('proxy_cluster_id'),
1512            region=d.get('region'),
1513            role_arn=d.get('role_arn'),
1514            role_external_id=d.get('role_external_id'),
1515            secret_access_key=d.get('secret_access_key'),
1516            secret_store_id=d.get('secret_store_id'),
1517            session_expiry=d.get('session_expiry'),
1518            subdomain=d.get('subdomain'),
1519            tags=d.get('tags'),
1520        )
class AWSInstanceProfile:
1523class AWSInstanceProfile:
1524    __slots__ = [
1525        'bind_interface',
1526        'egress_filter',
1527        'enable_env_variables',
1528        'healthy',
1529        'id',
1530        'name',
1531        'port_override',
1532        'proxy_cluster_id',
1533        'region',
1534        'role_arn',
1535        'role_external_id',
1536        'secret_store_id',
1537        'subdomain',
1538        'tags',
1539    ]
1540
1541    def __init__(
1542        self,
1543        bind_interface=None,
1544        egress_filter=None,
1545        enable_env_variables=None,
1546        healthy=None,
1547        id=None,
1548        name=None,
1549        port_override=None,
1550        proxy_cluster_id=None,
1551        region=None,
1552        role_arn=None,
1553        role_external_id=None,
1554        secret_store_id=None,
1555        subdomain=None,
1556        tags=None,
1557    ):
1558        self.bind_interface = bind_interface if bind_interface is not None else ''
1559        '''
1560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1561        '''
1562        self.egress_filter = egress_filter if egress_filter is not None else ''
1563        '''
1564         A filter applied to the routing logic to pin datasource to nodes.
1565        '''
1566        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1567        '''
1568         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1569        '''
1570        self.healthy = healthy if healthy is not None else False
1571        '''
1572         True if the datasource is reachable and the credentials are valid.
1573        '''
1574        self.id = id if id is not None else ''
1575        '''
1576         Unique identifier of the Resource.
1577        '''
1578        self.name = name if name is not None else ''
1579        '''
1580         Unique human-readable name of the Resource.
1581        '''
1582        self.port_override = port_override if port_override is not None else 0
1583        '''
1584         The local port used by clients to connect to this resource.
1585        '''
1586        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1587        '''
1588         ID of the proxy cluster for this resource, if any.
1589        '''
1590        self.region = region if region is not None else ''
1591        '''
1592         The AWS region to connect to.
1593        '''
1594        self.role_arn = role_arn if role_arn is not None else ''
1595        '''
1596         The role to assume after logging in.
1597        '''
1598        self.role_external_id = role_external_id if role_external_id is not None else ''
1599        '''
1600         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1601        '''
1602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1603        '''
1604         ID of the secret store containing credentials for this resource, if any.
1605        '''
1606        self.subdomain = subdomain if subdomain is not None else ''
1607        '''
1608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1609        '''
1610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1611        '''
1612         Tags is a map of key, value pairs.
1613        '''
1614
1615    def __repr__(self):
1616        return '<sdm.AWSInstanceProfile ' + \
1617            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1618            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1619            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
1620            'healthy: ' + repr(self.healthy) + ' ' +\
1621            'id: ' + repr(self.id) + ' ' +\
1622            'name: ' + repr(self.name) + ' ' +\
1623            'port_override: ' + repr(self.port_override) + ' ' +\
1624            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1625            'region: ' + repr(self.region) + ' ' +\
1626            'role_arn: ' + repr(self.role_arn) + ' ' +\
1627            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1628            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1629            'subdomain: ' + repr(self.subdomain) + ' ' +\
1630            'tags: ' + repr(self.tags) + ' ' +\
1631            '>'
1632
1633    def to_dict(self):
1634        return {
1635            'bind_interface': self.bind_interface,
1636            'egress_filter': self.egress_filter,
1637            'enable_env_variables': self.enable_env_variables,
1638            'healthy': self.healthy,
1639            'id': self.id,
1640            'name': self.name,
1641            'port_override': self.port_override,
1642            'proxy_cluster_id': self.proxy_cluster_id,
1643            'region': self.region,
1644            'role_arn': self.role_arn,
1645            'role_external_id': self.role_external_id,
1646            'secret_store_id': self.secret_store_id,
1647            'subdomain': self.subdomain,
1648            'tags': self.tags,
1649        }
1650
1651    @classmethod
1652    def from_dict(cls, d):
1653        return cls(
1654            bind_interface=d.get('bind_interface'),
1655            egress_filter=d.get('egress_filter'),
1656            enable_env_variables=d.get('enable_env_variables'),
1657            healthy=d.get('healthy'),
1658            id=d.get('id'),
1659            name=d.get('name'),
1660            port_override=d.get('port_override'),
1661            proxy_cluster_id=d.get('proxy_cluster_id'),
1662            region=d.get('region'),
1663            role_arn=d.get('role_arn'),
1664            role_external_id=d.get('role_external_id'),
1665            secret_store_id=d.get('secret_store_id'),
1666            subdomain=d.get('subdomain'),
1667            tags=d.get('tags'),
1668        )
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)
1541    def __init__(
1542        self,
1543        bind_interface=None,
1544        egress_filter=None,
1545        enable_env_variables=None,
1546        healthy=None,
1547        id=None,
1548        name=None,
1549        port_override=None,
1550        proxy_cluster_id=None,
1551        region=None,
1552        role_arn=None,
1553        role_external_id=None,
1554        secret_store_id=None,
1555        subdomain=None,
1556        tags=None,
1557    ):
1558        self.bind_interface = bind_interface if bind_interface is not None else ''
1559        '''
1560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1561        '''
1562        self.egress_filter = egress_filter if egress_filter is not None else ''
1563        '''
1564         A filter applied to the routing logic to pin datasource to nodes.
1565        '''
1566        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1567        '''
1568         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1569        '''
1570        self.healthy = healthy if healthy is not None else False
1571        '''
1572         True if the datasource is reachable and the credentials are valid.
1573        '''
1574        self.id = id if id is not None else ''
1575        '''
1576         Unique identifier of the Resource.
1577        '''
1578        self.name = name if name is not None else ''
1579        '''
1580         Unique human-readable name of the Resource.
1581        '''
1582        self.port_override = port_override if port_override is not None else 0
1583        '''
1584         The local port used by clients to connect to this resource.
1585        '''
1586        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1587        '''
1588         ID of the proxy cluster for this resource, if any.
1589        '''
1590        self.region = region if region is not None else ''
1591        '''
1592         The AWS region to connect to.
1593        '''
1594        self.role_arn = role_arn if role_arn is not None else ''
1595        '''
1596         The role to assume after logging in.
1597        '''
1598        self.role_external_id = role_external_id if role_external_id is not None else ''
1599        '''
1600         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1601        '''
1602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1603        '''
1604         ID of the secret store containing credentials for this resource, if any.
1605        '''
1606        self.subdomain = subdomain if subdomain is not None else ''
1607        '''
1608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1609        '''
1610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1611        '''
1612         Tags is a map of key, value pairs.
1613        '''
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.

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.

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

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.

def to_dict(self)
1633    def to_dict(self):
1634        return {
1635            'bind_interface': self.bind_interface,
1636            'egress_filter': self.egress_filter,
1637            'enable_env_variables': self.enable_env_variables,
1638            'healthy': self.healthy,
1639            'id': self.id,
1640            'name': self.name,
1641            'port_override': self.port_override,
1642            'proxy_cluster_id': self.proxy_cluster_id,
1643            'region': self.region,
1644            'role_arn': self.role_arn,
1645            'role_external_id': self.role_external_id,
1646            'secret_store_id': self.secret_store_id,
1647            'subdomain': self.subdomain,
1648            'tags': self.tags,
1649        }
@classmethod
def from_dict(cls, d)
1651    @classmethod
1652    def from_dict(cls, d):
1653        return cls(
1654            bind_interface=d.get('bind_interface'),
1655            egress_filter=d.get('egress_filter'),
1656            enable_env_variables=d.get('enable_env_variables'),
1657            healthy=d.get('healthy'),
1658            id=d.get('id'),
1659            name=d.get('name'),
1660            port_override=d.get('port_override'),
1661            proxy_cluster_id=d.get('proxy_cluster_id'),
1662            region=d.get('region'),
1663            role_arn=d.get('role_arn'),
1664            role_external_id=d.get('role_external_id'),
1665            secret_store_id=d.get('secret_store_id'),
1666            subdomain=d.get('subdomain'),
1667            tags=d.get('tags'),
1668        )
class AWSStore:
1671class AWSStore:
1672    __slots__ = [
1673        'id',
1674        'name',
1675        'region',
1676        'tags',
1677    ]
1678
1679    def __init__(
1680        self,
1681        id=None,
1682        name=None,
1683        region=None,
1684        tags=None,
1685    ):
1686        self.id = id if id is not None else ''
1687        '''
1688         Unique identifier of the SecretStore.
1689        '''
1690        self.name = name if name is not None else ''
1691        '''
1692         Unique human-readable name of the SecretStore.
1693        '''
1694        self.region = region if region is not None else ''
1695        '''
1696         The AWS region to target e.g. us-east-1
1697        '''
1698        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1699        '''
1700         Tags is a map of key, value pairs.
1701        '''
1702
1703    def __repr__(self):
1704        return '<sdm.AWSStore ' + \
1705            'id: ' + repr(self.id) + ' ' +\
1706            'name: ' + repr(self.name) + ' ' +\
1707            'region: ' + repr(self.region) + ' ' +\
1708            'tags: ' + repr(self.tags) + ' ' +\
1709            '>'
1710
1711    def to_dict(self):
1712        return {
1713            'id': self.id,
1714            'name': self.name,
1715            'region': self.region,
1716            'tags': self.tags,
1717        }
1718
1719    @classmethod
1720    def from_dict(cls, d):
1721        return cls(
1722            id=d.get('id'),
1723            name=d.get('name'),
1724            region=d.get('region'),
1725            tags=d.get('tags'),
1726        )
AWSStore(id=None, name=None, region=None, tags=None)
1679    def __init__(
1680        self,
1681        id=None,
1682        name=None,
1683        region=None,
1684        tags=None,
1685    ):
1686        self.id = id if id is not None else ''
1687        '''
1688         Unique identifier of the SecretStore.
1689        '''
1690        self.name = name if name is not None else ''
1691        '''
1692         Unique human-readable name of the SecretStore.
1693        '''
1694        self.region = region if region is not None else ''
1695        '''
1696         The AWS region to target e.g. us-east-1
1697        '''
1698        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1699        '''
1700         Tags is a map of key, value pairs.
1701        '''
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

tags

Tags is a map of key, value pairs.

def to_dict(self)
1711    def to_dict(self):
1712        return {
1713            'id': self.id,
1714            'name': self.name,
1715            'region': self.region,
1716            'tags': self.tags,
1717        }
@classmethod
def from_dict(cls, d)
1719    @classmethod
1720    def from_dict(cls, d):
1721        return cls(
1722            id=d.get('id'),
1723            name=d.get('name'),
1724            region=d.get('region'),
1725            tags=d.get('tags'),
1726        )
class AccessRequest:
1729class AccessRequest:
1730    '''
1731         AccessRequests are requests for access to a resource that may match a Workflow.
1732    '''
1733    __slots__ = [
1734        'account_id',
1735        'duration',
1736        'grant_id',
1737        'id',
1738        'reason',
1739        'requestedduration',
1740        'resource_id',
1741        'resultduration',
1742        'start_from',
1743        'status',
1744        'status_at',
1745        'valid_until',
1746        'workflow_id',
1747    ]
1748
1749    def __init__(
1750        self,
1751        account_id=None,
1752        duration=None,
1753        grant_id=None,
1754        id=None,
1755        reason=None,
1756        requestedduration=None,
1757        resource_id=None,
1758        resultduration=None,
1759        start_from=None,
1760        status=None,
1761        status_at=None,
1762        valid_until=None,
1763        workflow_id=None,
1764    ):
1765        self.account_id = account_id if account_id is not None else ''
1766        '''
1767         The account that initiated the request.
1768        '''
1769        self.duration = duration if duration is not None else 0
1770        '''
1771         Duration of the access request.
1772         Deprecated: use requested/result duration instead
1773        '''
1774        self.grant_id = grant_id if grant_id is not None else ''
1775        '''
1776         The account grant created, if it exists.
1777        '''
1778        self.id = id if id is not None else ''
1779        '''
1780         The access request id.
1781        '''
1782        self.reason = reason if reason is not None else ''
1783        '''
1784         The reason the access was requested.
1785        '''
1786        self.requestedduration = requestedduration if requestedduration is not None else None
1787        '''
1788         The duration that access was requested for, if any.
1789        '''
1790        self.resource_id = resource_id if resource_id is not None else ''
1791        '''
1792         The resource id.
1793        '''
1794        self.resultduration = resultduration if resultduration is not None else None
1795        '''
1796         The duration that results from an approved request.
1797        '''
1798        self.start_from = start_from if start_from is not None else None
1799        '''
1800         The timestamp when the requested access will be granted.
1801         If this field is not specified it will default to the current time.
1802        '''
1803        self.status = status if status is not None else ''
1804        '''
1805         The status of the access request.
1806        '''
1807        self.status_at = status_at if status_at is not None else None
1808        '''
1809         The timestamp when the status changed.
1810        '''
1811        self.valid_until = valid_until if valid_until is not None else None
1812        '''
1813         The timestamp when the requested access will expire.
1814        '''
1815        self.workflow_id = workflow_id if workflow_id is not None else ''
1816        '''
1817         The workflow the request bound to.
1818        '''
1819
1820    def __repr__(self):
1821        return '<sdm.AccessRequest ' + \
1822            'account_id: ' + repr(self.account_id) + ' ' +\
1823            'duration: ' + repr(self.duration) + ' ' +\
1824            'grant_id: ' + repr(self.grant_id) + ' ' +\
1825            'id: ' + repr(self.id) + ' ' +\
1826            'reason: ' + repr(self.reason) + ' ' +\
1827            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
1828            'resource_id: ' + repr(self.resource_id) + ' ' +\
1829            'resultduration: ' + repr(self.resultduration) + ' ' +\
1830            'start_from: ' + repr(self.start_from) + ' ' +\
1831            'status: ' + repr(self.status) + ' ' +\
1832            'status_at: ' + repr(self.status_at) + ' ' +\
1833            'valid_until: ' + repr(self.valid_until) + ' ' +\
1834            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
1835            '>'
1836
1837    def to_dict(self):
1838        return {
1839            'account_id': self.account_id,
1840            'duration': self.duration,
1841            'grant_id': self.grant_id,
1842            'id': self.id,
1843            'reason': self.reason,
1844            'requestedduration': self.requestedduration,
1845            'resource_id': self.resource_id,
1846            'resultduration': self.resultduration,
1847            'start_from': self.start_from,
1848            'status': self.status,
1849            'status_at': self.status_at,
1850            'valid_until': self.valid_until,
1851            'workflow_id': self.workflow_id,
1852        }
1853
1854    @classmethod
1855    def from_dict(cls, d):
1856        return cls(
1857            account_id=d.get('account_id'),
1858            duration=d.get('duration'),
1859            grant_id=d.get('grant_id'),
1860            id=d.get('id'),
1861            reason=d.get('reason'),
1862            requestedduration=d.get('requestedduration'),
1863            resource_id=d.get('resource_id'),
1864            resultduration=d.get('resultduration'),
1865            start_from=d.get('start_from'),
1866            status=d.get('status'),
1867            status_at=d.get('status_at'),
1868            valid_until=d.get('valid_until'),
1869            workflow_id=d.get('workflow_id'),
1870        )

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)
1749    def __init__(
1750        self,
1751        account_id=None,
1752        duration=None,
1753        grant_id=None,
1754        id=None,
1755        reason=None,
1756        requestedduration=None,
1757        resource_id=None,
1758        resultduration=None,
1759        start_from=None,
1760        status=None,
1761        status_at=None,
1762        valid_until=None,
1763        workflow_id=None,
1764    ):
1765        self.account_id = account_id if account_id is not None else ''
1766        '''
1767         The account that initiated the request.
1768        '''
1769        self.duration = duration if duration is not None else 0
1770        '''
1771         Duration of the access request.
1772         Deprecated: use requested/result duration instead
1773        '''
1774        self.grant_id = grant_id if grant_id is not None else ''
1775        '''
1776         The account grant created, if it exists.
1777        '''
1778        self.id = id if id is not None else ''
1779        '''
1780         The access request id.
1781        '''
1782        self.reason = reason if reason is not None else ''
1783        '''
1784         The reason the access was requested.
1785        '''
1786        self.requestedduration = requestedduration if requestedduration is not None else None
1787        '''
1788         The duration that access was requested for, if any.
1789        '''
1790        self.resource_id = resource_id if resource_id is not None else ''
1791        '''
1792         The resource id.
1793        '''
1794        self.resultduration = resultduration if resultduration is not None else None
1795        '''
1796         The duration that results from an approved request.
1797        '''
1798        self.start_from = start_from if start_from is not None else None
1799        '''
1800         The timestamp when the requested access will be granted.
1801         If this field is not specified it will default to the current time.
1802        '''
1803        self.status = status if status is not None else ''
1804        '''
1805         The status of the access request.
1806        '''
1807        self.status_at = status_at if status_at is not None else None
1808        '''
1809         The timestamp when the status changed.
1810        '''
1811        self.valid_until = valid_until if valid_until is not None else None
1812        '''
1813         The timestamp when the requested access will expire.
1814        '''
1815        self.workflow_id = workflow_id if workflow_id is not None else ''
1816        '''
1817         The workflow the request bound to.
1818        '''
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)
1837    def to_dict(self):
1838        return {
1839            'account_id': self.account_id,
1840            'duration': self.duration,
1841            'grant_id': self.grant_id,
1842            'id': self.id,
1843            'reason': self.reason,
1844            'requestedduration': self.requestedduration,
1845            'resource_id': self.resource_id,
1846            'resultduration': self.resultduration,
1847            'start_from': self.start_from,
1848            'status': self.status,
1849            'status_at': self.status_at,
1850            'valid_until': self.valid_until,
1851            'workflow_id': self.workflow_id,
1852        }
@classmethod
def from_dict(cls, d)
1854    @classmethod
1855    def from_dict(cls, d):
1856        return cls(
1857            account_id=d.get('account_id'),
1858            duration=d.get('duration'),
1859            grant_id=d.get('grant_id'),
1860            id=d.get('id'),
1861            reason=d.get('reason'),
1862            requestedduration=d.get('requestedduration'),
1863            resource_id=d.get('resource_id'),
1864            resultduration=d.get('resultduration'),
1865            start_from=d.get('start_from'),
1866            status=d.get('status'),
1867            status_at=d.get('status_at'),
1868            valid_until=d.get('valid_until'),
1869            workflow_id=d.get('workflow_id'),
1870        )
class AccessRequestConfig:
1873class AccessRequestConfig:
1874    '''
1875         AccessRequestConfig holds the information required to request access to a resource
1876    '''
1877    __slots__ = [
1878        'duration',
1879        'reason',
1880        'resource_id',
1881        'start_from',
1882    ]
1883
1884    def __init__(
1885        self,
1886        duration=None,
1887        reason=None,
1888        resource_id=None,
1889        start_from=None,
1890    ):
1891        self.duration = duration if duration is not None else ''
1892        '''
1893         The time access should end, defaults to the next occurance of 5 pm
1894        '''
1895        self.reason = reason if reason is not None else ''
1896        '''
1897         The reason for access
1898        '''
1899        self.resource_id = resource_id if resource_id is not None else ''
1900        '''
1901         The resource for which access is being requested
1902        '''
1903        self.start_from = start_from if start_from is not None else None
1904        '''
1905         The time access should start, defaults to now
1906        '''
1907
1908    def __repr__(self):
1909        return '<sdm.AccessRequestConfig ' + \
1910            'duration: ' + repr(self.duration) + ' ' +\
1911            'reason: ' + repr(self.reason) + ' ' +\
1912            'resource_id: ' + repr(self.resource_id) + ' ' +\
1913            'start_from: ' + repr(self.start_from) + ' ' +\
1914            '>'
1915
1916    def to_dict(self):
1917        return {
1918            'duration': self.duration,
1919            'reason': self.reason,
1920            'resource_id': self.resource_id,
1921            'start_from': self.start_from,
1922        }
1923
1924    @classmethod
1925    def from_dict(cls, d):
1926        return cls(
1927            duration=d.get('duration'),
1928            reason=d.get('reason'),
1929            resource_id=d.get('resource_id'),
1930            start_from=d.get('start_from'),
1931        )

AccessRequestConfig holds the information required to request access to a resource

AccessRequestConfig(duration=None, reason=None, resource_id=None, start_from=None)
1884    def __init__(
1885        self,
1886        duration=None,
1887        reason=None,
1888        resource_id=None,
1889        start_from=None,
1890    ):
1891        self.duration = duration if duration is not None else ''
1892        '''
1893         The time access should end, defaults to the next occurance of 5 pm
1894        '''
1895        self.reason = reason if reason is not None else ''
1896        '''
1897         The reason for access
1898        '''
1899        self.resource_id = resource_id if resource_id is not None else ''
1900        '''
1901         The resource for which access is being requested
1902        '''
1903        self.start_from = start_from if start_from is not None else None
1904        '''
1905         The time access should start, defaults to now
1906        '''
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)
1916    def to_dict(self):
1917        return {
1918            'duration': self.duration,
1919            'reason': self.reason,
1920            'resource_id': self.resource_id,
1921            'start_from': self.start_from,
1922        }
@classmethod
def from_dict(cls, d)
1924    @classmethod
1925    def from_dict(cls, d):
1926        return cls(
1927            duration=d.get('duration'),
1928            reason=d.get('reason'),
1929            resource_id=d.get('resource_id'),
1930            start_from=d.get('start_from'),
1931        )
class AccessRequestEvent:
1934class AccessRequestEvent:
1935    '''
1936         AccessRequestEvents hold information about events related to an access
1937     request such as creation, approval and denial.
1938    '''
1939    __slots__ = [
1940        'actor_id',
1941        'id',
1942        'metadata',
1943        'request_id',
1944        'type',
1945    ]
1946
1947    def __init__(
1948        self,
1949        actor_id=None,
1950        id=None,
1951        metadata=None,
1952        request_id=None,
1953        type=None,
1954    ):
1955        self.actor_id = actor_id if actor_id is not None else ''
1956        '''
1957         The account responsible for the event.
1958        '''
1959        self.id = id if id is not None else ''
1960        '''
1961         The access request event id.
1962        '''
1963        self.metadata = metadata if metadata is not None else ''
1964        '''
1965         The metadata about the event
1966        '''
1967        self.request_id = request_id if request_id is not None else ''
1968        '''
1969         The request that the event is bound to.
1970        '''
1971        self.type = type if type is not None else ''
1972        '''
1973         The type of event.
1974        '''
1975
1976    def __repr__(self):
1977        return '<sdm.AccessRequestEvent ' + \
1978            'actor_id: ' + repr(self.actor_id) + ' ' +\
1979            'id: ' + repr(self.id) + ' ' +\
1980            'metadata: ' + repr(self.metadata) + ' ' +\
1981            'request_id: ' + repr(self.request_id) + ' ' +\
1982            'type: ' + repr(self.type) + ' ' +\
1983            '>'
1984
1985    def to_dict(self):
1986        return {
1987            'actor_id': self.actor_id,
1988            'id': self.id,
1989            'metadata': self.metadata,
1990            'request_id': self.request_id,
1991            'type': self.type,
1992        }
1993
1994    @classmethod
1995    def from_dict(cls, d):
1996        return cls(
1997            actor_id=d.get('actor_id'),
1998            id=d.get('id'),
1999            metadata=d.get('metadata'),
2000            request_id=d.get('request_id'),
2001            type=d.get('type'),
2002        )

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)
1947    def __init__(
1948        self,
1949        actor_id=None,
1950        id=None,
1951        metadata=None,
1952        request_id=None,
1953        type=None,
1954    ):
1955        self.actor_id = actor_id if actor_id is not None else ''
1956        '''
1957         The account responsible for the event.
1958        '''
1959        self.id = id if id is not None else ''
1960        '''
1961         The access request event id.
1962        '''
1963        self.metadata = metadata if metadata is not None else ''
1964        '''
1965         The metadata about the event
1966        '''
1967        self.request_id = request_id if request_id is not None else ''
1968        '''
1969         The request that the event is bound to.
1970        '''
1971        self.type = type if type is not None else ''
1972        '''
1973         The type of event.
1974        '''
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)
1985    def to_dict(self):
1986        return {
1987            'actor_id': self.actor_id,
1988            'id': self.id,
1989            'metadata': self.metadata,
1990            'request_id': self.request_id,
1991            'type': self.type,
1992        }
@classmethod
def from_dict(cls, d)
1994    @classmethod
1995    def from_dict(cls, d):
1996        return cls(
1997            actor_id=d.get('actor_id'),
1998            id=d.get('id'),
1999            metadata=d.get('metadata'),
2000            request_id=d.get('request_id'),
2001            type=d.get('type'),
2002        )
class AccessRequestEventHistory:
2005class AccessRequestEventHistory:
2006    '''
2007         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
2008     where every change (create, update and delete) to a AccessRequest produces an
2009     AccessRequestEventHistory record.
2010    '''
2011    __slots__ = [
2012        'access_request_event',
2013        'activity_id',
2014        'deleted_at',
2015        'timestamp',
2016    ]
2017
2018    def __init__(
2019        self,
2020        access_request_event=None,
2021        activity_id=None,
2022        deleted_at=None,
2023        timestamp=None,
2024    ):
2025        self.access_request_event = access_request_event if access_request_event is not None else None
2026        '''
2027         The complete AccessRequestEvent state at this time.
2028        '''
2029        self.activity_id = activity_id if activity_id is not None else ''
2030        '''
2031         The unique identifier of the Activity that produced this change to the AccessRequest.
2032         May be empty for some system-initiated updates.
2033        '''
2034        self.deleted_at = deleted_at if deleted_at is not None else None
2035        '''
2036         If this Workflow was deleted, the time it was deleted.
2037        '''
2038        self.timestamp = timestamp if timestamp is not None else None
2039        '''
2040         The time at which the AccessRequest state was recorded.
2041        '''
2042
2043    def __repr__(self):
2044        return '<sdm.AccessRequestEventHistory ' + \
2045            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
2046            'activity_id: ' + repr(self.activity_id) + ' ' +\
2047            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2048            'timestamp: ' + repr(self.timestamp) + ' ' +\
2049            '>'
2050
2051    def to_dict(self):
2052        return {
2053            'access_request_event': self.access_request_event,
2054            'activity_id': self.activity_id,
2055            'deleted_at': self.deleted_at,
2056            'timestamp': self.timestamp,
2057        }
2058
2059    @classmethod
2060    def from_dict(cls, d):
2061        return cls(
2062            access_request_event=d.get('access_request_event'),
2063            activity_id=d.get('activity_id'),
2064            deleted_at=d.get('deleted_at'),
2065            timestamp=d.get('timestamp'),
2066        )

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)
2018    def __init__(
2019        self,
2020        access_request_event=None,
2021        activity_id=None,
2022        deleted_at=None,
2023        timestamp=None,
2024    ):
2025        self.access_request_event = access_request_event if access_request_event is not None else None
2026        '''
2027         The complete AccessRequestEvent state at this time.
2028        '''
2029        self.activity_id = activity_id if activity_id is not None else ''
2030        '''
2031         The unique identifier of the Activity that produced this change to the AccessRequest.
2032         May be empty for some system-initiated updates.
2033        '''
2034        self.deleted_at = deleted_at if deleted_at is not None else None
2035        '''
2036         If this Workflow was deleted, the time it was deleted.
2037        '''
2038        self.timestamp = timestamp if timestamp is not None else None
2039        '''
2040         The time at which the AccessRequest state was recorded.
2041        '''
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)
2051    def to_dict(self):
2052        return {
2053            'access_request_event': self.access_request_event,
2054            'activity_id': self.activity_id,
2055            'deleted_at': self.deleted_at,
2056            'timestamp': self.timestamp,
2057        }
@classmethod
def from_dict(cls, d)
2059    @classmethod
2060    def from_dict(cls, d):
2061        return cls(
2062            access_request_event=d.get('access_request_event'),
2063            activity_id=d.get('activity_id'),
2064            deleted_at=d.get('deleted_at'),
2065            timestamp=d.get('timestamp'),
2066        )
class AccessRequestHistory:
2069class AccessRequestHistory:
2070    '''
2071         AccessRequestHistory records the state of a AccessRequest at a given point in time,
2072     where every change (create, update and delete) to a AccessRequest produces an
2073     AccessRequestHistory record.
2074    '''
2075    __slots__ = [
2076        'access_request',
2077        'activity_id',
2078        'deleted_at',
2079        'timestamp',
2080    ]
2081
2082    def __init__(
2083        self,
2084        access_request=None,
2085        activity_id=None,
2086        deleted_at=None,
2087        timestamp=None,
2088    ):
2089        self.access_request = access_request if access_request is not None else None
2090        '''
2091         The complete AccessRequest state at this time.
2092        '''
2093        self.activity_id = activity_id if activity_id is not None else ''
2094        '''
2095         The unique identifier of the Activity that produced this change to the AccessRequest.
2096         May be empty for some system-initiated updates.
2097        '''
2098        self.deleted_at = deleted_at if deleted_at is not None else None
2099        '''
2100         If this Workflow was deleted, the time it was deleted.
2101        '''
2102        self.timestamp = timestamp if timestamp is not None else None
2103        '''
2104         The time at which the AccessRequest state was recorded.
2105        '''
2106
2107    def __repr__(self):
2108        return '<sdm.AccessRequestHistory ' + \
2109            'access_request: ' + repr(self.access_request) + ' ' +\
2110            'activity_id: ' + repr(self.activity_id) + ' ' +\
2111            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2112            'timestamp: ' + repr(self.timestamp) + ' ' +\
2113            '>'
2114
2115    def to_dict(self):
2116        return {
2117            'access_request': self.access_request,
2118            'activity_id': self.activity_id,
2119            'deleted_at': self.deleted_at,
2120            'timestamp': self.timestamp,
2121        }
2122
2123    @classmethod
2124    def from_dict(cls, d):
2125        return cls(
2126            access_request=d.get('access_request'),
2127            activity_id=d.get('activity_id'),
2128            deleted_at=d.get('deleted_at'),
2129            timestamp=d.get('timestamp'),
2130        )

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)
2082    def __init__(
2083        self,
2084        access_request=None,
2085        activity_id=None,
2086        deleted_at=None,
2087        timestamp=None,
2088    ):
2089        self.access_request = access_request if access_request is not None else None
2090        '''
2091         The complete AccessRequest state at this time.
2092        '''
2093        self.activity_id = activity_id if activity_id is not None else ''
2094        '''
2095         The unique identifier of the Activity that produced this change to the AccessRequest.
2096         May be empty for some system-initiated updates.
2097        '''
2098        self.deleted_at = deleted_at if deleted_at is not None else None
2099        '''
2100         If this Workflow was deleted, the time it was deleted.
2101        '''
2102        self.timestamp = timestamp if timestamp is not None else None
2103        '''
2104         The time at which the AccessRequest state was recorded.
2105        '''
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)
2115    def to_dict(self):
2116        return {
2117            'access_request': self.access_request,
2118            'activity_id': self.activity_id,
2119            'deleted_at': self.deleted_at,
2120            'timestamp': self.timestamp,
2121        }
@classmethod
def from_dict(cls, d)
2123    @classmethod
2124    def from_dict(cls, d):
2125        return cls(
2126            access_request=d.get('access_request'),
2127            activity_id=d.get('activity_id'),
2128            deleted_at=d.get('deleted_at'),
2129            timestamp=d.get('timestamp'),
2130        )
class AccessRequestListRequest:
2133class AccessRequestListRequest:
2134    '''
2135         AccessRequestListRequest specifies criteria for retrieving a list of
2136     AccessRequest records
2137    '''
2138    __slots__ = [
2139        'filter',
2140    ]
2141
2142    def __init__(
2143        self,
2144        filter=None,
2145    ):
2146        self.filter = filter if filter is not None else ''
2147        '''
2148         A human-readable filter query string.
2149        '''
2150
2151    def __repr__(self):
2152        return '<sdm.AccessRequestListRequest ' + \
2153            'filter: ' + repr(self.filter) + ' ' +\
2154            '>'
2155
2156    def to_dict(self):
2157        return {
2158            'filter': self.filter,
2159        }
2160
2161    @classmethod
2162    def from_dict(cls, d):
2163        return cls(filter=d.get('filter'), )

AccessRequestListRequest specifies criteria for retrieving a list of AccessRequest records

AccessRequestListRequest(filter=None)
2142    def __init__(
2143        self,
2144        filter=None,
2145    ):
2146        self.filter = filter if filter is not None else ''
2147        '''
2148         A human-readable filter query string.
2149        '''
filter

A human-readable filter query string.

def to_dict(self)
2156    def to_dict(self):
2157        return {
2158            'filter': self.filter,
2159        }
@classmethod
def from_dict(cls, d)
2161    @classmethod
2162    def from_dict(cls, d):
2163        return cls(filter=d.get('filter'), )
class AccessRequestListResponse:
2166class AccessRequestListResponse:
2167    '''
2168         AccessRequestListResponse returns a list of access requests records that meet
2169     the criteria of a AccessRequestListRequest.
2170    '''
2171    __slots__ = [
2172        'rate_limit',
2173    ]
2174
2175    def __init__(
2176        self,
2177        rate_limit=None,
2178    ):
2179        self.rate_limit = rate_limit if rate_limit is not None else None
2180        '''
2181         Rate limit information.
2182        '''
2183
2184    def __repr__(self):
2185        return '<sdm.AccessRequestListResponse ' + \
2186            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2187            '>'
2188
2189    def to_dict(self):
2190        return {
2191            'rate_limit': self.rate_limit,
2192        }
2193
2194    @classmethod
2195    def from_dict(cls, d):
2196        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)
2175    def __init__(
2176        self,
2177        rate_limit=None,
2178    ):
2179        self.rate_limit = rate_limit if rate_limit is not None else None
2180        '''
2181         Rate limit information.
2182        '''
rate_limit

Rate limit information.

def to_dict(self)
2189    def to_dict(self):
2190        return {
2191            'rate_limit': self.rate_limit,
2192        }
@classmethod
def from_dict(cls, d)
2194    @classmethod
2195    def from_dict(cls, d):
2196        return cls(rate_limit=d.get('rate_limit'), )
class AccountAttachment:
2199class AccountAttachment:
2200    '''
2201         AccountAttachments assign an account to a role.
2202    '''
2203    __slots__ = [
2204        'account_id',
2205        'id',
2206        'role_id',
2207    ]
2208
2209    def __init__(
2210        self,
2211        account_id=None,
2212        id=None,
2213        role_id=None,
2214    ):
2215        self.account_id = account_id if account_id is not None else ''
2216        '''
2217         The id of the account of this AccountAttachment.
2218        '''
2219        self.id = id if id is not None else ''
2220        '''
2221         Unique identifier of the AccountAttachment.
2222        '''
2223        self.role_id = role_id if role_id is not None else ''
2224        '''
2225         The id of the attached role of this AccountAttachment.
2226        '''
2227
2228    def __repr__(self):
2229        return '<sdm.AccountAttachment ' + \
2230            'account_id: ' + repr(self.account_id) + ' ' +\
2231            'id: ' + repr(self.id) + ' ' +\
2232            'role_id: ' + repr(self.role_id) + ' ' +\
2233            '>'
2234
2235    def to_dict(self):
2236        return {
2237            'account_id': self.account_id,
2238            'id': self.id,
2239            'role_id': self.role_id,
2240        }
2241
2242    @classmethod
2243    def from_dict(cls, d):
2244        return cls(
2245            account_id=d.get('account_id'),
2246            id=d.get('id'),
2247            role_id=d.get('role_id'),
2248        )

AccountAttachments assign an account to a role.

AccountAttachment(account_id=None, id=None, role_id=None)
2209    def __init__(
2210        self,
2211        account_id=None,
2212        id=None,
2213        role_id=None,
2214    ):
2215        self.account_id = account_id if account_id is not None else ''
2216        '''
2217         The id of the account of this AccountAttachment.
2218        '''
2219        self.id = id if id is not None else ''
2220        '''
2221         Unique identifier of the AccountAttachment.
2222        '''
2223        self.role_id = role_id if role_id is not None else ''
2224        '''
2225         The id of the attached role of this AccountAttachment.
2226        '''
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)
2235    def to_dict(self):
2236        return {
2237            'account_id': self.account_id,
2238            'id': self.id,
2239            'role_id': self.role_id,
2240        }
@classmethod
def from_dict(cls, d)
2242    @classmethod
2243    def from_dict(cls, d):
2244        return cls(
2245            account_id=d.get('account_id'),
2246            id=d.get('id'),
2247            role_id=d.get('role_id'),
2248        )
class AccountAttachmentCreateResponse:
2251class AccountAttachmentCreateResponse:
2252    '''
2253         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
2254    '''
2255    __slots__ = [
2256        'account_attachment',
2257        'meta',
2258        'rate_limit',
2259    ]
2260
2261    def __init__(
2262        self,
2263        account_attachment=None,
2264        meta=None,
2265        rate_limit=None,
2266    ):
2267        self.account_attachment = account_attachment if account_attachment is not None else None
2268        '''
2269         The created AccountAttachment.
2270        '''
2271        self.meta = meta if meta is not None else None
2272        '''
2273         Reserved for future use.
2274        '''
2275        self.rate_limit = rate_limit if rate_limit is not None else None
2276        '''
2277         Rate limit information.
2278        '''
2279
2280    def __repr__(self):
2281        return '<sdm.AccountAttachmentCreateResponse ' + \
2282            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2283            'meta: ' + repr(self.meta) + ' ' +\
2284            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2285            '>'
2286
2287    def to_dict(self):
2288        return {
2289            'account_attachment': self.account_attachment,
2290            'meta': self.meta,
2291            'rate_limit': self.rate_limit,
2292        }
2293
2294    @classmethod
2295    def from_dict(cls, d):
2296        return cls(
2297            account_attachment=d.get('account_attachment'),
2298            meta=d.get('meta'),
2299            rate_limit=d.get('rate_limit'),
2300        )

AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.

AccountAttachmentCreateResponse(account_attachment=None, meta=None, rate_limit=None)
2261    def __init__(
2262        self,
2263        account_attachment=None,
2264        meta=None,
2265        rate_limit=None,
2266    ):
2267        self.account_attachment = account_attachment if account_attachment is not None else None
2268        '''
2269         The created AccountAttachment.
2270        '''
2271        self.meta = meta if meta is not None else None
2272        '''
2273         Reserved for future use.
2274        '''
2275        self.rate_limit = rate_limit if rate_limit is not None else None
2276        '''
2277         Rate limit information.
2278        '''
account_attachment

The created AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2287    def to_dict(self):
2288        return {
2289            'account_attachment': self.account_attachment,
2290            'meta': self.meta,
2291            'rate_limit': self.rate_limit,
2292        }
@classmethod
def from_dict(cls, d)
2294    @classmethod
2295    def from_dict(cls, d):
2296        return cls(
2297            account_attachment=d.get('account_attachment'),
2298            meta=d.get('meta'),
2299            rate_limit=d.get('rate_limit'),
2300        )
class AccountAttachmentDeleteResponse:
2303class AccountAttachmentDeleteResponse:
2304    '''
2305         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
2306    '''
2307    __slots__ = [
2308        'meta',
2309        'rate_limit',
2310    ]
2311
2312    def __init__(
2313        self,
2314        meta=None,
2315        rate_limit=None,
2316    ):
2317        self.meta = meta if meta is not None else None
2318        '''
2319         Reserved for future use.
2320        '''
2321        self.rate_limit = rate_limit if rate_limit is not None else None
2322        '''
2323         Rate limit information.
2324        '''
2325
2326    def __repr__(self):
2327        return '<sdm.AccountAttachmentDeleteResponse ' + \
2328            'meta: ' + repr(self.meta) + ' ' +\
2329            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2330            '>'
2331
2332    def to_dict(self):
2333        return {
2334            'meta': self.meta,
2335            'rate_limit': self.rate_limit,
2336        }
2337
2338    @classmethod
2339    def from_dict(cls, d):
2340        return cls(
2341            meta=d.get('meta'),
2342            rate_limit=d.get('rate_limit'),
2343        )

AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.

AccountAttachmentDeleteResponse(meta=None, rate_limit=None)
2312    def __init__(
2313        self,
2314        meta=None,
2315        rate_limit=None,
2316    ):
2317        self.meta = meta if meta is not None else None
2318        '''
2319         Reserved for future use.
2320        '''
2321        self.rate_limit = rate_limit if rate_limit is not None else None
2322        '''
2323         Rate limit information.
2324        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2332    def to_dict(self):
2333        return {
2334            'meta': self.meta,
2335            'rate_limit': self.rate_limit,
2336        }
@classmethod
def from_dict(cls, d)
2338    @classmethod
2339    def from_dict(cls, d):
2340        return cls(
2341            meta=d.get('meta'),
2342            rate_limit=d.get('rate_limit'),
2343        )
class AccountAttachmentGetResponse:
2346class AccountAttachmentGetResponse:
2347    '''
2348         AccountAttachmentGetResponse returns a requested AccountAttachment.
2349    '''
2350    __slots__ = [
2351        'account_attachment',
2352        'meta',
2353        'rate_limit',
2354    ]
2355
2356    def __init__(
2357        self,
2358        account_attachment=None,
2359        meta=None,
2360        rate_limit=None,
2361    ):
2362        self.account_attachment = account_attachment if account_attachment is not None else None
2363        '''
2364         The requested AccountAttachment.
2365        '''
2366        self.meta = meta if meta is not None else None
2367        '''
2368         Reserved for future use.
2369        '''
2370        self.rate_limit = rate_limit if rate_limit is not None else None
2371        '''
2372         Rate limit information.
2373        '''
2374
2375    def __repr__(self):
2376        return '<sdm.AccountAttachmentGetResponse ' + \
2377            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2378            'meta: ' + repr(self.meta) + ' ' +\
2379            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2380            '>'
2381
2382    def to_dict(self):
2383        return {
2384            'account_attachment': self.account_attachment,
2385            'meta': self.meta,
2386            'rate_limit': self.rate_limit,
2387        }
2388
2389    @classmethod
2390    def from_dict(cls, d):
2391        return cls(
2392            account_attachment=d.get('account_attachment'),
2393            meta=d.get('meta'),
2394            rate_limit=d.get('rate_limit'),
2395        )

AccountAttachmentGetResponse returns a requested AccountAttachment.

AccountAttachmentGetResponse(account_attachment=None, meta=None, rate_limit=None)
2356    def __init__(
2357        self,
2358        account_attachment=None,
2359        meta=None,
2360        rate_limit=None,
2361    ):
2362        self.account_attachment = account_attachment if account_attachment is not None else None
2363        '''
2364         The requested AccountAttachment.
2365        '''
2366        self.meta = meta if meta is not None else None
2367        '''
2368         Reserved for future use.
2369        '''
2370        self.rate_limit = rate_limit if rate_limit is not None else None
2371        '''
2372         Rate limit information.
2373        '''
account_attachment

The requested AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2382    def to_dict(self):
2383        return {
2384            'account_attachment': self.account_attachment,
2385            'meta': self.meta,
2386            'rate_limit': self.rate_limit,
2387        }
@classmethod
def from_dict(cls, d)
2389    @classmethod
2390    def from_dict(cls, d):
2391        return cls(
2392            account_attachment=d.get('account_attachment'),
2393            meta=d.get('meta'),
2394            rate_limit=d.get('rate_limit'),
2395        )
class AccountAttachmentHistory:
2398class AccountAttachmentHistory:
2399    '''
2400         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
2401     where every change (create or delete) to an AccountAttachment produces an
2402     AccountAttachmentHistory record.
2403    '''
2404    __slots__ = [
2405        'account_attachment',
2406        'activity_id',
2407        'deleted_at',
2408        'timestamp',
2409    ]
2410
2411    def __init__(
2412        self,
2413        account_attachment=None,
2414        activity_id=None,
2415        deleted_at=None,
2416        timestamp=None,
2417    ):
2418        self.account_attachment = account_attachment if account_attachment is not None else None
2419        '''
2420         The complete AccountAttachment state at this time.
2421        '''
2422        self.activity_id = activity_id if activity_id is not None else ''
2423        '''
2424         The unique identifier of the Activity that produced this change to the AccountAttachment.
2425         May be empty for some system-initiated updates.
2426        '''
2427        self.deleted_at = deleted_at if deleted_at is not None else None
2428        '''
2429         If this AccountAttachment was deleted, the time it was deleted.
2430        '''
2431        self.timestamp = timestamp if timestamp is not None else None
2432        '''
2433         The time at which the AccountAttachment state was recorded.
2434        '''
2435
2436    def __repr__(self):
2437        return '<sdm.AccountAttachmentHistory ' + \
2438            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2439            'activity_id: ' + repr(self.activity_id) + ' ' +\
2440            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2441            'timestamp: ' + repr(self.timestamp) + ' ' +\
2442            '>'
2443
2444    def to_dict(self):
2445        return {
2446            'account_attachment': self.account_attachment,
2447            'activity_id': self.activity_id,
2448            'deleted_at': self.deleted_at,
2449            'timestamp': self.timestamp,
2450        }
2451
2452    @classmethod
2453    def from_dict(cls, d):
2454        return cls(
2455            account_attachment=d.get('account_attachment'),
2456            activity_id=d.get('activity_id'),
2457            deleted_at=d.get('deleted_at'),
2458            timestamp=d.get('timestamp'),
2459        )

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)
2411    def __init__(
2412        self,
2413        account_attachment=None,
2414        activity_id=None,
2415        deleted_at=None,
2416        timestamp=None,
2417    ):
2418        self.account_attachment = account_attachment if account_attachment is not None else None
2419        '''
2420         The complete AccountAttachment state at this time.
2421        '''
2422        self.activity_id = activity_id if activity_id is not None else ''
2423        '''
2424         The unique identifier of the Activity that produced this change to the AccountAttachment.
2425         May be empty for some system-initiated updates.
2426        '''
2427        self.deleted_at = deleted_at if deleted_at is not None else None
2428        '''
2429         If this AccountAttachment was deleted, the time it was deleted.
2430        '''
2431        self.timestamp = timestamp if timestamp is not None else None
2432        '''
2433         The time at which the AccountAttachment state was recorded.
2434        '''
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)
2444    def to_dict(self):
2445        return {
2446            'account_attachment': self.account_attachment,
2447            'activity_id': self.activity_id,
2448            'deleted_at': self.deleted_at,
2449            'timestamp': self.timestamp,
2450        }
@classmethod
def from_dict(cls, d)
2452    @classmethod
2453    def from_dict(cls, d):
2454        return cls(
2455            account_attachment=d.get('account_attachment'),
2456            activity_id=d.get('activity_id'),
2457            deleted_at=d.get('deleted_at'),
2458            timestamp=d.get('timestamp'),
2459        )
class AccountCreateResponse:
2462class AccountCreateResponse:
2463    '''
2464         AccountCreateResponse reports how the Accounts were created in the system.
2465    '''
2466    __slots__ = [
2467        'access_key',
2468        'account',
2469        'meta',
2470        'rate_limit',
2471        'secret_key',
2472        'token',
2473    ]
2474
2475    def __init__(
2476        self,
2477        access_key=None,
2478        account=None,
2479        meta=None,
2480        rate_limit=None,
2481        secret_key=None,
2482        token=None,
2483    ):
2484        self.access_key = access_key if access_key is not None else ''
2485        '''
2486         ID part of the API key.
2487        '''
2488        self.account = account if account is not None else None
2489        '''
2490         The created Account.
2491        '''
2492        self.meta = meta if meta is not None else None
2493        '''
2494         Reserved for future use.
2495        '''
2496        self.rate_limit = rate_limit if rate_limit is not None else None
2497        '''
2498         Rate limit information.
2499        '''
2500        self.secret_key = secret_key if secret_key is not None else ''
2501        '''
2502         Secret part of the API key.
2503        '''
2504        self.token = token if token is not None else ''
2505        '''
2506         The auth token generated for the Account. The Account will use this token to
2507         authenticate with the strongDM API.
2508        '''
2509
2510    def __repr__(self):
2511        return '<sdm.AccountCreateResponse ' + \
2512            'access_key: ' + repr(self.access_key) + ' ' +\
2513            'account: ' + repr(self.account) + ' ' +\
2514            'meta: ' + repr(self.meta) + ' ' +\
2515            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2516            'secret_key: ' + repr(self.secret_key) + ' ' +\
2517            'token: ' + repr(self.token) + ' ' +\
2518            '>'
2519
2520    def to_dict(self):
2521        return {
2522            'access_key': self.access_key,
2523            'account': self.account,
2524            'meta': self.meta,
2525            'rate_limit': self.rate_limit,
2526            'secret_key': self.secret_key,
2527            'token': self.token,
2528        }
2529
2530    @classmethod
2531    def from_dict(cls, d):
2532        return cls(
2533            access_key=d.get('access_key'),
2534            account=d.get('account'),
2535            meta=d.get('meta'),
2536            rate_limit=d.get('rate_limit'),
2537            secret_key=d.get('secret_key'),
2538            token=d.get('token'),
2539        )

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)
2475    def __init__(
2476        self,
2477        access_key=None,
2478        account=None,
2479        meta=None,
2480        rate_limit=None,
2481        secret_key=None,
2482        token=None,
2483    ):
2484        self.access_key = access_key if access_key is not None else ''
2485        '''
2486         ID part of the API key.
2487        '''
2488        self.account = account if account is not None else None
2489        '''
2490         The created Account.
2491        '''
2492        self.meta = meta if meta is not None else None
2493        '''
2494         Reserved for future use.
2495        '''
2496        self.rate_limit = rate_limit if rate_limit is not None else None
2497        '''
2498         Rate limit information.
2499        '''
2500        self.secret_key = secret_key if secret_key is not None else ''
2501        '''
2502         Secret part of the API key.
2503        '''
2504        self.token = token if token is not None else ''
2505        '''
2506         The auth token generated for the Account. The Account will use this token to
2507         authenticate with the strongDM API.
2508        '''
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)
2520    def to_dict(self):
2521        return {
2522            'access_key': self.access_key,
2523            'account': self.account,
2524            'meta': self.meta,
2525            'rate_limit': self.rate_limit,
2526            'secret_key': self.secret_key,
2527            'token': self.token,
2528        }
@classmethod
def from_dict(cls, d)
2530    @classmethod
2531    def from_dict(cls, d):
2532        return cls(
2533            access_key=d.get('access_key'),
2534            account=d.get('account'),
2535            meta=d.get('meta'),
2536            rate_limit=d.get('rate_limit'),
2537            secret_key=d.get('secret_key'),
2538            token=d.get('token'),
2539        )
class AccountDeleteResponse:
2542class AccountDeleteResponse:
2543    '''
2544         AccountDeleteResponse returns information about a Account that was deleted.
2545    '''
2546    __slots__ = [
2547        'meta',
2548        'rate_limit',
2549    ]
2550
2551    def __init__(
2552        self,
2553        meta=None,
2554        rate_limit=None,
2555    ):
2556        self.meta = meta if meta is not None else None
2557        '''
2558         Reserved for future use.
2559        '''
2560        self.rate_limit = rate_limit if rate_limit is not None else None
2561        '''
2562         Rate limit information.
2563        '''
2564
2565    def __repr__(self):
2566        return '<sdm.AccountDeleteResponse ' + \
2567            'meta: ' + repr(self.meta) + ' ' +\
2568            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2569            '>'
2570
2571    def to_dict(self):
2572        return {
2573            'meta': self.meta,
2574            'rate_limit': self.rate_limit,
2575        }
2576
2577    @classmethod
2578    def from_dict(cls, d):
2579        return cls(
2580            meta=d.get('meta'),
2581            rate_limit=d.get('rate_limit'),
2582        )

AccountDeleteResponse returns information about a Account that was deleted.

AccountDeleteResponse(meta=None, rate_limit=None)
2551    def __init__(
2552        self,
2553        meta=None,
2554        rate_limit=None,
2555    ):
2556        self.meta = meta if meta is not None else None
2557        '''
2558         Reserved for future use.
2559        '''
2560        self.rate_limit = rate_limit if rate_limit is not None else None
2561        '''
2562         Rate limit information.
2563        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2571    def to_dict(self):
2572        return {
2573            'meta': self.meta,
2574            'rate_limit': self.rate_limit,
2575        }
@classmethod
def from_dict(cls, d)
2577    @classmethod
2578    def from_dict(cls, d):
2579        return cls(
2580            meta=d.get('meta'),
2581            rate_limit=d.get('rate_limit'),
2582        )
class AccountGetResponse:
2585class AccountGetResponse:
2586    '''
2587         AccountGetResponse returns a requested Account.
2588    '''
2589    __slots__ = [
2590        'account',
2591        'meta',
2592        'rate_limit',
2593    ]
2594
2595    def __init__(
2596        self,
2597        account=None,
2598        meta=None,
2599        rate_limit=None,
2600    ):
2601        self.account = account if account is not None else None
2602        '''
2603         The requested Account.
2604        '''
2605        self.meta = meta if meta is not None else None
2606        '''
2607         Reserved for future use.
2608        '''
2609        self.rate_limit = rate_limit if rate_limit is not None else None
2610        '''
2611         Rate limit information.
2612        '''
2613
2614    def __repr__(self):
2615        return '<sdm.AccountGetResponse ' + \
2616            'account: ' + repr(self.account) + ' ' +\
2617            'meta: ' + repr(self.meta) + ' ' +\
2618            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2619            '>'
2620
2621    def to_dict(self):
2622        return {
2623            'account': self.account,
2624            'meta': self.meta,
2625            'rate_limit': self.rate_limit,
2626        }
2627
2628    @classmethod
2629    def from_dict(cls, d):
2630        return cls(
2631            account=d.get('account'),
2632            meta=d.get('meta'),
2633            rate_limit=d.get('rate_limit'),
2634        )

AccountGetResponse returns a requested Account.

AccountGetResponse(account=None, meta=None, rate_limit=None)
2595    def __init__(
2596        self,
2597        account=None,
2598        meta=None,
2599        rate_limit=None,
2600    ):
2601        self.account = account if account is not None else None
2602        '''
2603         The requested Account.
2604        '''
2605        self.meta = meta if meta is not None else None
2606        '''
2607         Reserved for future use.
2608        '''
2609        self.rate_limit = rate_limit if rate_limit is not None else None
2610        '''
2611         Rate limit information.
2612        '''
account

The requested Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2621    def to_dict(self):
2622        return {
2623            'account': self.account,
2624            'meta': self.meta,
2625            'rate_limit': self.rate_limit,
2626        }
@classmethod
def from_dict(cls, d)
2628    @classmethod
2629    def from_dict(cls, d):
2630        return cls(
2631            account=d.get('account'),
2632            meta=d.get('meta'),
2633            rate_limit=d.get('rate_limit'),
2634        )
class AccountGrant:
2637class AccountGrant:
2638    '''
2639         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
2640    '''
2641    __slots__ = [
2642        'access_rule',
2643        'account_id',
2644        'id',
2645        'resource_id',
2646        'start_from',
2647        'valid_until',
2648    ]
2649
2650    def __init__(
2651        self,
2652        access_rule=None,
2653        account_id=None,
2654        id=None,
2655        resource_id=None,
2656        start_from=None,
2657        valid_until=None,
2658    ):
2659        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
2660        )
2661        '''
2662         The access rule associated with this AccountGrant.
2663        '''
2664        self.account_id = account_id if account_id is not None else ''
2665        '''
2666         The account ID of this AccountGrant.
2667        '''
2668        self.id = id if id is not None else ''
2669        '''
2670         Unique identifier of the AccountGrant.
2671        '''
2672        self.resource_id = resource_id if resource_id is not None else ''
2673        '''
2674         The resource ID of this AccountGrant.
2675        '''
2676        self.start_from = start_from if start_from is not None else None
2677        '''
2678         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.
2679        '''
2680        self.valid_until = valid_until if valid_until is not None else None
2681        '''
2682         The timestamp when the resource grant will expire.
2683        '''
2684
2685    def __repr__(self):
2686        return '<sdm.AccountGrant ' + \
2687            'access_rule: ' + repr(self.access_rule) + ' ' +\
2688            'account_id: ' + repr(self.account_id) + ' ' +\
2689            'id: ' + repr(self.id) + ' ' +\
2690            'resource_id: ' + repr(self.resource_id) + ' ' +\
2691            'start_from: ' + repr(self.start_from) + ' ' +\
2692            'valid_until: ' + repr(self.valid_until) + ' ' +\
2693            '>'
2694
2695    def to_dict(self):
2696        return {
2697            'access_rule': self.access_rule,
2698            'account_id': self.account_id,
2699            'id': self.id,
2700            'resource_id': self.resource_id,
2701            'start_from': self.start_from,
2702            'valid_until': self.valid_until,
2703        }
2704
2705    @classmethod
2706    def from_dict(cls, d):
2707        return cls(
2708            access_rule=d.get('access_rule'),
2709            account_id=d.get('account_id'),
2710            id=d.get('id'),
2711            resource_id=d.get('resource_id'),
2712            start_from=d.get('start_from'),
2713            valid_until=d.get('valid_until'),
2714        )

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

AccountGrant( access_rule=None, account_id=None, id=None, resource_id=None, start_from=None, valid_until=None)
2650    def __init__(
2651        self,
2652        access_rule=None,
2653        account_id=None,
2654        id=None,
2655        resource_id=None,
2656        start_from=None,
2657        valid_until=None,
2658    ):
2659        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
2660        )
2661        '''
2662         The access rule associated with this AccountGrant.
2663        '''
2664        self.account_id = account_id if account_id is not None else ''
2665        '''
2666         The account ID of this AccountGrant.
2667        '''
2668        self.id = id if id is not None else ''
2669        '''
2670         Unique identifier of the AccountGrant.
2671        '''
2672        self.resource_id = resource_id if resource_id is not None else ''
2673        '''
2674         The resource ID of this AccountGrant.
2675        '''
2676        self.start_from = start_from if start_from is not None else None
2677        '''
2678         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.
2679        '''
2680        self.valid_until = valid_until if valid_until is not None else None
2681        '''
2682         The timestamp when the resource grant will expire.
2683        '''
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)
2695    def to_dict(self):
2696        return {
2697            'access_rule': self.access_rule,
2698            'account_id': self.account_id,
2699            'id': self.id,
2700            'resource_id': self.resource_id,
2701            'start_from': self.start_from,
2702            'valid_until': self.valid_until,
2703        }
@classmethod
def from_dict(cls, d)
2705    @classmethod
2706    def from_dict(cls, d):
2707        return cls(
2708            access_rule=d.get('access_rule'),
2709            account_id=d.get('account_id'),
2710            id=d.get('id'),
2711            resource_id=d.get('resource_id'),
2712            start_from=d.get('start_from'),
2713            valid_until=d.get('valid_until'),
2714        )
class AccountGrantCreateResponse:
2717class AccountGrantCreateResponse:
2718    '''
2719         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
2720    '''
2721    __slots__ = [
2722        'account_grant',
2723        'meta',
2724        'rate_limit',
2725    ]
2726
2727    def __init__(
2728        self,
2729        account_grant=None,
2730        meta=None,
2731        rate_limit=None,
2732    ):
2733        self.account_grant = account_grant if account_grant is not None else None
2734        '''
2735         The created AccountGrant.
2736        '''
2737        self.meta = meta if meta is not None else None
2738        '''
2739         Reserved for future use.
2740        '''
2741        self.rate_limit = rate_limit if rate_limit is not None else None
2742        '''
2743         Rate limit information.
2744        '''
2745
2746    def __repr__(self):
2747        return '<sdm.AccountGrantCreateResponse ' + \
2748            'account_grant: ' + repr(self.account_grant) + ' ' +\
2749            'meta: ' + repr(self.meta) + ' ' +\
2750            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2751            '>'
2752
2753    def to_dict(self):
2754        return {
2755            'account_grant': self.account_grant,
2756            'meta': self.meta,
2757            'rate_limit': self.rate_limit,
2758        }
2759
2760    @classmethod
2761    def from_dict(cls, d):
2762        return cls(
2763            account_grant=d.get('account_grant'),
2764            meta=d.get('meta'),
2765            rate_limit=d.get('rate_limit'),
2766        )

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

AccountGrantCreateResponse(account_grant=None, meta=None, rate_limit=None)
2727    def __init__(
2728        self,
2729        account_grant=None,
2730        meta=None,
2731        rate_limit=None,
2732    ):
2733        self.account_grant = account_grant if account_grant is not None else None
2734        '''
2735         The created AccountGrant.
2736        '''
2737        self.meta = meta if meta is not None else None
2738        '''
2739         Reserved for future use.
2740        '''
2741        self.rate_limit = rate_limit if rate_limit is not None else None
2742        '''
2743         Rate limit information.
2744        '''
account_grant

The created AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2753    def to_dict(self):
2754        return {
2755            'account_grant': self.account_grant,
2756            'meta': self.meta,
2757            'rate_limit': self.rate_limit,
2758        }
@classmethod
def from_dict(cls, d)
2760    @classmethod
2761    def from_dict(cls, d):
2762        return cls(
2763            account_grant=d.get('account_grant'),
2764            meta=d.get('meta'),
2765            rate_limit=d.get('rate_limit'),
2766        )
class AccountGrantDeleteResponse:
2769class AccountGrantDeleteResponse:
2770    '''
2771         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
2772    '''
2773    __slots__ = [
2774        'meta',
2775        'rate_limit',
2776    ]
2777
2778    def __init__(
2779        self,
2780        meta=None,
2781        rate_limit=None,
2782    ):
2783        self.meta = meta if meta is not None else None
2784        '''
2785         Reserved for future use.
2786        '''
2787        self.rate_limit = rate_limit if rate_limit is not None else None
2788        '''
2789         Rate limit information.
2790        '''
2791
2792    def __repr__(self):
2793        return '<sdm.AccountGrantDeleteResponse ' + \
2794            'meta: ' + repr(self.meta) + ' ' +\
2795            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2796            '>'
2797
2798    def to_dict(self):
2799        return {
2800            'meta': self.meta,
2801            'rate_limit': self.rate_limit,
2802        }
2803
2804    @classmethod
2805    def from_dict(cls, d):
2806        return cls(
2807            meta=d.get('meta'),
2808            rate_limit=d.get('rate_limit'),
2809        )

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

AccountGrantDeleteResponse(meta=None, rate_limit=None)
2778    def __init__(
2779        self,
2780        meta=None,
2781        rate_limit=None,
2782    ):
2783        self.meta = meta if meta is not None else None
2784        '''
2785         Reserved for future use.
2786        '''
2787        self.rate_limit = rate_limit if rate_limit is not None else None
2788        '''
2789         Rate limit information.
2790        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2798    def to_dict(self):
2799        return {
2800            'meta': self.meta,
2801            'rate_limit': self.rate_limit,
2802        }
@classmethod
def from_dict(cls, d)
2804    @classmethod
2805    def from_dict(cls, d):
2806        return cls(
2807            meta=d.get('meta'),
2808            rate_limit=d.get('rate_limit'),
2809        )
class AccountGrantGetResponse:
2812class AccountGrantGetResponse:
2813    '''
2814         AccountGrantGetResponse returns a requested AccountGrant.
2815    '''
2816    __slots__ = [
2817        'account_grant',
2818        'meta',
2819        'rate_limit',
2820    ]
2821
2822    def __init__(
2823        self,
2824        account_grant=None,
2825        meta=None,
2826        rate_limit=None,
2827    ):
2828        self.account_grant = account_grant if account_grant is not None else None
2829        '''
2830         The requested AccountGrant.
2831        '''
2832        self.meta = meta if meta is not None else None
2833        '''
2834         Reserved for future use.
2835        '''
2836        self.rate_limit = rate_limit if rate_limit is not None else None
2837        '''
2838         Rate limit information.
2839        '''
2840
2841    def __repr__(self):
2842        return '<sdm.AccountGrantGetResponse ' + \
2843            'account_grant: ' + repr(self.account_grant) + ' ' +\
2844            'meta: ' + repr(self.meta) + ' ' +\
2845            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2846            '>'
2847
2848    def to_dict(self):
2849        return {
2850            'account_grant': self.account_grant,
2851            'meta': self.meta,
2852            'rate_limit': self.rate_limit,
2853        }
2854
2855    @classmethod
2856    def from_dict(cls, d):
2857        return cls(
2858            account_grant=d.get('account_grant'),
2859            meta=d.get('meta'),
2860            rate_limit=d.get('rate_limit'),
2861        )

AccountGrantGetResponse returns a requested AccountGrant.

AccountGrantGetResponse(account_grant=None, meta=None, rate_limit=None)
2822    def __init__(
2823        self,
2824        account_grant=None,
2825        meta=None,
2826        rate_limit=None,
2827    ):
2828        self.account_grant = account_grant if account_grant is not None else None
2829        '''
2830         The requested AccountGrant.
2831        '''
2832        self.meta = meta if meta is not None else None
2833        '''
2834         Reserved for future use.
2835        '''
2836        self.rate_limit = rate_limit if rate_limit is not None else None
2837        '''
2838         Rate limit information.
2839        '''
account_grant

The requested AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2848    def to_dict(self):
2849        return {
2850            'account_grant': self.account_grant,
2851            'meta': self.meta,
2852            'rate_limit': self.rate_limit,
2853        }
@classmethod
def from_dict(cls, d)
2855    @classmethod
2856    def from_dict(cls, d):
2857        return cls(
2858            account_grant=d.get('account_grant'),
2859            meta=d.get('meta'),
2860            rate_limit=d.get('rate_limit'),
2861        )
class AccountGrantHistory:
2864class AccountGrantHistory:
2865    '''
2866         AccountGrantHistory records the state of an AccountGrant at a given point in time,
2867     where every change (create or delete) to an AccountGrant produces an
2868     AccountGrantHistory record.
2869    '''
2870    __slots__ = [
2871        'account_grant',
2872        'activity_id',
2873        'deleted_at',
2874        'timestamp',
2875    ]
2876
2877    def __init__(
2878        self,
2879        account_grant=None,
2880        activity_id=None,
2881        deleted_at=None,
2882        timestamp=None,
2883    ):
2884        self.account_grant = account_grant if account_grant is not None else None
2885        '''
2886         The complete AccountGrant state at this time.
2887        '''
2888        self.activity_id = activity_id if activity_id is not None else ''
2889        '''
2890         The unique identifier of the Activity that produced this change to the AccountGrant.
2891         May be empty for some system-initiated updates.
2892        '''
2893        self.deleted_at = deleted_at if deleted_at is not None else None
2894        '''
2895         If this AccountGrant was deleted, the time it was deleted.
2896        '''
2897        self.timestamp = timestamp if timestamp is not None else None
2898        '''
2899         The time at which the AccountGrant state was recorded.
2900        '''
2901
2902    def __repr__(self):
2903        return '<sdm.AccountGrantHistory ' + \
2904            'account_grant: ' + repr(self.account_grant) + ' ' +\
2905            'activity_id: ' + repr(self.activity_id) + ' ' +\
2906            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2907            'timestamp: ' + repr(self.timestamp) + ' ' +\
2908            '>'
2909
2910    def to_dict(self):
2911        return {
2912            'account_grant': self.account_grant,
2913            'activity_id': self.activity_id,
2914            'deleted_at': self.deleted_at,
2915            'timestamp': self.timestamp,
2916        }
2917
2918    @classmethod
2919    def from_dict(cls, d):
2920        return cls(
2921            account_grant=d.get('account_grant'),
2922            activity_id=d.get('activity_id'),
2923            deleted_at=d.get('deleted_at'),
2924            timestamp=d.get('timestamp'),
2925        )

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)
2877    def __init__(
2878        self,
2879        account_grant=None,
2880        activity_id=None,
2881        deleted_at=None,
2882        timestamp=None,
2883    ):
2884        self.account_grant = account_grant if account_grant is not None else None
2885        '''
2886         The complete AccountGrant state at this time.
2887        '''
2888        self.activity_id = activity_id if activity_id is not None else ''
2889        '''
2890         The unique identifier of the Activity that produced this change to the AccountGrant.
2891         May be empty for some system-initiated updates.
2892        '''
2893        self.deleted_at = deleted_at if deleted_at is not None else None
2894        '''
2895         If this AccountGrant was deleted, the time it was deleted.
2896        '''
2897        self.timestamp = timestamp if timestamp is not None else None
2898        '''
2899         The time at which the AccountGrant state was recorded.
2900        '''
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)
2910    def to_dict(self):
2911        return {
2912            'account_grant': self.account_grant,
2913            'activity_id': self.activity_id,
2914            'deleted_at': self.deleted_at,
2915            'timestamp': self.timestamp,
2916        }
@classmethod
def from_dict(cls, d)
2918    @classmethod
2919    def from_dict(cls, d):
2920        return cls(
2921            account_grant=d.get('account_grant'),
2922            activity_id=d.get('activity_id'),
2923            deleted_at=d.get('deleted_at'),
2924            timestamp=d.get('timestamp'),
2925        )
class AccountHistory:
2928class AccountHistory:
2929    '''
2930         AccountHistory records the state of an Account at a given point in time,
2931     where every change (create, update and delete) to an Account produces an
2932     AccountHistory record.
2933    '''
2934    __slots__ = [
2935        'account',
2936        'activity_id',
2937        'deleted_at',
2938        'timestamp',
2939    ]
2940
2941    def __init__(
2942        self,
2943        account=None,
2944        activity_id=None,
2945        deleted_at=None,
2946        timestamp=None,
2947    ):
2948        self.account = account if account is not None else None
2949        '''
2950         The complete Account state at this time.
2951        '''
2952        self.activity_id = activity_id if activity_id is not None else ''
2953        '''
2954         The unique identifier of the Activity that produced this change to the Account.
2955         May be empty for some system-initiated updates.
2956        '''
2957        self.deleted_at = deleted_at if deleted_at is not None else None
2958        '''
2959         If this Account was deleted, the time it was deleted.
2960        '''
2961        self.timestamp = timestamp if timestamp is not None else None
2962        '''
2963         The time at which the Account state was recorded.
2964        '''
2965
2966    def __repr__(self):
2967        return '<sdm.AccountHistory ' + \
2968            'account: ' + repr(self.account) + ' ' +\
2969            'activity_id: ' + repr(self.activity_id) + ' ' +\
2970            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2971            'timestamp: ' + repr(self.timestamp) + ' ' +\
2972            '>'
2973
2974    def to_dict(self):
2975        return {
2976            'account': self.account,
2977            'activity_id': self.activity_id,
2978            'deleted_at': self.deleted_at,
2979            'timestamp': self.timestamp,
2980        }
2981
2982    @classmethod
2983    def from_dict(cls, d):
2984        return cls(
2985            account=d.get('account'),
2986            activity_id=d.get('activity_id'),
2987            deleted_at=d.get('deleted_at'),
2988            timestamp=d.get('timestamp'),
2989        )

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)
2941    def __init__(
2942        self,
2943        account=None,
2944        activity_id=None,
2945        deleted_at=None,
2946        timestamp=None,
2947    ):
2948        self.account = account if account is not None else None
2949        '''
2950         The complete Account state at this time.
2951        '''
2952        self.activity_id = activity_id if activity_id is not None else ''
2953        '''
2954         The unique identifier of the Activity that produced this change to the Account.
2955         May be empty for some system-initiated updates.
2956        '''
2957        self.deleted_at = deleted_at if deleted_at is not None else None
2958        '''
2959         If this Account was deleted, the time it was deleted.
2960        '''
2961        self.timestamp = timestamp if timestamp is not None else None
2962        '''
2963         The time at which the Account state was recorded.
2964        '''
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)
2974    def to_dict(self):
2975        return {
2976            'account': self.account,
2977            'activity_id': self.activity_id,
2978            'deleted_at': self.deleted_at,
2979            'timestamp': self.timestamp,
2980        }
@classmethod
def from_dict(cls, d)
2982    @classmethod
2983    def from_dict(cls, d):
2984        return cls(
2985            account=d.get('account'),
2986            activity_id=d.get('activity_id'),
2987            deleted_at=d.get('deleted_at'),
2988            timestamp=d.get('timestamp'),
2989        )
class AccountPermission:
2992class AccountPermission:
2993    '''
2994         AccountPermission represents an individual API action available to an account.
2995    '''
2996    __slots__ = [
2997        'account_id',
2998        'granted_at',
2999        'permission',
3000        'scope',
3001        'scoped_id',
3002    ]
3003
3004    def __init__(
3005        self,
3006        account_id=None,
3007        granted_at=None,
3008        permission=None,
3009        scope=None,
3010        scoped_id=None,
3011    ):
3012        self.account_id = account_id if account_id is not None else ''
3013        '''
3014         The unique identifier of the Account this permission belongs to.
3015        '''
3016        self.granted_at = granted_at if granted_at is not None else None
3017        '''
3018         The most recent time at which the permission was granted. If a permission was
3019         granted, revoked, and granted again, this will reflect the later time.
3020        '''
3021        self.permission = permission if permission is not None else ''
3022        '''
3023         The value of this permission, split into vertical and action, one of the Permission constants.
3024        '''
3025        self.scope = scope if scope is not None else ''
3026        '''
3027         The scope of this permission. A global scope means this action can be taken
3028         on any entity; otherwise the action can only be taken on or in the scope of
3029         the scoped id.
3030        '''
3031        self.scoped_id = scoped_id if scoped_id is not None else ''
3032        '''
3033         The ID to which or in whose context this operation is permitted. e.g. The ID of a
3034         role that a team leader has the abillity to remove and add accounts to, or the
3035         ID of a resource that a user has the permission to connect to. If Scope is global,
3036         scoped id is not populated.
3037        '''
3038
3039    def __repr__(self):
3040        return '<sdm.AccountPermission ' + \
3041            'account_id: ' + repr(self.account_id) + ' ' +\
3042            'granted_at: ' + repr(self.granted_at) + ' ' +\
3043            'permission: ' + repr(self.permission) + ' ' +\
3044            'scope: ' + repr(self.scope) + ' ' +\
3045            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
3046            '>'
3047
3048    def to_dict(self):
3049        return {
3050            'account_id': self.account_id,
3051            'granted_at': self.granted_at,
3052            'permission': self.permission,
3053            'scope': self.scope,
3054            'scoped_id': self.scoped_id,
3055        }
3056
3057    @classmethod
3058    def from_dict(cls, d):
3059        return cls(
3060            account_id=d.get('account_id'),
3061            granted_at=d.get('granted_at'),
3062            permission=d.get('permission'),
3063            scope=d.get('scope'),
3064            scoped_id=d.get('scoped_id'),
3065        )

AccountPermission represents an individual API action available to an account.

AccountPermission( account_id=None, granted_at=None, permission=None, scope=None, scoped_id=None)
3004    def __init__(
3005        self,
3006        account_id=None,
3007        granted_at=None,
3008        permission=None,
3009        scope=None,
3010        scoped_id=None,
3011    ):
3012        self.account_id = account_id if account_id is not None else ''
3013        '''
3014         The unique identifier of the Account this permission belongs to.
3015        '''
3016        self.granted_at = granted_at if granted_at is not None else None
3017        '''
3018         The most recent time at which the permission was granted. If a permission was
3019         granted, revoked, and granted again, this will reflect the later time.
3020        '''
3021        self.permission = permission if permission is not None else ''
3022        '''
3023         The value of this permission, split into vertical and action, one of the Permission constants.
3024        '''
3025        self.scope = scope if scope is not None else ''
3026        '''
3027         The scope of this permission. A global scope means this action can be taken
3028         on any entity; otherwise the action can only be taken on or in the scope of
3029         the scoped id.
3030        '''
3031        self.scoped_id = scoped_id if scoped_id is not None else ''
3032        '''
3033         The ID to which or in whose context this operation is permitted. e.g. The ID of a
3034         role that a team leader has the abillity to remove and add accounts to, or the
3035         ID of a resource that a user has the permission to connect to. If Scope is global,
3036         scoped id is not populated.
3037        '''
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)
3048    def to_dict(self):
3049        return {
3050            'account_id': self.account_id,
3051            'granted_at': self.granted_at,
3052            'permission': self.permission,
3053            'scope': self.scope,
3054            'scoped_id': self.scoped_id,
3055        }
@classmethod
def from_dict(cls, d)
3057    @classmethod
3058    def from_dict(cls, d):
3059        return cls(
3060            account_id=d.get('account_id'),
3061            granted_at=d.get('granted_at'),
3062            permission=d.get('permission'),
3063            scope=d.get('scope'),
3064            scoped_id=d.get('scoped_id'),
3065        )
class AccountResource:
3068class AccountResource:
3069    '''
3070         AccountResource represents an individual access grant of a Account to a Resource.
3071    '''
3072    __slots__ = [
3073        'account_grant_id',
3074        'account_id',
3075        'created_at',
3076        'expires_at',
3077        'granted_at',
3078        'resource_id',
3079        'role_id',
3080    ]
3081
3082    def __init__(
3083        self,
3084        account_grant_id=None,
3085        account_id=None,
3086        created_at=None,
3087        expires_at=None,
3088        granted_at=None,
3089        resource_id=None,
3090        role_id=None,
3091    ):
3092        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3093        '''
3094         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3095         If empty, access was not granted through an AccountGrant.
3096        '''
3097        self.account_id = account_id if account_id is not None else ''
3098        '''
3099         The unique identifier of the Account to which access is granted.
3100        '''
3101        self.created_at = created_at if created_at is not None else None
3102        '''
3103         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3104         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3105        '''
3106        self.expires_at = expires_at if expires_at is not None else None
3107        '''
3108         The time at which access will expire. If empty, this access has no expiration.
3109        '''
3110        self.granted_at = granted_at if granted_at is not None else None
3111        '''
3112         The most recent time at which access was granted. If access was granted,
3113         revoked, and granted again, this will reflect the later time.
3114        '''
3115        self.resource_id = resource_id if resource_id is not None else ''
3116        '''
3117         The unique identifier of the Resource to which access is granted.
3118        '''
3119        self.role_id = role_id if role_id is not None else ''
3120        '''
3121         The unique identifier of the Role through which the Account was granted access to the Resource.
3122         If empty, access was not granted through an AccountAttachment to a Role.
3123        '''
3124
3125    def __repr__(self):
3126        return '<sdm.AccountResource ' + \
3127            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
3128            'account_id: ' + repr(self.account_id) + ' ' +\
3129            'created_at: ' + repr(self.created_at) + ' ' +\
3130            'expires_at: ' + repr(self.expires_at) + ' ' +\
3131            'granted_at: ' + repr(self.granted_at) + ' ' +\
3132            'resource_id: ' + repr(self.resource_id) + ' ' +\
3133            'role_id: ' + repr(self.role_id) + ' ' +\
3134            '>'
3135
3136    def to_dict(self):
3137        return {
3138            'account_grant_id': self.account_grant_id,
3139            'account_id': self.account_id,
3140            'created_at': self.created_at,
3141            'expires_at': self.expires_at,
3142            'granted_at': self.granted_at,
3143            'resource_id': self.resource_id,
3144            'role_id': self.role_id,
3145        }
3146
3147    @classmethod
3148    def from_dict(cls, d):
3149        return cls(
3150            account_grant_id=d.get('account_grant_id'),
3151            account_id=d.get('account_id'),
3152            created_at=d.get('created_at'),
3153            expires_at=d.get('expires_at'),
3154            granted_at=d.get('granted_at'),
3155            resource_id=d.get('resource_id'),
3156            role_id=d.get('role_id'),
3157        )

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)
3082    def __init__(
3083        self,
3084        account_grant_id=None,
3085        account_id=None,
3086        created_at=None,
3087        expires_at=None,
3088        granted_at=None,
3089        resource_id=None,
3090        role_id=None,
3091    ):
3092        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3093        '''
3094         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3095         If empty, access was not granted through an AccountGrant.
3096        '''
3097        self.account_id = account_id if account_id is not None else ''
3098        '''
3099         The unique identifier of the Account to which access is granted.
3100        '''
3101        self.created_at = created_at if created_at is not None else None
3102        '''
3103         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3104         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3105        '''
3106        self.expires_at = expires_at if expires_at is not None else None
3107        '''
3108         The time at which access will expire. If empty, this access has no expiration.
3109        '''
3110        self.granted_at = granted_at if granted_at is not None else None
3111        '''
3112         The most recent time at which access was granted. If access was granted,
3113         revoked, and granted again, this will reflect the later time.
3114        '''
3115        self.resource_id = resource_id if resource_id is not None else ''
3116        '''
3117         The unique identifier of the Resource to which access is granted.
3118        '''
3119        self.role_id = role_id if role_id is not None else ''
3120        '''
3121         The unique identifier of the Role through which the Account was granted access to the Resource.
3122         If empty, access was not granted through an AccountAttachment to a Role.
3123        '''
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)
3136    def to_dict(self):
3137        return {
3138            'account_grant_id': self.account_grant_id,
3139            'account_id': self.account_id,
3140            'created_at': self.created_at,
3141            'expires_at': self.expires_at,
3142            'granted_at': self.granted_at,
3143            'resource_id': self.resource_id,
3144            'role_id': self.role_id,
3145        }
@classmethod
def from_dict(cls, d)
3147    @classmethod
3148    def from_dict(cls, d):
3149        return cls(
3150            account_grant_id=d.get('account_grant_id'),
3151            account_id=d.get('account_id'),
3152            created_at=d.get('created_at'),
3153            expires_at=d.get('expires_at'),
3154            granted_at=d.get('granted_at'),
3155            resource_id=d.get('resource_id'),
3156            role_id=d.get('role_id'),
3157        )
class AccountResourceHistory:
3160class AccountResourceHistory:
3161    '''
3162         AccountResourceHistory records the state of a AccountResource at a given point in time,
3163     where every change (create or delete) to a AccountResource produces an
3164     AccountResourceHistory record.
3165    '''
3166    __slots__ = [
3167        'account_resource',
3168        'activity_id',
3169        'deleted_at',
3170        'timestamp',
3171    ]
3172
3173    def __init__(
3174        self,
3175        account_resource=None,
3176        activity_id=None,
3177        deleted_at=None,
3178        timestamp=None,
3179    ):
3180        self.account_resource = account_resource if account_resource is not None else None
3181        '''
3182         The complete AccountResource state at this time.
3183        '''
3184        self.activity_id = activity_id if activity_id is not None else ''
3185        '''
3186         The unique identifier of the Activity that produced this change to the AccountResource.
3187         May be empty for some system-initiated updates.
3188        '''
3189        self.deleted_at = deleted_at if deleted_at is not None else None
3190        '''
3191         If this AccountResource was deleted, the time it was deleted.
3192        '''
3193        self.timestamp = timestamp if timestamp is not None else None
3194        '''
3195         The time at which the AccountResource state was recorded.
3196        '''
3197
3198    def __repr__(self):
3199        return '<sdm.AccountResourceHistory ' + \
3200            'account_resource: ' + repr(self.account_resource) + ' ' +\
3201            'activity_id: ' + repr(self.activity_id) + ' ' +\
3202            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3203            'timestamp: ' + repr(self.timestamp) + ' ' +\
3204            '>'
3205
3206    def to_dict(self):
3207        return {
3208            'account_resource': self.account_resource,
3209            'activity_id': self.activity_id,
3210            'deleted_at': self.deleted_at,
3211            'timestamp': self.timestamp,
3212        }
3213
3214    @classmethod
3215    def from_dict(cls, d):
3216        return cls(
3217            account_resource=d.get('account_resource'),
3218            activity_id=d.get('activity_id'),
3219            deleted_at=d.get('deleted_at'),
3220            timestamp=d.get('timestamp'),
3221        )

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)
3173    def __init__(
3174        self,
3175        account_resource=None,
3176        activity_id=None,
3177        deleted_at=None,
3178        timestamp=None,
3179    ):
3180        self.account_resource = account_resource if account_resource is not None else None
3181        '''
3182         The complete AccountResource state at this time.
3183        '''
3184        self.activity_id = activity_id if activity_id is not None else ''
3185        '''
3186         The unique identifier of the Activity that produced this change to the AccountResource.
3187         May be empty for some system-initiated updates.
3188        '''
3189        self.deleted_at = deleted_at if deleted_at is not None else None
3190        '''
3191         If this AccountResource was deleted, the time it was deleted.
3192        '''
3193        self.timestamp = timestamp if timestamp is not None else None
3194        '''
3195         The time at which the AccountResource state was recorded.
3196        '''
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)
3206    def to_dict(self):
3207        return {
3208            'account_resource': self.account_resource,
3209            'activity_id': self.activity_id,
3210            'deleted_at': self.deleted_at,
3211            'timestamp': self.timestamp,
3212        }
@classmethod
def from_dict(cls, d)
3214    @classmethod
3215    def from_dict(cls, d):
3216        return cls(
3217            account_resource=d.get('account_resource'),
3218            activity_id=d.get('activity_id'),
3219            deleted_at=d.get('deleted_at'),
3220            timestamp=d.get('timestamp'),
3221        )
class AccountUpdateResponse:
3224class AccountUpdateResponse:
3225    '''
3226         AccountUpdateResponse returns the fields of a Account after it has been updated by
3227     a AccountUpdateRequest.
3228    '''
3229    __slots__ = [
3230        'account',
3231        'meta',
3232        'rate_limit',
3233    ]
3234
3235    def __init__(
3236        self,
3237        account=None,
3238        meta=None,
3239        rate_limit=None,
3240    ):
3241        self.account = account if account is not None else None
3242        '''
3243         The updated Account.
3244        '''
3245        self.meta = meta if meta is not None else None
3246        '''
3247         Reserved for future use.
3248        '''
3249        self.rate_limit = rate_limit if rate_limit is not None else None
3250        '''
3251         Rate limit information.
3252        '''
3253
3254    def __repr__(self):
3255        return '<sdm.AccountUpdateResponse ' + \
3256            'account: ' + repr(self.account) + ' ' +\
3257            'meta: ' + repr(self.meta) + ' ' +\
3258            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3259            '>'
3260
3261    def to_dict(self):
3262        return {
3263            'account': self.account,
3264            'meta': self.meta,
3265            'rate_limit': self.rate_limit,
3266        }
3267
3268    @classmethod
3269    def from_dict(cls, d):
3270        return cls(
3271            account=d.get('account'),
3272            meta=d.get('meta'),
3273            rate_limit=d.get('rate_limit'),
3274        )

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

AccountUpdateResponse(account=None, meta=None, rate_limit=None)
3235    def __init__(
3236        self,
3237        account=None,
3238        meta=None,
3239        rate_limit=None,
3240    ):
3241        self.account = account if account is not None else None
3242        '''
3243         The updated Account.
3244        '''
3245        self.meta = meta if meta is not None else None
3246        '''
3247         Reserved for future use.
3248        '''
3249        self.rate_limit = rate_limit if rate_limit is not None else None
3250        '''
3251         Rate limit information.
3252        '''
account

The updated Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3261    def to_dict(self):
3262        return {
3263            'account': self.account,
3264            'meta': self.meta,
3265            'rate_limit': self.rate_limit,
3266        }
@classmethod
def from_dict(cls, d)
3268    @classmethod
3269    def from_dict(cls, d):
3270        return cls(
3271            account=d.get('account'),
3272            meta=d.get('meta'),
3273            rate_limit=d.get('rate_limit'),
3274        )
class ActiveDirectoryEngine:
3277class ActiveDirectoryEngine:
3278    '''
3279    ActiveDirectoryEngine is currently unstable, and its API may change, or it may be removed,
3280    without a major version bump.
3281    '''
3282    __slots__ = [
3283        'after_read_ttl',
3284        'binddn',
3285        'bindpass',
3286        'certificate',
3287        'connection_timeout',
3288        'do_not_validate_timestamps',
3289        'id',
3290        'insecure_tls',
3291        'key_rotation_interval_days',
3292        'max_backoff_duration',
3293        'name',
3294        'policy',
3295        'public_key',
3296        'request_timeout',
3297        'secret_store_id',
3298        'secret_store_root_path',
3299        'start_tls',
3300        'tags',
3301        'ttl',
3302        'upndomain',
3303        'url',
3304        'userdn',
3305    ]
3306
3307    def __init__(
3308        self,
3309        after_read_ttl=None,
3310        binddn=None,
3311        bindpass=None,
3312        certificate=None,
3313        connection_timeout=None,
3314        do_not_validate_timestamps=None,
3315        id=None,
3316        insecure_tls=None,
3317        key_rotation_interval_days=None,
3318        max_backoff_duration=None,
3319        name=None,
3320        policy=None,
3321        public_key=None,
3322        request_timeout=None,
3323        secret_store_id=None,
3324        secret_store_root_path=None,
3325        start_tls=None,
3326        tags=None,
3327        ttl=None,
3328        upndomain=None,
3329        url=None,
3330        userdn=None,
3331    ):
3332        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
3333        '''
3334         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
3335        '''
3336        self.binddn = binddn if binddn is not None else ''
3337        '''
3338         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
3339        '''
3340        self.bindpass = bindpass if bindpass is not None else ''
3341        '''
3342         Password to use along with binddn when performing user search.
3343        '''
3344        self.certificate = certificate if certificate is not None else ''
3345        '''
3346         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
3347        '''
3348        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
3349        '''
3350         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
3351        '''
3352        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
3353        '''
3354         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
3355        '''
3356        self.id = id if id is not None else ''
3357        '''
3358         Unique identifier of the Secret Engine.
3359        '''
3360        self.insecure_tls = insecure_tls if insecure_tls is not None else False
3361        '''
3362         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
3363        '''
3364        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
3365        '''
3366         An interval of public/private key rotation for secret engine in days
3367        '''
3368        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
3369        '''
3370         The maximum retry duration in case of automatic failure.
3371         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
3372        '''
3373        self.name = name if name is not None else ''
3374        '''
3375         Unique human-readable name of the Secret Engine.
3376        '''
3377        self.policy = policy if policy is not None else None
3378        '''
3379         Policy for password creation
3380        '''
3381        self.public_key = public_key if public_key is not None else b''
3382        '''
3383         Public key linked with a secret engine
3384        '''
3385        self.request_timeout = request_timeout if request_timeout is not None else 0
3386        '''
3387         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
3388        '''
3389        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3390        '''
3391         Backing secret store identifier
3392        '''
3393        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
3394        '''
3395         Backing Secret Store root path where managed secrets are going to be stored
3396        '''
3397        self.start_tls = start_tls if start_tls is not None else False
3398        '''
3399         If true, issues a StartTLS command after establishing an unencrypted connection.
3400        '''
3401        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3402        '''
3403         Tags is a map of key, value pairs.
3404        '''
3405        self.ttl = ttl if ttl is not None else None
3406        '''
3407         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
3408        '''
3409        self.upndomain = upndomain if upndomain is not None else ''
3410        '''
3411         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
3412        '''
3413        self.url = url if url is not None else ''
3414        '''
3415         The LDAP server to connect to.
3416        '''
3417        self.userdn = userdn if userdn is not None else ''
3418        '''
3419         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
3420        '''
3421
3422    def __repr__(self):
3423        return '<sdm.ActiveDirectoryEngine ' + \
3424            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
3425            'binddn: ' + repr(self.binddn) + ' ' +\
3426            'bindpass: ' + repr(self.bindpass) + ' ' +\
3427            'certificate: ' + repr(self.certificate) + ' ' +\
3428            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
3429            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
3430            'id: ' + repr(self.id) + ' ' +\
3431            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
3432            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
3433            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
3434            'name: ' + repr(self.name) + ' ' +\
3435            'policy: ' + repr(self.policy) + ' ' +\
3436            'public_key: ' + repr(self.public_key) + ' ' +\
3437            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
3438            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
3439            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
3440            'start_tls: ' + repr(self.start_tls) + ' ' +\
3441            'tags: ' + repr(self.tags) + ' ' +\
3442            'ttl: ' + repr(self.ttl) + ' ' +\
3443            'upndomain: ' + repr(self.upndomain) + ' ' +\
3444            'url: ' + repr(self.url) + ' ' +\
3445            'userdn: ' + repr(self.userdn) + ' ' +\
3446            '>'
3447
3448    def to_dict(self):
3449        return {
3450            'after_read_ttl': self.after_read_ttl,
3451            'binddn': self.binddn,
3452            'bindpass': self.bindpass,
3453            'certificate': self.certificate,
3454            'connection_timeout': self.connection_timeout,
3455            'do_not_validate_timestamps': self.do_not_validate_timestamps,
3456            'id': self.id,
3457            'insecure_tls': self.insecure_tls,
3458            'key_rotation_interval_days': self.key_rotation_interval_days,
3459            'max_backoff_duration': self.max_backoff_duration,
3460            'name': self.name,
3461            'policy': self.policy,
3462            'public_key': self.public_key,
3463            'request_timeout': self.request_timeout,
3464            'secret_store_id': self.secret_store_id,
3465            'secret_store_root_path': self.secret_store_root_path,
3466            'start_tls': self.start_tls,
3467            'tags': self.tags,
3468            'ttl': self.ttl,
3469            'upndomain': self.upndomain,
3470            'url': self.url,
3471            'userdn': self.userdn,
3472        }
3473
3474    @classmethod
3475    def from_dict(cls, d):
3476        return cls(
3477            after_read_ttl=d.get('after_read_ttl'),
3478            binddn=d.get('binddn'),
3479            bindpass=d.get('bindpass'),
3480            certificate=d.get('certificate'),
3481            connection_timeout=d.get('connection_timeout'),
3482            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
3483            id=d.get('id'),
3484            insecure_tls=d.get('insecure_tls'),
3485            key_rotation_interval_days=d.get('key_rotation_interval_days'),
3486            max_backoff_duration=d.get('max_backoff_duration'),
3487            name=d.get('name'),
3488            policy=d.get('policy'),
3489            public_key=d.get('public_key'),
3490            request_timeout=d.get('request_timeout'),
3491            secret_store_id=d.get('secret_store_id'),
3492            secret_store_root_path=d.get('secret_store_root_path'),
3493            start_tls=d.get('start_tls'),
3494            tags=d.get('tags'),
3495            ttl=d.get('ttl'),
3496            upndomain=d.get('upndomain'),
3497            url=d.get('url'),
3498            userdn=d.get('userdn'),
3499        )

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

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, 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)
3307    def __init__(
3308        self,
3309        after_read_ttl=None,
3310        binddn=None,
3311        bindpass=None,
3312        certificate=None,
3313        connection_timeout=None,
3314        do_not_validate_timestamps=None,
3315        id=None,
3316        insecure_tls=None,
3317        key_rotation_interval_days=None,
3318        max_backoff_duration=None,
3319        name=None,
3320        policy=None,
3321        public_key=None,
3322        request_timeout=None,
3323        secret_store_id=None,
3324        secret_store_root_path=None,
3325        start_tls=None,
3326        tags=None,
3327        ttl=None,
3328        upndomain=None,
3329        url=None,
3330        userdn=None,
3331    ):
3332        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
3333        '''
3334         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
3335        '''
3336        self.binddn = binddn if binddn is not None else ''
3337        '''
3338         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
3339        '''
3340        self.bindpass = bindpass if bindpass is not None else ''
3341        '''
3342         Password to use along with binddn when performing user search.
3343        '''
3344        self.certificate = certificate if certificate is not None else ''
3345        '''
3346         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
3347        '''
3348        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
3349        '''
3350         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
3351        '''
3352        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
3353        '''
3354         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
3355        '''
3356        self.id = id if id is not None else ''
3357        '''
3358         Unique identifier of the Secret Engine.
3359        '''
3360        self.insecure_tls = insecure_tls if insecure_tls is not None else False
3361        '''
3362         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
3363        '''
3364        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
3365        '''
3366         An interval of public/private key rotation for secret engine in days
3367        '''
3368        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
3369        '''
3370         The maximum retry duration in case of automatic failure.
3371         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
3372        '''
3373        self.name = name if name is not None else ''
3374        '''
3375         Unique human-readable name of the Secret Engine.
3376        '''
3377        self.policy = policy if policy is not None else None
3378        '''
3379         Policy for password creation
3380        '''
3381        self.public_key = public_key if public_key is not None else b''
3382        '''
3383         Public key linked with a secret engine
3384        '''
3385        self.request_timeout = request_timeout if request_timeout is not None else 0
3386        '''
3387         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
3388        '''
3389        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3390        '''
3391         Backing secret store identifier
3392        '''
3393        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
3394        '''
3395         Backing Secret Store root path where managed secrets are going to be stored
3396        '''
3397        self.start_tls = start_tls if start_tls is not None else False
3398        '''
3399         If true, issues a StartTLS command after establishing an unencrypted connection.
3400        '''
3401        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3402        '''
3403         Tags is a map of key, value pairs.
3404        '''
3405        self.ttl = ttl if ttl is not None else None
3406        '''
3407         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
3408        '''
3409        self.upndomain = upndomain if upndomain is not None else ''
3410        '''
3411         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
3412        '''
3413        self.url = url if url is not None else ''
3414        '''
3415         The LDAP server to connect to.
3416        '''
3417        self.userdn = userdn if userdn is not None else ''
3418        '''
3419         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
3420        '''
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.

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)
3448    def to_dict(self):
3449        return {
3450            'after_read_ttl': self.after_read_ttl,
3451            'binddn': self.binddn,
3452            'bindpass': self.bindpass,
3453            'certificate': self.certificate,
3454            'connection_timeout': self.connection_timeout,
3455            'do_not_validate_timestamps': self.do_not_validate_timestamps,
3456            'id': self.id,
3457            'insecure_tls': self.insecure_tls,
3458            'key_rotation_interval_days': self.key_rotation_interval_days,
3459            'max_backoff_duration': self.max_backoff_duration,
3460            'name': self.name,
3461            'policy': self.policy,
3462            'public_key': self.public_key,
3463            'request_timeout': self.request_timeout,
3464            'secret_store_id': self.secret_store_id,
3465            'secret_store_root_path': self.secret_store_root_path,
3466            'start_tls': self.start_tls,
3467            'tags': self.tags,
3468            'ttl': self.ttl,
3469            'upndomain': self.upndomain,
3470            'url': self.url,
3471            'userdn': self.userdn,
3472        }
@classmethod
def from_dict(cls, d)
3474    @classmethod
3475    def from_dict(cls, d):
3476        return cls(
3477            after_read_ttl=d.get('after_read_ttl'),
3478            binddn=d.get('binddn'),
3479            bindpass=d.get('bindpass'),
3480            certificate=d.get('certificate'),
3481            connection_timeout=d.get('connection_timeout'),
3482            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
3483            id=d.get('id'),
3484            insecure_tls=d.get('insecure_tls'),
3485            key_rotation_interval_days=d.get('key_rotation_interval_days'),
3486            max_backoff_duration=d.get('max_backoff_duration'),
3487            name=d.get('name'),
3488            policy=d.get('policy'),
3489            public_key=d.get('public_key'),
3490            request_timeout=d.get('request_timeout'),
3491            secret_store_id=d.get('secret_store_id'),
3492            secret_store_root_path=d.get('secret_store_root_path'),
3493            start_tls=d.get('start_tls'),
3494            tags=d.get('tags'),
3495            ttl=d.get('ttl'),
3496            upndomain=d.get('upndomain'),
3497            url=d.get('url'),
3498            userdn=d.get('userdn'),
3499        )
class ActiveDirectoryStore:
3502class ActiveDirectoryStore:
3503    __slots__ = [
3504        'id',
3505        'name',
3506        'server_address',
3507        'tags',
3508    ]
3509
3510    def __init__(
3511        self,
3512        id=None,
3513        name=None,
3514        server_address=None,
3515        tags=None,
3516    ):
3517        self.id = id if id is not None else ''
3518        '''
3519         Unique identifier of the SecretStore.
3520        '''
3521        self.name = name if name is not None else ''
3522        '''
3523         Unique human-readable name of the SecretStore.
3524        '''
3525        self.server_address = server_address if server_address is not None else ''
3526        '''
3527         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3528         Often this is the same host as Active Directory Certificate Services
3529        '''
3530        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3531        '''
3532         Tags is a map of key, value pairs.
3533        '''
3534
3535    def __repr__(self):
3536        return '<sdm.ActiveDirectoryStore ' + \
3537            'id: ' + repr(self.id) + ' ' +\
3538            'name: ' + repr(self.name) + ' ' +\
3539            'server_address: ' + repr(self.server_address) + ' ' +\
3540            'tags: ' + repr(self.tags) + ' ' +\
3541            '>'
3542
3543    def to_dict(self):
3544        return {
3545            'id': self.id,
3546            'name': self.name,
3547            'server_address': self.server_address,
3548            'tags': self.tags,
3549        }
3550
3551    @classmethod
3552    def from_dict(cls, d):
3553        return cls(
3554            id=d.get('id'),
3555            name=d.get('name'),
3556            server_address=d.get('server_address'),
3557            tags=d.get('tags'),
3558        )
ActiveDirectoryStore(id=None, name=None, server_address=None, tags=None)
3510    def __init__(
3511        self,
3512        id=None,
3513        name=None,
3514        server_address=None,
3515        tags=None,
3516    ):
3517        self.id = id if id is not None else ''
3518        '''
3519         Unique identifier of the SecretStore.
3520        '''
3521        self.name = name if name is not None else ''
3522        '''
3523         Unique human-readable name of the SecretStore.
3524        '''
3525        self.server_address = server_address if server_address is not None else ''
3526        '''
3527         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3528         Often this is the same host as Active Directory Certificate Services
3529        '''
3530        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3531        '''
3532         Tags is a map of key, value pairs.
3533        '''
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)
3543    def to_dict(self):
3544        return {
3545            'id': self.id,
3546            'name': self.name,
3547            'server_address': self.server_address,
3548            'tags': self.tags,
3549        }
@classmethod
def from_dict(cls, d)
3551    @classmethod
3552    def from_dict(cls, d):
3553        return cls(
3554            id=d.get('id'),
3555            name=d.get('name'),
3556            server_address=d.get('server_address'),
3557            tags=d.get('tags'),
3558        )
class Activity:
3561class Activity:
3562    '''
3563         An Activity is a record of an action taken against a strongDM deployment, e.g.
3564     a user creation, resource deletion, sso configuration change, etc.
3565    '''
3566    __slots__ = [
3567        'actor',
3568        'completed_at',
3569        'description',
3570        'entities',
3571        'id',
3572        'ip_address',
3573        'user_agent',
3574        'verb',
3575    ]
3576
3577    def __init__(
3578        self,
3579        actor=None,
3580        completed_at=None,
3581        description=None,
3582        entities=None,
3583        id=None,
3584        ip_address=None,
3585        user_agent=None,
3586        verb=None,
3587    ):
3588        self.actor = actor if actor is not None else None
3589        '''
3590         The account who executed this activity. If the actor later has a name or email change,
3591         that change is not reflected here. Actor is a snapshot of the executing account at
3592         the time an activity took place.
3593        '''
3594        self.completed_at = completed_at if completed_at is not None else None
3595        '''
3596         The time this activity took effect.
3597        '''
3598        self.description = description if description is not None else ''
3599        '''
3600         A humanized description of the activity.
3601        '''
3602        self.entities = entities if entities is not None else []
3603        '''
3604         The entities involved in this activity. These entities can be any first class
3605         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
3606         every activity affects explicit entities.
3607        '''
3608        self.id = id if id is not None else ''
3609        '''
3610         Unique identifier of the Activity.
3611        '''
3612        self.ip_address = ip_address if ip_address is not None else ''
3613        '''
3614         The IP from which this action was taken.
3615        '''
3616        self.user_agent = user_agent if user_agent is not None else ''
3617        '''
3618         The User Agent present when this request was executed. Generally a client type and version
3619         like strongdm-cli/55.66.77
3620        '''
3621        self.verb = verb if verb is not None else ''
3622        '''
3623         The kind of activity which has taken place, one of the ActivityVerb constants.
3624        '''
3625
3626    def __repr__(self):
3627        return '<sdm.Activity ' + \
3628            'actor: ' + repr(self.actor) + ' ' +\
3629            'completed_at: ' + repr(self.completed_at) + ' ' +\
3630            'description: ' + repr(self.description) + ' ' +\
3631            'entities: ' + repr(self.entities) + ' ' +\
3632            'id: ' + repr(self.id) + ' ' +\
3633            'ip_address: ' + repr(self.ip_address) + ' ' +\
3634            'user_agent: ' + repr(self.user_agent) + ' ' +\
3635            'verb: ' + repr(self.verb) + ' ' +\
3636            '>'
3637
3638    def to_dict(self):
3639        return {
3640            'actor': self.actor,
3641            'completed_at': self.completed_at,
3642            'description': self.description,
3643            'entities': self.entities,
3644            'id': self.id,
3645            'ip_address': self.ip_address,
3646            'user_agent': self.user_agent,
3647            'verb': self.verb,
3648        }
3649
3650    @classmethod
3651    def from_dict(cls, d):
3652        return cls(
3653            actor=d.get('actor'),
3654            completed_at=d.get('completed_at'),
3655            description=d.get('description'),
3656            entities=d.get('entities'),
3657            id=d.get('id'),
3658            ip_address=d.get('ip_address'),
3659            user_agent=d.get('user_agent'),
3660            verb=d.get('verb'),
3661        )

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)
3577    def __init__(
3578        self,
3579        actor=None,
3580        completed_at=None,
3581        description=None,
3582        entities=None,
3583        id=None,
3584        ip_address=None,
3585        user_agent=None,
3586        verb=None,
3587    ):
3588        self.actor = actor if actor is not None else None
3589        '''
3590         The account who executed this activity. If the actor later has a name or email change,
3591         that change is not reflected here. Actor is a snapshot of the executing account at
3592         the time an activity took place.
3593        '''
3594        self.completed_at = completed_at if completed_at is not None else None
3595        '''
3596         The time this activity took effect.
3597        '''
3598        self.description = description if description is not None else ''
3599        '''
3600         A humanized description of the activity.
3601        '''
3602        self.entities = entities if entities is not None else []
3603        '''
3604         The entities involved in this activity. These entities can be any first class
3605         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
3606         every activity affects explicit entities.
3607        '''
3608        self.id = id if id is not None else ''
3609        '''
3610         Unique identifier of the Activity.
3611        '''
3612        self.ip_address = ip_address if ip_address is not None else ''
3613        '''
3614         The IP from which this action was taken.
3615        '''
3616        self.user_agent = user_agent if user_agent is not None else ''
3617        '''
3618         The User Agent present when this request was executed. Generally a client type and version
3619         like strongdm-cli/55.66.77
3620        '''
3621        self.verb = verb if verb is not None else ''
3622        '''
3623         The kind of activity which has taken place, one of the ActivityVerb constants.
3624        '''
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)
3638    def to_dict(self):
3639        return {
3640            'actor': self.actor,
3641            'completed_at': self.completed_at,
3642            'description': self.description,
3643            'entities': self.entities,
3644            'id': self.id,
3645            'ip_address': self.ip_address,
3646            'user_agent': self.user_agent,
3647            'verb': self.verb,
3648        }
@classmethod
def from_dict(cls, d)
3650    @classmethod
3651    def from_dict(cls, d):
3652        return cls(
3653            actor=d.get('actor'),
3654            completed_at=d.get('completed_at'),
3655            description=d.get('description'),
3656            entities=d.get('entities'),
3657            id=d.get('id'),
3658            ip_address=d.get('ip_address'),
3659            user_agent=d.get('user_agent'),
3660            verb=d.get('verb'),
3661        )
class ActivityActor:
3664class ActivityActor:
3665    __slots__ = [
3666        'activity_external_id',
3667        'email',
3668        'first_name',
3669        'id',
3670        'last_name',
3671    ]
3672
3673    def __init__(
3674        self,
3675        activity_external_id=None,
3676        email=None,
3677        first_name=None,
3678        id=None,
3679        last_name=None,
3680    ):
3681        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
3682        '''
3683         The external ID of the actor at the time this activity occurred.
3684        '''
3685        self.email = email if email is not None else ''
3686        '''
3687         The email of the actor at the time this activity occurred.
3688        '''
3689        self.first_name = first_name if first_name is not None else ''
3690        '''
3691         The first name of the actor at the time this activity occurred.
3692        '''
3693        self.id = id if id is not None else ''
3694        '''
3695         Unique identifier of the actor. Immutable.
3696        '''
3697        self.last_name = last_name if last_name is not None else ''
3698        '''
3699         The last name of the actor at the time this activity occurred.
3700        '''
3701
3702    def __repr__(self):
3703        return '<sdm.ActivityActor ' + \
3704            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
3705            'email: ' + repr(self.email) + ' ' +\
3706            'first_name: ' + repr(self.first_name) + ' ' +\
3707            'id: ' + repr(self.id) + ' ' +\
3708            'last_name: ' + repr(self.last_name) + ' ' +\
3709            '>'
3710
3711    def to_dict(self):
3712        return {
3713            'activity_external_id': self.activity_external_id,
3714            'email': self.email,
3715            'first_name': self.first_name,
3716            'id': self.id,
3717            'last_name': self.last_name,
3718        }
3719
3720    @classmethod
3721    def from_dict(cls, d):
3722        return cls(
3723            activity_external_id=d.get('activity_external_id'),
3724            email=d.get('email'),
3725            first_name=d.get('first_name'),
3726            id=d.get('id'),
3727            last_name=d.get('last_name'),
3728        )
ActivityActor( activity_external_id=None, email=None, first_name=None, id=None, last_name=None)
3673    def __init__(
3674        self,
3675        activity_external_id=None,
3676        email=None,
3677        first_name=None,
3678        id=None,
3679        last_name=None,
3680    ):
3681        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
3682        '''
3683         The external ID of the actor at the time this activity occurred.
3684        '''
3685        self.email = email if email is not None else ''
3686        '''
3687         The email of the actor at the time this activity occurred.
3688        '''
3689        self.first_name = first_name if first_name is not None else ''
3690        '''
3691         The first name of the actor at the time this activity occurred.
3692        '''
3693        self.id = id if id is not None else ''
3694        '''
3695         Unique identifier of the actor. Immutable.
3696        '''
3697        self.last_name = last_name if last_name is not None else ''
3698        '''
3699         The last name of the actor at the time this activity occurred.
3700        '''
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)
3711    def to_dict(self):
3712        return {
3713            'activity_external_id': self.activity_external_id,
3714            'email': self.email,
3715            'first_name': self.first_name,
3716            'id': self.id,
3717            'last_name': self.last_name,
3718        }
@classmethod
def from_dict(cls, d)
3720    @classmethod
3721    def from_dict(cls, d):
3722        return cls(
3723            activity_external_id=d.get('activity_external_id'),
3724            email=d.get('email'),
3725            first_name=d.get('first_name'),
3726            id=d.get('id'),
3727            last_name=d.get('last_name'),
3728        )
class ActivityEntity:
3731class ActivityEntity:
3732    __slots__ = [
3733        'email',
3734        'external_id',
3735        'id',
3736        'name',
3737        'type',
3738    ]
3739
3740    def __init__(
3741        self,
3742        email=None,
3743        external_id=None,
3744        id=None,
3745        name=None,
3746        type=None,
3747    ):
3748        self.email = email if email is not None else ''
3749        '''
3750         The email of the affected entity, if it has one (for example, if it is an account).
3751        '''
3752        self.external_id = external_id if external_id is not None else ''
3753        '''
3754         The external ID of the affected entity, if it has one (for example, if it is an account).
3755        '''
3756        self.id = id if id is not None else ''
3757        '''
3758         The unique identifier of the entity this activity affected.
3759        '''
3760        self.name = name if name is not None else ''
3761        '''
3762         A display name representing the affected entity.
3763        '''
3764        self.type = type if type is not None else ''
3765        '''
3766         The type of entity affected, one of the ActivityEntityType constants.
3767        '''
3768
3769    def __repr__(self):
3770        return '<sdm.ActivityEntity ' + \
3771            'email: ' + repr(self.email) + ' ' +\
3772            'external_id: ' + repr(self.external_id) + ' ' +\
3773            'id: ' + repr(self.id) + ' ' +\
3774            'name: ' + repr(self.name) + ' ' +\
3775            'type: ' + repr(self.type) + ' ' +\
3776            '>'
3777
3778    def to_dict(self):
3779        return {
3780            'email': self.email,
3781            'external_id': self.external_id,
3782            'id': self.id,
3783            'name': self.name,
3784            'type': self.type,
3785        }
3786
3787    @classmethod
3788    def from_dict(cls, d):
3789        return cls(
3790            email=d.get('email'),
3791            external_id=d.get('external_id'),
3792            id=d.get('id'),
3793            name=d.get('name'),
3794            type=d.get('type'),
3795        )
ActivityEntity(email=None, external_id=None, id=None, name=None, type=None)
3740    def __init__(
3741        self,
3742        email=None,
3743        external_id=None,
3744        id=None,
3745        name=None,
3746        type=None,
3747    ):
3748        self.email = email if email is not None else ''
3749        '''
3750         The email of the affected entity, if it has one (for example, if it is an account).
3751        '''
3752        self.external_id = external_id if external_id is not None else ''
3753        '''
3754         The external ID of the affected entity, if it has one (for example, if it is an account).
3755        '''
3756        self.id = id if id is not None else ''
3757        '''
3758         The unique identifier of the entity this activity affected.
3759        '''
3760        self.name = name if name is not None else ''
3761        '''
3762         A display name representing the affected entity.
3763        '''
3764        self.type = type if type is not None else ''
3765        '''
3766         The type of entity affected, one of the ActivityEntityType constants.
3767        '''
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)
3778    def to_dict(self):
3779        return {
3780            'email': self.email,
3781            'external_id': self.external_id,
3782            'id': self.id,
3783            'name': self.name,
3784            'type': self.type,
3785        }
@classmethod
def from_dict(cls, d)
3787    @classmethod
3788    def from_dict(cls, d):
3789        return cls(
3790            email=d.get('email'),
3791            external_id=d.get('external_id'),
3792            id=d.get('id'),
3793            name=d.get('name'),
3794            type=d.get('type'),
3795        )
class ActivityGetResponse:
3798class ActivityGetResponse:
3799    '''
3800         ActivityGetResponse returns a requested Activity.
3801    '''
3802    __slots__ = [
3803        'activity',
3804        'meta',
3805        'rate_limit',
3806    ]
3807
3808    def __init__(
3809        self,
3810        activity=None,
3811        meta=None,
3812        rate_limit=None,
3813    ):
3814        self.activity = activity if activity is not None else None
3815        '''
3816         The requested Activity.
3817        '''
3818        self.meta = meta if meta is not None else None
3819        '''
3820         Reserved for future use.
3821        '''
3822        self.rate_limit = rate_limit if rate_limit is not None else None
3823        '''
3824         Rate limit information.
3825        '''
3826
3827    def __repr__(self):
3828        return '<sdm.ActivityGetResponse ' + \
3829            'activity: ' + repr(self.activity) + ' ' +\
3830            'meta: ' + repr(self.meta) + ' ' +\
3831            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3832            '>'
3833
3834    def to_dict(self):
3835        return {
3836            'activity': self.activity,
3837            'meta': self.meta,
3838            'rate_limit': self.rate_limit,
3839        }
3840
3841    @classmethod
3842    def from_dict(cls, d):
3843        return cls(
3844            activity=d.get('activity'),
3845            meta=d.get('meta'),
3846            rate_limit=d.get('rate_limit'),
3847        )

ActivityGetResponse returns a requested Activity.

ActivityGetResponse(activity=None, meta=None, rate_limit=None)
3808    def __init__(
3809        self,
3810        activity=None,
3811        meta=None,
3812        rate_limit=None,
3813    ):
3814        self.activity = activity if activity is not None else None
3815        '''
3816         The requested Activity.
3817        '''
3818        self.meta = meta if meta is not None else None
3819        '''
3820         Reserved for future use.
3821        '''
3822        self.rate_limit = rate_limit if rate_limit is not None else None
3823        '''
3824         Rate limit information.
3825        '''
activity

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3834    def to_dict(self):
3835        return {
3836            'activity': self.activity,
3837            'meta': self.meta,
3838            'rate_limit': self.rate_limit,
3839        }
@classmethod
def from_dict(cls, d)
3841    @classmethod
3842    def from_dict(cls, d):
3843        return cls(
3844            activity=d.get('activity'),
3845            meta=d.get('meta'),
3846            rate_limit=d.get('rate_limit'),
3847        )
class Aerospike:
3850class Aerospike:
3851    __slots__ = [
3852        'bind_interface',
3853        'egress_filter',
3854        'healthy',
3855        'hostname',
3856        'id',
3857        'name',
3858        'password',
3859        'port',
3860        'port_override',
3861        'proxy_cluster_id',
3862        'secret_store_id',
3863        'subdomain',
3864        'tags',
3865        'use_services_alternate',
3866        'username',
3867    ]
3868
3869    def __init__(
3870        self,
3871        bind_interface=None,
3872        egress_filter=None,
3873        healthy=None,
3874        hostname=None,
3875        id=None,
3876        name=None,
3877        password=None,
3878        port=None,
3879        port_override=None,
3880        proxy_cluster_id=None,
3881        secret_store_id=None,
3882        subdomain=None,
3883        tags=None,
3884        use_services_alternate=None,
3885        username=None,
3886    ):
3887        self.bind_interface = bind_interface if bind_interface is not None else ''
3888        '''
3889         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3890        '''
3891        self.egress_filter = egress_filter if egress_filter is not None else ''
3892        '''
3893         A filter applied to the routing logic to pin datasource to nodes.
3894        '''
3895        self.healthy = healthy if healthy is not None else False
3896        '''
3897         True if the datasource is reachable and the credentials are valid.
3898        '''
3899        self.hostname = hostname if hostname is not None else ''
3900        '''
3901         The host to dial to initiate a connection from the egress node to this resource.
3902        '''
3903        self.id = id if id is not None else ''
3904        '''
3905         Unique identifier of the Resource.
3906        '''
3907        self.name = name if name is not None else ''
3908        '''
3909         Unique human-readable name of the Resource.
3910        '''
3911        self.password = password if password is not None else ''
3912        '''
3913         The password to authenticate with.
3914        '''
3915        self.port = port if port is not None else 0
3916        '''
3917         The port to dial to initiate a connection from the egress node to this resource.
3918        '''
3919        self.port_override = port_override if port_override is not None else 0
3920        '''
3921         The local port used by clients to connect to this resource.
3922        '''
3923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3924        '''
3925         ID of the proxy cluster for this resource, if any.
3926        '''
3927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3928        '''
3929         ID of the secret store containing credentials for this resource, if any.
3930        '''
3931        self.subdomain = subdomain if subdomain is not None else ''
3932        '''
3933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3934        '''
3935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3936        '''
3937         Tags is a map of key, value pairs.
3938        '''
3939        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
3940        '''
3941         If true, uses UseServicesAlternates directive for Aerospike connection
3942        '''
3943        self.username = username if username is not None else ''
3944        '''
3945         The username to authenticate with.
3946        '''
3947
3948    def __repr__(self):
3949        return '<sdm.Aerospike ' + \
3950            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
3951            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
3952            'healthy: ' + repr(self.healthy) + ' ' +\
3953            'hostname: ' + repr(self.hostname) + ' ' +\
3954            'id: ' + repr(self.id) + ' ' +\
3955            'name: ' + repr(self.name) + ' ' +\
3956            'password: ' + repr(self.password) + ' ' +\
3957            'port: ' + repr(self.port) + ' ' +\
3958            'port_override: ' + repr(self.port_override) + ' ' +\
3959            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
3960            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
3961            'subdomain: ' + repr(self.subdomain) + ' ' +\
3962            'tags: ' + repr(self.tags) + ' ' +\
3963            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
3964            'username: ' + repr(self.username) + ' ' +\
3965            '>'
3966
3967    def to_dict(self):
3968        return {
3969            'bind_interface': self.bind_interface,
3970            'egress_filter': self.egress_filter,
3971            'healthy': self.healthy,
3972            'hostname': self.hostname,
3973            'id': self.id,
3974            'name': self.name,
3975            'password': self.password,
3976            'port': self.port,
3977            'port_override': self.port_override,
3978            'proxy_cluster_id': self.proxy_cluster_id,
3979            'secret_store_id': self.secret_store_id,
3980            'subdomain': self.subdomain,
3981            'tags': self.tags,
3982            'use_services_alternate': self.use_services_alternate,
3983            'username': self.username,
3984        }
3985
3986    @classmethod
3987    def from_dict(cls, d):
3988        return cls(
3989            bind_interface=d.get('bind_interface'),
3990            egress_filter=d.get('egress_filter'),
3991            healthy=d.get('healthy'),
3992            hostname=d.get('hostname'),
3993            id=d.get('id'),
3994            name=d.get('name'),
3995            password=d.get('password'),
3996            port=d.get('port'),
3997            port_override=d.get('port_override'),
3998            proxy_cluster_id=d.get('proxy_cluster_id'),
3999            secret_store_id=d.get('secret_store_id'),
4000            subdomain=d.get('subdomain'),
4001            tags=d.get('tags'),
4002            use_services_alternate=d.get('use_services_alternate'),
4003            username=d.get('username'),
4004        )
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)
3869    def __init__(
3870        self,
3871        bind_interface=None,
3872        egress_filter=None,
3873        healthy=None,
3874        hostname=None,
3875        id=None,
3876        name=None,
3877        password=None,
3878        port=None,
3879        port_override=None,
3880        proxy_cluster_id=None,
3881        secret_store_id=None,
3882        subdomain=None,
3883        tags=None,
3884        use_services_alternate=None,
3885        username=None,
3886    ):
3887        self.bind_interface = bind_interface if bind_interface is not None else ''
3888        '''
3889         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3890        '''
3891        self.egress_filter = egress_filter if egress_filter is not None else ''
3892        '''
3893         A filter applied to the routing logic to pin datasource to nodes.
3894        '''
3895        self.healthy = healthy if healthy is not None else False
3896        '''
3897         True if the datasource is reachable and the credentials are valid.
3898        '''
3899        self.hostname = hostname if hostname is not None else ''
3900        '''
3901         The host to dial to initiate a connection from the egress node to this resource.
3902        '''
3903        self.id = id if id is not None else ''
3904        '''
3905         Unique identifier of the Resource.
3906        '''
3907        self.name = name if name is not None else ''
3908        '''
3909         Unique human-readable name of the Resource.
3910        '''
3911        self.password = password if password is not None else ''
3912        '''
3913         The password to authenticate with.
3914        '''
3915        self.port = port if port is not None else 0
3916        '''
3917         The port to dial to initiate a connection from the egress node to this resource.
3918        '''
3919        self.port_override = port_override if port_override is not None else 0
3920        '''
3921         The local port used by clients to connect to this resource.
3922        '''
3923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3924        '''
3925         ID of the proxy cluster for this resource, if any.
3926        '''
3927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3928        '''
3929         ID of the secret store containing credentials for this resource, if any.
3930        '''
3931        self.subdomain = subdomain if subdomain is not None else ''
3932        '''
3933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3934        '''
3935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3936        '''
3937         Tags is a map of key, value pairs.
3938        '''
3939        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
3940        '''
3941         If true, uses UseServicesAlternates directive for Aerospike connection
3942        '''
3943        self.username = username if username is not None else ''
3944        '''
3945         The username to authenticate with.
3946        '''
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.

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.

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.

use_services_alternate

If true, uses UseServicesAlternates directive for Aerospike connection

username

The username to authenticate with.

def to_dict(self)
3967    def to_dict(self):
3968        return {
3969            'bind_interface': self.bind_interface,
3970            'egress_filter': self.egress_filter,
3971            'healthy': self.healthy,
3972            'hostname': self.hostname,
3973            'id': self.id,
3974            'name': self.name,
3975            'password': self.password,
3976            'port': self.port,
3977            'port_override': self.port_override,
3978            'proxy_cluster_id': self.proxy_cluster_id,
3979            'secret_store_id': self.secret_store_id,
3980            'subdomain': self.subdomain,
3981            'tags': self.tags,
3982            'use_services_alternate': self.use_services_alternate,
3983            'username': self.username,
3984        }
@classmethod
def from_dict(cls, d)
3986    @classmethod
3987    def from_dict(cls, d):
3988        return cls(
3989            bind_interface=d.get('bind_interface'),
3990            egress_filter=d.get('egress_filter'),
3991            healthy=d.get('healthy'),
3992            hostname=d.get('hostname'),
3993            id=d.get('id'),
3994            name=d.get('name'),
3995            password=d.get('password'),
3996            port=d.get('port'),
3997            port_override=d.get('port_override'),
3998            proxy_cluster_id=d.get('proxy_cluster_id'),
3999            secret_store_id=d.get('secret_store_id'),
4000            subdomain=d.get('subdomain'),
4001            tags=d.get('tags'),
4002            use_services_alternate=d.get('use_services_alternate'),
4003            username=d.get('username'),
4004        )
class AmazonEKS:
4007class AmazonEKS:
4008    __slots__ = [
4009        'access_key',
4010        'allow_resource_role_bypass',
4011        'bind_interface',
4012        'certificate_authority',
4013        'cluster_name',
4014        'discovery_enabled',
4015        'discovery_username',
4016        'egress_filter',
4017        'endpoint',
4018        'healthcheck_namespace',
4019        'healthy',
4020        'id',
4021        'identity_alias_healthcheck_username',
4022        'identity_set_id',
4023        'name',
4024        'port_override',
4025        'proxy_cluster_id',
4026        'region',
4027        'role_arn',
4028        'role_external_id',
4029        'secret_access_key',
4030        'secret_store_id',
4031        'subdomain',
4032        'tags',
4033    ]
4034
4035    def __init__(
4036        self,
4037        access_key=None,
4038        allow_resource_role_bypass=None,
4039        bind_interface=None,
4040        certificate_authority=None,
4041        cluster_name=None,
4042        discovery_enabled=None,
4043        discovery_username=None,
4044        egress_filter=None,
4045        endpoint=None,
4046        healthcheck_namespace=None,
4047        healthy=None,
4048        id=None,
4049        identity_alias_healthcheck_username=None,
4050        identity_set_id=None,
4051        name=None,
4052        port_override=None,
4053        proxy_cluster_id=None,
4054        region=None,
4055        role_arn=None,
4056        role_external_id=None,
4057        secret_access_key=None,
4058        secret_store_id=None,
4059        subdomain=None,
4060        tags=None,
4061    ):
4062        self.access_key = access_key if access_key is not None else ''
4063        '''
4064         The Access Key ID to use to authenticate.
4065        '''
4066        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4067        '''
4068         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4069         when a resource role is not provided.
4070        '''
4071        self.bind_interface = bind_interface if bind_interface is not None else ''
4072        '''
4073         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4074        '''
4075        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4076        '''
4077         The CA to authenticate TLS connections with.
4078        '''
4079        self.cluster_name = cluster_name if cluster_name is not None else ''
4080        '''
4081         The name of the cluster to connect to.
4082        '''
4083        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4084        '''
4085         If true, configures discovery of a cluster to be run from a node.
4086        '''
4087        self.discovery_username = discovery_username if discovery_username is not None else ''
4088        '''
4089         If a cluster is configured for user impersonation, this is the user to impersonate when
4090         running discovery.
4091        '''
4092        self.egress_filter = egress_filter if egress_filter is not None else ''
4093        '''
4094         A filter applied to the routing logic to pin datasource to nodes.
4095        '''
4096        self.endpoint = endpoint if endpoint is not None else ''
4097        '''
4098         The endpoint to dial.
4099        '''
4100        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4101        '''
4102         The path used to check the health of your connection.  Defaults to `default`.
4103        '''
4104        self.healthy = healthy if healthy is not None else False
4105        '''
4106         True if the datasource is reachable and the credentials are valid.
4107        '''
4108        self.id = id if id is not None else ''
4109        '''
4110         Unique identifier of the Resource.
4111        '''
4112        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4113        '''
4114         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4115        '''
4116        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4117        '''
4118         The ID of the identity set to use for identity connections.
4119        '''
4120        self.name = name if name is not None else ''
4121        '''
4122         Unique human-readable name of the Resource.
4123        '''
4124        self.port_override = port_override if port_override is not None else 0
4125        '''
4126         The local port used by clients to connect to this resource.
4127        '''
4128        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4129        '''
4130         ID of the proxy cluster for this resource, if any.
4131        '''
4132        self.region = region if region is not None else ''
4133        '''
4134         The AWS region to connect to e.g. us-east-1.
4135        '''
4136        self.role_arn = role_arn if role_arn is not None else ''
4137        '''
4138         The role to assume after logging in.
4139        '''
4140        self.role_external_id = role_external_id if role_external_id is not None else ''
4141        '''
4142         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4143        '''
4144        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4145        '''
4146         The Secret Access Key to use to authenticate.
4147        '''
4148        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4149        '''
4150         ID of the secret store containing credentials for this resource, if any.
4151        '''
4152        self.subdomain = subdomain if subdomain is not None else ''
4153        '''
4154         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4155        '''
4156        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4157        '''
4158         Tags is a map of key, value pairs.
4159        '''
4160
4161    def __repr__(self):
4162        return '<sdm.AmazonEKS ' + \
4163            'access_key: ' + repr(self.access_key) + ' ' +\
4164            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4165            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4166            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4167            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4168            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4169            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4170            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4171            'endpoint: ' + repr(self.endpoint) + ' ' +\
4172            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4173            'healthy: ' + repr(self.healthy) + ' ' +\
4174            'id: ' + repr(self.id) + ' ' +\
4175            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
4176            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
4177            'name: ' + repr(self.name) + ' ' +\
4178            'port_override: ' + repr(self.port_override) + ' ' +\
4179            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4180            'region: ' + repr(self.region) + ' ' +\
4181            'role_arn: ' + repr(self.role_arn) + ' ' +\
4182            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4183            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4184            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4185            'subdomain: ' + repr(self.subdomain) + ' ' +\
4186            'tags: ' + repr(self.tags) + ' ' +\
4187            '>'
4188
4189    def to_dict(self):
4190        return {
4191            'access_key': self.access_key,
4192            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4193            'bind_interface': self.bind_interface,
4194            'certificate_authority': self.certificate_authority,
4195            'cluster_name': self.cluster_name,
4196            'discovery_enabled': self.discovery_enabled,
4197            'discovery_username': self.discovery_username,
4198            'egress_filter': self.egress_filter,
4199            'endpoint': self.endpoint,
4200            'healthcheck_namespace': self.healthcheck_namespace,
4201            'healthy': self.healthy,
4202            'id': self.id,
4203            'identity_alias_healthcheck_username':
4204            self.identity_alias_healthcheck_username,
4205            'identity_set_id': self.identity_set_id,
4206            'name': self.name,
4207            'port_override': self.port_override,
4208            'proxy_cluster_id': self.proxy_cluster_id,
4209            'region': self.region,
4210            'role_arn': self.role_arn,
4211            'role_external_id': self.role_external_id,
4212            'secret_access_key': self.secret_access_key,
4213            'secret_store_id': self.secret_store_id,
4214            'subdomain': self.subdomain,
4215            'tags': self.tags,
4216        }
4217
4218    @classmethod
4219    def from_dict(cls, d):
4220        return cls(
4221            access_key=d.get('access_key'),
4222            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4223            bind_interface=d.get('bind_interface'),
4224            certificate_authority=d.get('certificate_authority'),
4225            cluster_name=d.get('cluster_name'),
4226            discovery_enabled=d.get('discovery_enabled'),
4227            discovery_username=d.get('discovery_username'),
4228            egress_filter=d.get('egress_filter'),
4229            endpoint=d.get('endpoint'),
4230            healthcheck_namespace=d.get('healthcheck_namespace'),
4231            healthy=d.get('healthy'),
4232            id=d.get('id'),
4233            identity_alias_healthcheck_username=d.get(
4234                'identity_alias_healthcheck_username'),
4235            identity_set_id=d.get('identity_set_id'),
4236            name=d.get('name'),
4237            port_override=d.get('port_override'),
4238            proxy_cluster_id=d.get('proxy_cluster_id'),
4239            region=d.get('region'),
4240            role_arn=d.get('role_arn'),
4241            role_external_id=d.get('role_external_id'),
4242            secret_access_key=d.get('secret_access_key'),
4243            secret_store_id=d.get('secret_store_id'),
4244            subdomain=d.get('subdomain'),
4245            tags=d.get('tags'),
4246        )
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)
4035    def __init__(
4036        self,
4037        access_key=None,
4038        allow_resource_role_bypass=None,
4039        bind_interface=None,
4040        certificate_authority=None,
4041        cluster_name=None,
4042        discovery_enabled=None,
4043        discovery_username=None,
4044        egress_filter=None,
4045        endpoint=None,
4046        healthcheck_namespace=None,
4047        healthy=None,
4048        id=None,
4049        identity_alias_healthcheck_username=None,
4050        identity_set_id=None,
4051        name=None,
4052        port_override=None,
4053        proxy_cluster_id=None,
4054        region=None,
4055        role_arn=None,
4056        role_external_id=None,
4057        secret_access_key=None,
4058        secret_store_id=None,
4059        subdomain=None,
4060        tags=None,
4061    ):
4062        self.access_key = access_key if access_key is not None else ''
4063        '''
4064         The Access Key ID to use to authenticate.
4065        '''
4066        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4067        '''
4068         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4069         when a resource role is not provided.
4070        '''
4071        self.bind_interface = bind_interface if bind_interface is not None else ''
4072        '''
4073         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4074        '''
4075        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4076        '''
4077         The CA to authenticate TLS connections with.
4078        '''
4079        self.cluster_name = cluster_name if cluster_name is not None else ''
4080        '''
4081         The name of the cluster to connect to.
4082        '''
4083        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4084        '''
4085         If true, configures discovery of a cluster to be run from a node.
4086        '''
4087        self.discovery_username = discovery_username if discovery_username is not None else ''
4088        '''
4089         If a cluster is configured for user impersonation, this is the user to impersonate when
4090         running discovery.
4091        '''
4092        self.egress_filter = egress_filter if egress_filter is not None else ''
4093        '''
4094         A filter applied to the routing logic to pin datasource to nodes.
4095        '''
4096        self.endpoint = endpoint if endpoint is not None else ''
4097        '''
4098         The endpoint to dial.
4099        '''
4100        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4101        '''
4102         The path used to check the health of your connection.  Defaults to `default`.
4103        '''
4104        self.healthy = healthy if healthy is not None else False
4105        '''
4106         True if the datasource is reachable and the credentials are valid.
4107        '''
4108        self.id = id if id is not None else ''
4109        '''
4110         Unique identifier of the Resource.
4111        '''
4112        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4113        '''
4114         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4115        '''
4116        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4117        '''
4118         The ID of the identity set to use for identity connections.
4119        '''
4120        self.name = name if name is not None else ''
4121        '''
4122         Unique human-readable name of the Resource.
4123        '''
4124        self.port_override = port_override if port_override is not None else 0
4125        '''
4126         The local port used by clients to connect to this resource.
4127        '''
4128        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4129        '''
4130         ID of the proxy cluster for this resource, if any.
4131        '''
4132        self.region = region if region is not None else ''
4133        '''
4134         The AWS region to connect to e.g. us-east-1.
4135        '''
4136        self.role_arn = role_arn if role_arn is not None else ''
4137        '''
4138         The role to assume after logging in.
4139        '''
4140        self.role_external_id = role_external_id if role_external_id is not None else ''
4141        '''
4142         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4143        '''
4144        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4145        '''
4146         The Secret Access Key to use to authenticate.
4147        '''
4148        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4149        '''
4150         ID of the secret store containing credentials for this resource, if any.
4151        '''
4152        self.subdomain = subdomain if subdomain is not None else ''
4153        '''
4154         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4155        '''
4156        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4157        '''
4158         Tags is a map of key, value pairs.
4159        '''
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.

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.

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

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.

def to_dict(self)
4189    def to_dict(self):
4190        return {
4191            'access_key': self.access_key,
4192            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4193            'bind_interface': self.bind_interface,
4194            'certificate_authority': self.certificate_authority,
4195            'cluster_name': self.cluster_name,
4196            'discovery_enabled': self.discovery_enabled,
4197            'discovery_username': self.discovery_username,
4198            'egress_filter': self.egress_filter,
4199            'endpoint': self.endpoint,
4200            'healthcheck_namespace': self.healthcheck_namespace,
4201            'healthy': self.healthy,
4202            'id': self.id,
4203            'identity_alias_healthcheck_username':
4204            self.identity_alias_healthcheck_username,
4205            'identity_set_id': self.identity_set_id,
4206            'name': self.name,
4207            'port_override': self.port_override,
4208            'proxy_cluster_id': self.proxy_cluster_id,
4209            'region': self.region,
4210            'role_arn': self.role_arn,
4211            'role_external_id': self.role_external_id,
4212            'secret_access_key': self.secret_access_key,
4213            'secret_store_id': self.secret_store_id,
4214            'subdomain': self.subdomain,
4215            'tags': self.tags,
4216        }
@classmethod
def from_dict(cls, d)
4218    @classmethod
4219    def from_dict(cls, d):
4220        return cls(
4221            access_key=d.get('access_key'),
4222            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4223            bind_interface=d.get('bind_interface'),
4224            certificate_authority=d.get('certificate_authority'),
4225            cluster_name=d.get('cluster_name'),
4226            discovery_enabled=d.get('discovery_enabled'),
4227            discovery_username=d.get('discovery_username'),
4228            egress_filter=d.get('egress_filter'),
4229            endpoint=d.get('endpoint'),
4230            healthcheck_namespace=d.get('healthcheck_namespace'),
4231            healthy=d.get('healthy'),
4232            id=d.get('id'),
4233            identity_alias_healthcheck_username=d.get(
4234                'identity_alias_healthcheck_username'),
4235            identity_set_id=d.get('identity_set_id'),
4236            name=d.get('name'),
4237            port_override=d.get('port_override'),
4238            proxy_cluster_id=d.get('proxy_cluster_id'),
4239            region=d.get('region'),
4240            role_arn=d.get('role_arn'),
4241            role_external_id=d.get('role_external_id'),
4242            secret_access_key=d.get('secret_access_key'),
4243            secret_store_id=d.get('secret_store_id'),
4244            subdomain=d.get('subdomain'),
4245            tags=d.get('tags'),
4246        )
class AmazonEKSInstanceProfile:
4249class AmazonEKSInstanceProfile:
4250    __slots__ = [
4251        'allow_resource_role_bypass',
4252        'bind_interface',
4253        'certificate_authority',
4254        'cluster_name',
4255        'discovery_enabled',
4256        'discovery_username',
4257        'egress_filter',
4258        'endpoint',
4259        'healthcheck_namespace',
4260        'healthy',
4261        'id',
4262        'identity_alias_healthcheck_username',
4263        'identity_set_id',
4264        'name',
4265        'port_override',
4266        'proxy_cluster_id',
4267        'region',
4268        'role_arn',
4269        'role_external_id',
4270        'secret_store_id',
4271        'subdomain',
4272        'tags',
4273    ]
4274
4275    def __init__(
4276        self,
4277        allow_resource_role_bypass=None,
4278        bind_interface=None,
4279        certificate_authority=None,
4280        cluster_name=None,
4281        discovery_enabled=None,
4282        discovery_username=None,
4283        egress_filter=None,
4284        endpoint=None,
4285        healthcheck_namespace=None,
4286        healthy=None,
4287        id=None,
4288        identity_alias_healthcheck_username=None,
4289        identity_set_id=None,
4290        name=None,
4291        port_override=None,
4292        proxy_cluster_id=None,
4293        region=None,
4294        role_arn=None,
4295        role_external_id=None,
4296        secret_store_id=None,
4297        subdomain=None,
4298        tags=None,
4299    ):
4300        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4301        '''
4302         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4303         when a resource role is not provided.
4304        '''
4305        self.bind_interface = bind_interface if bind_interface is not None else ''
4306        '''
4307         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4308        '''
4309        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4310        '''
4311         The CA to authenticate TLS connections with.
4312        '''
4313        self.cluster_name = cluster_name if cluster_name is not None else ''
4314        '''
4315         The name of the cluster to connect to.
4316        '''
4317        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4318        '''
4319         If true, configures discovery of a cluster to be run from a node.
4320        '''
4321        self.discovery_username = discovery_username if discovery_username is not None else ''
4322        '''
4323         If a cluster is configured for user impersonation, this is the user to impersonate when
4324         running discovery.
4325        '''
4326        self.egress_filter = egress_filter if egress_filter is not None else ''
4327        '''
4328         A filter applied to the routing logic to pin datasource to nodes.
4329        '''
4330        self.endpoint = endpoint if endpoint is not None else ''
4331        '''
4332         The endpoint to dial.
4333        '''
4334        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4335        '''
4336         The path used to check the health of your connection.  Defaults to `default`.
4337        '''
4338        self.healthy = healthy if healthy is not None else False
4339        '''
4340         True if the datasource is reachable and the credentials are valid.
4341        '''
4342        self.id = id if id is not None else ''
4343        '''
4344         Unique identifier of the Resource.
4345        '''
4346        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4347        '''
4348         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4349        '''
4350        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4351        '''
4352         The ID of the identity set to use for identity connections.
4353        '''
4354        self.name = name if name is not None else ''
4355        '''
4356         Unique human-readable name of the Resource.
4357        '''
4358        self.port_override = port_override if port_override is not None else 0
4359        '''
4360         The local port used by clients to connect to this resource.
4361        '''
4362        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4363        '''
4364         ID of the proxy cluster for this resource, if any.
4365        '''
4366        self.region = region if region is not None else ''
4367        '''
4368         The AWS region to connect to e.g. us-east-1.
4369        '''
4370        self.role_arn = role_arn if role_arn is not None else ''
4371        '''
4372         The role to assume after logging in.
4373        '''
4374        self.role_external_id = role_external_id if role_external_id is not None else ''
4375        '''
4376         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4377        '''
4378        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4379        '''
4380         ID of the secret store containing credentials for this resource, if any.
4381        '''
4382        self.subdomain = subdomain if subdomain is not None else ''
4383        '''
4384         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4385        '''
4386        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4387        '''
4388         Tags is a map of key, value pairs.
4389        '''
4390
4391    def __repr__(self):
4392        return '<sdm.AmazonEKSInstanceProfile ' + \
4393            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4394            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4395            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4396            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4397            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4398            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4399            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4400            'endpoint: ' + repr(self.endpoint) + ' ' +\
4401            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4402            'healthy: ' + repr(self.healthy) + ' ' +\
4403            'id: ' + repr(self.id) + ' ' +\
4404            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
4405            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
4406            'name: ' + repr(self.name) + ' ' +\
4407            'port_override: ' + repr(self.port_override) + ' ' +\
4408            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4409            'region: ' + repr(self.region) + ' ' +\
4410            'role_arn: ' + repr(self.role_arn) + ' ' +\
4411            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4412            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4413            'subdomain: ' + repr(self.subdomain) + ' ' +\
4414            'tags: ' + repr(self.tags) + ' ' +\
4415            '>'
4416
4417    def to_dict(self):
4418        return {
4419            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4420            'bind_interface': self.bind_interface,
4421            'certificate_authority': self.certificate_authority,
4422            'cluster_name': self.cluster_name,
4423            'discovery_enabled': self.discovery_enabled,
4424            'discovery_username': self.discovery_username,
4425            'egress_filter': self.egress_filter,
4426            'endpoint': self.endpoint,
4427            'healthcheck_namespace': self.healthcheck_namespace,
4428            'healthy': self.healthy,
4429            'id': self.id,
4430            'identity_alias_healthcheck_username':
4431            self.identity_alias_healthcheck_username,
4432            'identity_set_id': self.identity_set_id,
4433            'name': self.name,
4434            'port_override': self.port_override,
4435            'proxy_cluster_id': self.proxy_cluster_id,
4436            'region': self.region,
4437            'role_arn': self.role_arn,
4438            'role_external_id': self.role_external_id,
4439            'secret_store_id': self.secret_store_id,
4440            'subdomain': self.subdomain,
4441            'tags': self.tags,
4442        }
4443
4444    @classmethod
4445    def from_dict(cls, d):
4446        return cls(
4447            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4448            bind_interface=d.get('bind_interface'),
4449            certificate_authority=d.get('certificate_authority'),
4450            cluster_name=d.get('cluster_name'),
4451            discovery_enabled=d.get('discovery_enabled'),
4452            discovery_username=d.get('discovery_username'),
4453            egress_filter=d.get('egress_filter'),
4454            endpoint=d.get('endpoint'),
4455            healthcheck_namespace=d.get('healthcheck_namespace'),
4456            healthy=d.get('healthy'),
4457            id=d.get('id'),
4458            identity_alias_healthcheck_username=d.get(
4459                'identity_alias_healthcheck_username'),
4460            identity_set_id=d.get('identity_set_id'),
4461            name=d.get('name'),
4462            port_override=d.get('port_override'),
4463            proxy_cluster_id=d.get('proxy_cluster_id'),
4464            region=d.get('region'),
4465            role_arn=d.get('role_arn'),
4466            role_external_id=d.get('role_external_id'),
4467            secret_store_id=d.get('secret_store_id'),
4468            subdomain=d.get('subdomain'),
4469            tags=d.get('tags'),
4470        )
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)
4275    def __init__(
4276        self,
4277        allow_resource_role_bypass=None,
4278        bind_interface=None,
4279        certificate_authority=None,
4280        cluster_name=None,
4281        discovery_enabled=None,
4282        discovery_username=None,
4283        egress_filter=None,
4284        endpoint=None,
4285        healthcheck_namespace=None,
4286        healthy=None,
4287        id=None,
4288        identity_alias_healthcheck_username=None,
4289        identity_set_id=None,
4290        name=None,
4291        port_override=None,
4292        proxy_cluster_id=None,
4293        region=None,
4294        role_arn=None,
4295        role_external_id=None,
4296        secret_store_id=None,
4297        subdomain=None,
4298        tags=None,
4299    ):
4300        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4301        '''
4302         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4303         when a resource role is not provided.
4304        '''
4305        self.bind_interface = bind_interface if bind_interface is not None else ''
4306        '''
4307         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4308        '''
4309        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4310        '''
4311         The CA to authenticate TLS connections with.
4312        '''
4313        self.cluster_name = cluster_name if cluster_name is not None else ''
4314        '''
4315         The name of the cluster to connect to.
4316        '''
4317        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4318        '''
4319         If true, configures discovery of a cluster to be run from a node.
4320        '''
4321        self.discovery_username = discovery_username if discovery_username is not None else ''
4322        '''
4323         If a cluster is configured for user impersonation, this is the user to impersonate when
4324         running discovery.
4325        '''
4326        self.egress_filter = egress_filter if egress_filter is not None else ''
4327        '''
4328         A filter applied to the routing logic to pin datasource to nodes.
4329        '''
4330        self.endpoint = endpoint if endpoint is not None else ''
4331        '''
4332         The endpoint to dial.
4333        '''
4334        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4335        '''
4336         The path used to check the health of your connection.  Defaults to `default`.
4337        '''
4338        self.healthy = healthy if healthy is not None else False
4339        '''
4340         True if the datasource is reachable and the credentials are valid.
4341        '''
4342        self.id = id if id is not None else ''
4343        '''
4344         Unique identifier of the Resource.
4345        '''
4346        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4347        '''
4348         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4349        '''
4350        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4351        '''
4352         The ID of the identity set to use for identity connections.
4353        '''
4354        self.name = name if name is not None else ''
4355        '''
4356         Unique human-readable name of the Resource.
4357        '''
4358        self.port_override = port_override if port_override is not None else 0
4359        '''
4360         The local port used by clients to connect to this resource.
4361        '''
4362        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4363        '''
4364         ID of the proxy cluster for this resource, if any.
4365        '''
4366        self.region = region if region is not None else ''
4367        '''
4368         The AWS region to connect to e.g. us-east-1.
4369        '''
4370        self.role_arn = role_arn if role_arn is not None else ''
4371        '''
4372         The role to assume after logging in.
4373        '''
4374        self.role_external_id = role_external_id if role_external_id is not None else ''
4375        '''
4376         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4377        '''
4378        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4379        '''
4380         ID of the secret store containing credentials for this resource, if any.
4381        '''
4382        self.subdomain = subdomain if subdomain is not None else ''
4383        '''
4384         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4385        '''
4386        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4387        '''
4388         Tags is a map of key, value pairs.
4389        '''
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.

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.

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

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.

def to_dict(self)
4417    def to_dict(self):
4418        return {
4419            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4420            'bind_interface': self.bind_interface,
4421            'certificate_authority': self.certificate_authority,
4422            'cluster_name': self.cluster_name,
4423            'discovery_enabled': self.discovery_enabled,
4424            'discovery_username': self.discovery_username,
4425            'egress_filter': self.egress_filter,
4426            'endpoint': self.endpoint,
4427            'healthcheck_namespace': self.healthcheck_namespace,
4428            'healthy': self.healthy,
4429            'id': self.id,
4430            'identity_alias_healthcheck_username':
4431            self.identity_alias_healthcheck_username,
4432            'identity_set_id': self.identity_set_id,
4433            'name': self.name,
4434            'port_override': self.port_override,
4435            'proxy_cluster_id': self.proxy_cluster_id,
4436            'region': self.region,
4437            'role_arn': self.role_arn,
4438            'role_external_id': self.role_external_id,
4439            'secret_store_id': self.secret_store_id,
4440            'subdomain': self.subdomain,
4441            'tags': self.tags,
4442        }
@classmethod
def from_dict(cls, d)
4444    @classmethod
4445    def from_dict(cls, d):
4446        return cls(
4447            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4448            bind_interface=d.get('bind_interface'),
4449            certificate_authority=d.get('certificate_authority'),
4450            cluster_name=d.get('cluster_name'),
4451            discovery_enabled=d.get('discovery_enabled'),
4452            discovery_username=d.get('discovery_username'),
4453            egress_filter=d.get('egress_filter'),
4454            endpoint=d.get('endpoint'),
4455            healthcheck_namespace=d.get('healthcheck_namespace'),
4456            healthy=d.get('healthy'),
4457            id=d.get('id'),
4458            identity_alias_healthcheck_username=d.get(
4459                'identity_alias_healthcheck_username'),
4460            identity_set_id=d.get('identity_set_id'),
4461            name=d.get('name'),
4462            port_override=d.get('port_override'),
4463            proxy_cluster_id=d.get('proxy_cluster_id'),
4464            region=d.get('region'),
4465            role_arn=d.get('role_arn'),
4466            role_external_id=d.get('role_external_id'),
4467            secret_store_id=d.get('secret_store_id'),
4468            subdomain=d.get('subdomain'),
4469            tags=d.get('tags'),
4470        )
class AmazonEKSInstanceProfileUserImpersonation:
4473class AmazonEKSInstanceProfileUserImpersonation:
4474    __slots__ = [
4475        'bind_interface',
4476        'certificate_authority',
4477        'cluster_name',
4478        'egress_filter',
4479        'endpoint',
4480        'healthcheck_namespace',
4481        'healthy',
4482        'id',
4483        'name',
4484        'port_override',
4485        'proxy_cluster_id',
4486        'region',
4487        'role_arn',
4488        'role_external_id',
4489        'secret_store_id',
4490        'subdomain',
4491        'tags',
4492    ]
4493
4494    def __init__(
4495        self,
4496        bind_interface=None,
4497        certificate_authority=None,
4498        cluster_name=None,
4499        egress_filter=None,
4500        endpoint=None,
4501        healthcheck_namespace=None,
4502        healthy=None,
4503        id=None,
4504        name=None,
4505        port_override=None,
4506        proxy_cluster_id=None,
4507        region=None,
4508        role_arn=None,
4509        role_external_id=None,
4510        secret_store_id=None,
4511        subdomain=None,
4512        tags=None,
4513    ):
4514        self.bind_interface = bind_interface if bind_interface is not None else ''
4515        '''
4516         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4517        '''
4518        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4519        '''
4520         The CA to authenticate TLS connections with.
4521        '''
4522        self.cluster_name = cluster_name if cluster_name is not None else ''
4523        '''
4524         The name of the cluster to connect to.
4525        '''
4526        self.egress_filter = egress_filter if egress_filter is not None else ''
4527        '''
4528         A filter applied to the routing logic to pin datasource to nodes.
4529        '''
4530        self.endpoint = endpoint if endpoint is not None else ''
4531        '''
4532         The endpoint to dial.
4533        '''
4534        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4535        '''
4536         The path used to check the health of your connection.  Defaults to `default`.
4537        '''
4538        self.healthy = healthy if healthy is not None else False
4539        '''
4540         True if the datasource is reachable and the credentials are valid.
4541        '''
4542        self.id = id if id is not None else ''
4543        '''
4544         Unique identifier of the Resource.
4545        '''
4546        self.name = name if name is not None else ''
4547        '''
4548         Unique human-readable name of the Resource.
4549        '''
4550        self.port_override = port_override if port_override is not None else 0
4551        '''
4552         The local port used by clients to connect to this resource.
4553        '''
4554        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4555        '''
4556         ID of the proxy cluster for this resource, if any.
4557        '''
4558        self.region = region if region is not None else ''
4559        '''
4560         The AWS region to connect to e.g. us-east-1.
4561        '''
4562        self.role_arn = role_arn if role_arn is not None else ''
4563        '''
4564         The role to assume after logging in.
4565        '''
4566        self.role_external_id = role_external_id if role_external_id is not None else ''
4567        '''
4568         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4569        '''
4570        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4571        '''
4572         ID of the secret store containing credentials for this resource, if any.
4573        '''
4574        self.subdomain = subdomain if subdomain is not None else ''
4575        '''
4576         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4577        '''
4578        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4579        '''
4580         Tags is a map of key, value pairs.
4581        '''
4582
4583    def __repr__(self):
4584        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
4585            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4586            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4587            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4588            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4589            'endpoint: ' + repr(self.endpoint) + ' ' +\
4590            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4591            'healthy: ' + repr(self.healthy) + ' ' +\
4592            'id: ' + repr(self.id) + ' ' +\
4593            'name: ' + repr(self.name) + ' ' +\
4594            'port_override: ' + repr(self.port_override) + ' ' +\
4595            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4596            'region: ' + repr(self.region) + ' ' +\
4597            'role_arn: ' + repr(self.role_arn) + ' ' +\
4598            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4599            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4600            'subdomain: ' + repr(self.subdomain) + ' ' +\
4601            'tags: ' + repr(self.tags) + ' ' +\
4602            '>'
4603
4604    def to_dict(self):
4605        return {
4606            'bind_interface': self.bind_interface,
4607            'certificate_authority': self.certificate_authority,
4608            'cluster_name': self.cluster_name,
4609            'egress_filter': self.egress_filter,
4610            'endpoint': self.endpoint,
4611            'healthcheck_namespace': self.healthcheck_namespace,
4612            'healthy': self.healthy,
4613            'id': self.id,
4614            'name': self.name,
4615            'port_override': self.port_override,
4616            'proxy_cluster_id': self.proxy_cluster_id,
4617            'region': self.region,
4618            'role_arn': self.role_arn,
4619            'role_external_id': self.role_external_id,
4620            'secret_store_id': self.secret_store_id,
4621            'subdomain': self.subdomain,
4622            'tags': self.tags,
4623        }
4624
4625    @classmethod
4626    def from_dict(cls, d):
4627        return cls(
4628            bind_interface=d.get('bind_interface'),
4629            certificate_authority=d.get('certificate_authority'),
4630            cluster_name=d.get('cluster_name'),
4631            egress_filter=d.get('egress_filter'),
4632            endpoint=d.get('endpoint'),
4633            healthcheck_namespace=d.get('healthcheck_namespace'),
4634            healthy=d.get('healthy'),
4635            id=d.get('id'),
4636            name=d.get('name'),
4637            port_override=d.get('port_override'),
4638            proxy_cluster_id=d.get('proxy_cluster_id'),
4639            region=d.get('region'),
4640            role_arn=d.get('role_arn'),
4641            role_external_id=d.get('role_external_id'),
4642            secret_store_id=d.get('secret_store_id'),
4643            subdomain=d.get('subdomain'),
4644            tags=d.get('tags'),
4645        )
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)
4494    def __init__(
4495        self,
4496        bind_interface=None,
4497        certificate_authority=None,
4498        cluster_name=None,
4499        egress_filter=None,
4500        endpoint=None,
4501        healthcheck_namespace=None,
4502        healthy=None,
4503        id=None,
4504        name=None,
4505        port_override=None,
4506        proxy_cluster_id=None,
4507        region=None,
4508        role_arn=None,
4509        role_external_id=None,
4510        secret_store_id=None,
4511        subdomain=None,
4512        tags=None,
4513    ):
4514        self.bind_interface = bind_interface if bind_interface is not None else ''
4515        '''
4516         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4517        '''
4518        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4519        '''
4520         The CA to authenticate TLS connections with.
4521        '''
4522        self.cluster_name = cluster_name if cluster_name is not None else ''
4523        '''
4524         The name of the cluster to connect to.
4525        '''
4526        self.egress_filter = egress_filter if egress_filter is not None else ''
4527        '''
4528         A filter applied to the routing logic to pin datasource to nodes.
4529        '''
4530        self.endpoint = endpoint if endpoint is not None else ''
4531        '''
4532         The endpoint to dial.
4533        '''
4534        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4535        '''
4536         The path used to check the health of your connection.  Defaults to `default`.
4537        '''
4538        self.healthy = healthy if healthy is not None else False
4539        '''
4540         True if the datasource is reachable and the credentials are valid.
4541        '''
4542        self.id = id if id is not None else ''
4543        '''
4544         Unique identifier of the Resource.
4545        '''
4546        self.name = name if name is not None else ''
4547        '''
4548         Unique human-readable name of the Resource.
4549        '''
4550        self.port_override = port_override if port_override is not None else 0
4551        '''
4552         The local port used by clients to connect to this resource.
4553        '''
4554        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4555        '''
4556         ID of the proxy cluster for this resource, if any.
4557        '''
4558        self.region = region if region is not None else ''
4559        '''
4560         The AWS region to connect to e.g. us-east-1.
4561        '''
4562        self.role_arn = role_arn if role_arn is not None else ''
4563        '''
4564         The role to assume after logging in.
4565        '''
4566        self.role_external_id = role_external_id if role_external_id is not None else ''
4567        '''
4568         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4569        '''
4570        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4571        '''
4572         ID of the secret store containing credentials for this resource, if any.
4573        '''
4574        self.subdomain = subdomain if subdomain is not None else ''
4575        '''
4576         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4577        '''
4578        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4579        '''
4580         Tags is a map of key, value pairs.
4581        '''
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.

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.

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

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.

def to_dict(self)
4604    def to_dict(self):
4605        return {
4606            'bind_interface': self.bind_interface,
4607            'certificate_authority': self.certificate_authority,
4608            'cluster_name': self.cluster_name,
4609            'egress_filter': self.egress_filter,
4610            'endpoint': self.endpoint,
4611            'healthcheck_namespace': self.healthcheck_namespace,
4612            'healthy': self.healthy,
4613            'id': self.id,
4614            'name': self.name,
4615            'port_override': self.port_override,
4616            'proxy_cluster_id': self.proxy_cluster_id,
4617            'region': self.region,
4618            'role_arn': self.role_arn,
4619            'role_external_id': self.role_external_id,
4620            'secret_store_id': self.secret_store_id,
4621            'subdomain': self.subdomain,
4622            'tags': self.tags,
4623        }
@classmethod
def from_dict(cls, d)
4625    @classmethod
4626    def from_dict(cls, d):
4627        return cls(
4628            bind_interface=d.get('bind_interface'),
4629            certificate_authority=d.get('certificate_authority'),
4630            cluster_name=d.get('cluster_name'),
4631            egress_filter=d.get('egress_filter'),
4632            endpoint=d.get('endpoint'),
4633            healthcheck_namespace=d.get('healthcheck_namespace'),
4634            healthy=d.get('healthy'),
4635            id=d.get('id'),
4636            name=d.get('name'),
4637            port_override=d.get('port_override'),
4638            proxy_cluster_id=d.get('proxy_cluster_id'),
4639            region=d.get('region'),
4640            role_arn=d.get('role_arn'),
4641            role_external_id=d.get('role_external_id'),
4642            secret_store_id=d.get('secret_store_id'),
4643            subdomain=d.get('subdomain'),
4644            tags=d.get('tags'),
4645        )
class AmazonEKSUserImpersonation:
4648class AmazonEKSUserImpersonation:
4649    __slots__ = [
4650        'access_key',
4651        'bind_interface',
4652        'certificate_authority',
4653        'cluster_name',
4654        'egress_filter',
4655        'endpoint',
4656        'healthcheck_namespace',
4657        'healthy',
4658        'id',
4659        'name',
4660        'port_override',
4661        'proxy_cluster_id',
4662        'region',
4663        'role_arn',
4664        'role_external_id',
4665        'secret_access_key',
4666        'secret_store_id',
4667        'subdomain',
4668        'tags',
4669    ]
4670
4671    def __init__(
4672        self,
4673        access_key=None,
4674        bind_interface=None,
4675        certificate_authority=None,
4676        cluster_name=None,
4677        egress_filter=None,
4678        endpoint=None,
4679        healthcheck_namespace=None,
4680        healthy=None,
4681        id=None,
4682        name=None,
4683        port_override=None,
4684        proxy_cluster_id=None,
4685        region=None,
4686        role_arn=None,
4687        role_external_id=None,
4688        secret_access_key=None,
4689        secret_store_id=None,
4690        subdomain=None,
4691        tags=None,
4692    ):
4693        self.access_key = access_key if access_key is not None else ''
4694        '''
4695         The Access Key ID to use to authenticate.
4696        '''
4697        self.bind_interface = bind_interface if bind_interface is not None else ''
4698        '''
4699         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4700        '''
4701        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4702        '''
4703         The CA to authenticate TLS connections with.
4704        '''
4705        self.cluster_name = cluster_name if cluster_name is not None else ''
4706        '''
4707         The name of the cluster to connect to.
4708        '''
4709        self.egress_filter = egress_filter if egress_filter is not None else ''
4710        '''
4711         A filter applied to the routing logic to pin datasource to nodes.
4712        '''
4713        self.endpoint = endpoint if endpoint is not None else ''
4714        '''
4715         The endpoint to dial.
4716        '''
4717        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4718        '''
4719         The path used to check the health of your connection.  Defaults to `default`.
4720        '''
4721        self.healthy = healthy if healthy is not None else False
4722        '''
4723         True if the datasource is reachable and the credentials are valid.
4724        '''
4725        self.id = id if id is not None else ''
4726        '''
4727         Unique identifier of the Resource.
4728        '''
4729        self.name = name if name is not None else ''
4730        '''
4731         Unique human-readable name of the Resource.
4732        '''
4733        self.port_override = port_override if port_override is not None else 0
4734        '''
4735         The local port used by clients to connect to this resource.
4736        '''
4737        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4738        '''
4739         ID of the proxy cluster for this resource, if any.
4740        '''
4741        self.region = region if region is not None else ''
4742        '''
4743         The AWS region to connect to e.g. us-east-1.
4744        '''
4745        self.role_arn = role_arn if role_arn is not None else ''
4746        '''
4747         The role to assume after logging in.
4748        '''
4749        self.role_external_id = role_external_id if role_external_id is not None else ''
4750        '''
4751         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4752        '''
4753        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4754        '''
4755         The Secret Access Key to use to authenticate.
4756        '''
4757        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4758        '''
4759         ID of the secret store containing credentials for this resource, if any.
4760        '''
4761        self.subdomain = subdomain if subdomain is not None else ''
4762        '''
4763         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4764        '''
4765        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4766        '''
4767         Tags is a map of key, value pairs.
4768        '''
4769
4770    def __repr__(self):
4771        return '<sdm.AmazonEKSUserImpersonation ' + \
4772            'access_key: ' + repr(self.access_key) + ' ' +\
4773            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4774            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4775            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4776            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4777            'endpoint: ' + repr(self.endpoint) + ' ' +\
4778            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4779            'healthy: ' + repr(self.healthy) + ' ' +\
4780            'id: ' + repr(self.id) + ' ' +\
4781            'name: ' + repr(self.name) + ' ' +\
4782            'port_override: ' + repr(self.port_override) + ' ' +\
4783            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4784            'region: ' + repr(self.region) + ' ' +\
4785            'role_arn: ' + repr(self.role_arn) + ' ' +\
4786            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4787            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4788            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4789            'subdomain: ' + repr(self.subdomain) + ' ' +\
4790            'tags: ' + repr(self.tags) + ' ' +\
4791            '>'
4792
4793    def to_dict(self):
4794        return {
4795            'access_key': self.access_key,
4796            'bind_interface': self.bind_interface,
4797            'certificate_authority': self.certificate_authority,
4798            'cluster_name': self.cluster_name,
4799            'egress_filter': self.egress_filter,
4800            'endpoint': self.endpoint,
4801            'healthcheck_namespace': self.healthcheck_namespace,
4802            'healthy': self.healthy,
4803            'id': self.id,
4804            'name': self.name,
4805            'port_override': self.port_override,
4806            'proxy_cluster_id': self.proxy_cluster_id,
4807            'region': self.region,
4808            'role_arn': self.role_arn,
4809            'role_external_id': self.role_external_id,
4810            'secret_access_key': self.secret_access_key,
4811            'secret_store_id': self.secret_store_id,
4812            'subdomain': self.subdomain,
4813            'tags': self.tags,
4814        }
4815
4816    @classmethod
4817    def from_dict(cls, d):
4818        return cls(
4819            access_key=d.get('access_key'),
4820            bind_interface=d.get('bind_interface'),
4821            certificate_authority=d.get('certificate_authority'),
4822            cluster_name=d.get('cluster_name'),
4823            egress_filter=d.get('egress_filter'),
4824            endpoint=d.get('endpoint'),
4825            healthcheck_namespace=d.get('healthcheck_namespace'),
4826            healthy=d.get('healthy'),
4827            id=d.get('id'),
4828            name=d.get('name'),
4829            port_override=d.get('port_override'),
4830            proxy_cluster_id=d.get('proxy_cluster_id'),
4831            region=d.get('region'),
4832            role_arn=d.get('role_arn'),
4833            role_external_id=d.get('role_external_id'),
4834            secret_access_key=d.get('secret_access_key'),
4835            secret_store_id=d.get('secret_store_id'),
4836            subdomain=d.get('subdomain'),
4837            tags=d.get('tags'),
4838        )
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)
4671    def __init__(
4672        self,
4673        access_key=None,
4674        bind_interface=None,
4675        certificate_authority=None,
4676        cluster_name=None,
4677        egress_filter=None,
4678        endpoint=None,
4679        healthcheck_namespace=None,
4680        healthy=None,
4681        id=None,
4682        name=None,
4683        port_override=None,
4684        proxy_cluster_id=None,
4685        region=None,
4686        role_arn=None,
4687        role_external_id=None,
4688        secret_access_key=None,
4689        secret_store_id=None,
4690        subdomain=None,
4691        tags=None,
4692    ):
4693        self.access_key = access_key if access_key is not None else ''
4694        '''
4695         The Access Key ID to use to authenticate.
4696        '''
4697        self.bind_interface = bind_interface if bind_interface is not None else ''
4698        '''
4699         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4700        '''
4701        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4702        '''
4703         The CA to authenticate TLS connections with.
4704        '''
4705        self.cluster_name = cluster_name if cluster_name is not None else ''
4706        '''
4707         The name of the cluster to connect to.
4708        '''
4709        self.egress_filter = egress_filter if egress_filter is not None else ''
4710        '''
4711         A filter applied to the routing logic to pin datasource to nodes.
4712        '''
4713        self.endpoint = endpoint if endpoint is not None else ''
4714        '''
4715         The endpoint to dial.
4716        '''
4717        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4718        '''
4719         The path used to check the health of your connection.  Defaults to `default`.
4720        '''
4721        self.healthy = healthy if healthy is not None else False
4722        '''
4723         True if the datasource is reachable and the credentials are valid.
4724        '''
4725        self.id = id if id is not None else ''
4726        '''
4727         Unique identifier of the Resource.
4728        '''
4729        self.name = name if name is not None else ''
4730        '''
4731         Unique human-readable name of the Resource.
4732        '''
4733        self.port_override = port_override if port_override is not None else 0
4734        '''
4735         The local port used by clients to connect to this resource.
4736        '''
4737        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4738        '''
4739         ID of the proxy cluster for this resource, if any.
4740        '''
4741        self.region = region if region is not None else ''
4742        '''
4743         The AWS region to connect to e.g. us-east-1.
4744        '''
4745        self.role_arn = role_arn if role_arn is not None else ''
4746        '''
4747         The role to assume after logging in.
4748        '''
4749        self.role_external_id = role_external_id if role_external_id is not None else ''
4750        '''
4751         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4752        '''
4753        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4754        '''
4755         The Secret Access Key to use to authenticate.
4756        '''
4757        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4758        '''
4759         ID of the secret store containing credentials for this resource, if any.
4760        '''
4761        self.subdomain = subdomain if subdomain is not None else ''
4762        '''
4763         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4764        '''
4765        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4766        '''
4767         Tags is a map of key, value pairs.
4768        '''
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.

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.

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

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.

def to_dict(self)
4793    def to_dict(self):
4794        return {
4795            'access_key': self.access_key,
4796            'bind_interface': self.bind_interface,
4797            'certificate_authority': self.certificate_authority,
4798            'cluster_name': self.cluster_name,
4799            'egress_filter': self.egress_filter,
4800            'endpoint': self.endpoint,
4801            'healthcheck_namespace': self.healthcheck_namespace,
4802            'healthy': self.healthy,
4803            'id': self.id,
4804            'name': self.name,
4805            'port_override': self.port_override,
4806            'proxy_cluster_id': self.proxy_cluster_id,
4807            'region': self.region,
4808            'role_arn': self.role_arn,
4809            'role_external_id': self.role_external_id,
4810            'secret_access_key': self.secret_access_key,
4811            'secret_store_id': self.secret_store_id,
4812            'subdomain': self.subdomain,
4813            'tags': self.tags,
4814        }
@classmethod
def from_dict(cls, d)
4816    @classmethod
4817    def from_dict(cls, d):
4818        return cls(
4819            access_key=d.get('access_key'),
4820            bind_interface=d.get('bind_interface'),
4821            certificate_authority=d.get('certificate_authority'),
4822            cluster_name=d.get('cluster_name'),
4823            egress_filter=d.get('egress_filter'),
4824            endpoint=d.get('endpoint'),
4825            healthcheck_namespace=d.get('healthcheck_namespace'),
4826            healthy=d.get('healthy'),
4827            id=d.get('id'),
4828            name=d.get('name'),
4829            port_override=d.get('port_override'),
4830            proxy_cluster_id=d.get('proxy_cluster_id'),
4831            region=d.get('region'),
4832            role_arn=d.get('role_arn'),
4833            role_external_id=d.get('role_external_id'),
4834            secret_access_key=d.get('secret_access_key'),
4835            secret_store_id=d.get('secret_store_id'),
4836            subdomain=d.get('subdomain'),
4837            tags=d.get('tags'),
4838        )
class AmazonES:
4841class AmazonES:
4842    __slots__ = [
4843        'access_key',
4844        'bind_interface',
4845        'egress_filter',
4846        'endpoint',
4847        'healthy',
4848        'id',
4849        'name',
4850        'port_override',
4851        'proxy_cluster_id',
4852        'region',
4853        'role_arn',
4854        'role_external_id',
4855        'secret_access_key',
4856        'secret_store_id',
4857        'subdomain',
4858        'tags',
4859    ]
4860
4861    def __init__(
4862        self,
4863        access_key=None,
4864        bind_interface=None,
4865        egress_filter=None,
4866        endpoint=None,
4867        healthy=None,
4868        id=None,
4869        name=None,
4870        port_override=None,
4871        proxy_cluster_id=None,
4872        region=None,
4873        role_arn=None,
4874        role_external_id=None,
4875        secret_access_key=None,
4876        secret_store_id=None,
4877        subdomain=None,
4878        tags=None,
4879    ):
4880        self.access_key = access_key if access_key is not None else ''
4881        '''
4882         The Access Key ID to use to authenticate.
4883        '''
4884        self.bind_interface = bind_interface if bind_interface is not None else ''
4885        '''
4886         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4887        '''
4888        self.egress_filter = egress_filter if egress_filter is not None else ''
4889        '''
4890         A filter applied to the routing logic to pin datasource to nodes.
4891        '''
4892        self.endpoint = endpoint if endpoint is not None else ''
4893        '''
4894         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4895        '''
4896        self.healthy = healthy if healthy is not None else False
4897        '''
4898         True if the datasource is reachable and the credentials are valid.
4899        '''
4900        self.id = id if id is not None else ''
4901        '''
4902         Unique identifier of the Resource.
4903        '''
4904        self.name = name if name is not None else ''
4905        '''
4906         Unique human-readable name of the Resource.
4907        '''
4908        self.port_override = port_override if port_override is not None else 0
4909        '''
4910         The local port used by clients to connect to this resource.
4911        '''
4912        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4913        '''
4914         ID of the proxy cluster for this resource, if any.
4915        '''
4916        self.region = region if region is not None else ''
4917        '''
4918         The AWS region to connect to e.g. us-east-1.
4919        '''
4920        self.role_arn = role_arn if role_arn is not None else ''
4921        '''
4922         The role to assume after logging in.
4923        '''
4924        self.role_external_id = role_external_id if role_external_id is not None else ''
4925        '''
4926         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4927        '''
4928        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4929        '''
4930         The Secret Access Key to use to authenticate.
4931        '''
4932        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4933        '''
4934         ID of the secret store containing credentials for this resource, if any.
4935        '''
4936        self.subdomain = subdomain if subdomain is not None else ''
4937        '''
4938         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4939        '''
4940        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4941        '''
4942         Tags is a map of key, value pairs.
4943        '''
4944
4945    def __repr__(self):
4946        return '<sdm.AmazonES ' + \
4947            'access_key: ' + repr(self.access_key) + ' ' +\
4948            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4949            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4950            'endpoint: ' + repr(self.endpoint) + ' ' +\
4951            'healthy: ' + repr(self.healthy) + ' ' +\
4952            'id: ' + repr(self.id) + ' ' +\
4953            'name: ' + repr(self.name) + ' ' +\
4954            'port_override: ' + repr(self.port_override) + ' ' +\
4955            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4956            'region: ' + repr(self.region) + ' ' +\
4957            'role_arn: ' + repr(self.role_arn) + ' ' +\
4958            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4959            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4960            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4961            'subdomain: ' + repr(self.subdomain) + ' ' +\
4962            'tags: ' + repr(self.tags) + ' ' +\
4963            '>'
4964
4965    def to_dict(self):
4966        return {
4967            'access_key': self.access_key,
4968            'bind_interface': self.bind_interface,
4969            'egress_filter': self.egress_filter,
4970            'endpoint': self.endpoint,
4971            'healthy': self.healthy,
4972            'id': self.id,
4973            'name': self.name,
4974            'port_override': self.port_override,
4975            'proxy_cluster_id': self.proxy_cluster_id,
4976            'region': self.region,
4977            'role_arn': self.role_arn,
4978            'role_external_id': self.role_external_id,
4979            'secret_access_key': self.secret_access_key,
4980            'secret_store_id': self.secret_store_id,
4981            'subdomain': self.subdomain,
4982            'tags': self.tags,
4983        }
4984
4985    @classmethod
4986    def from_dict(cls, d):
4987        return cls(
4988            access_key=d.get('access_key'),
4989            bind_interface=d.get('bind_interface'),
4990            egress_filter=d.get('egress_filter'),
4991            endpoint=d.get('endpoint'),
4992            healthy=d.get('healthy'),
4993            id=d.get('id'),
4994            name=d.get('name'),
4995            port_override=d.get('port_override'),
4996            proxy_cluster_id=d.get('proxy_cluster_id'),
4997            region=d.get('region'),
4998            role_arn=d.get('role_arn'),
4999            role_external_id=d.get('role_external_id'),
5000            secret_access_key=d.get('secret_access_key'),
5001            secret_store_id=d.get('secret_store_id'),
5002            subdomain=d.get('subdomain'),
5003            tags=d.get('tags'),
5004        )
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)
4861    def __init__(
4862        self,
4863        access_key=None,
4864        bind_interface=None,
4865        egress_filter=None,
4866        endpoint=None,
4867        healthy=None,
4868        id=None,
4869        name=None,
4870        port_override=None,
4871        proxy_cluster_id=None,
4872        region=None,
4873        role_arn=None,
4874        role_external_id=None,
4875        secret_access_key=None,
4876        secret_store_id=None,
4877        subdomain=None,
4878        tags=None,
4879    ):
4880        self.access_key = access_key if access_key is not None else ''
4881        '''
4882         The Access Key ID to use to authenticate.
4883        '''
4884        self.bind_interface = bind_interface if bind_interface is not None else ''
4885        '''
4886         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4887        '''
4888        self.egress_filter = egress_filter if egress_filter is not None else ''
4889        '''
4890         A filter applied to the routing logic to pin datasource to nodes.
4891        '''
4892        self.endpoint = endpoint if endpoint is not None else ''
4893        '''
4894         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4895        '''
4896        self.healthy = healthy if healthy is not None else False
4897        '''
4898         True if the datasource is reachable and the credentials are valid.
4899        '''
4900        self.id = id if id is not None else ''
4901        '''
4902         Unique identifier of the Resource.
4903        '''
4904        self.name = name if name is not None else ''
4905        '''
4906         Unique human-readable name of the Resource.
4907        '''
4908        self.port_override = port_override if port_override is not None else 0
4909        '''
4910         The local port used by clients to connect to this resource.
4911        '''
4912        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4913        '''
4914         ID of the proxy cluster for this resource, if any.
4915        '''
4916        self.region = region if region is not None else ''
4917        '''
4918         The AWS region to connect to e.g. us-east-1.
4919        '''
4920        self.role_arn = role_arn if role_arn is not None else ''
4921        '''
4922         The role to assume after logging in.
4923        '''
4924        self.role_external_id = role_external_id if role_external_id is not None else ''
4925        '''
4926         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4927        '''
4928        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4929        '''
4930         The Secret Access Key to use to authenticate.
4931        '''
4932        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4933        '''
4934         ID of the secret store containing credentials for this resource, if any.
4935        '''
4936        self.subdomain = subdomain if subdomain is not None else ''
4937        '''
4938         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4939        '''
4940        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4941        '''
4942         Tags is a map of key, value pairs.
4943        '''
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.

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.

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

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.

def to_dict(self)
4965    def to_dict(self):
4966        return {
4967            'access_key': self.access_key,
4968            'bind_interface': self.bind_interface,
4969            'egress_filter': self.egress_filter,
4970            'endpoint': self.endpoint,
4971            'healthy': self.healthy,
4972            'id': self.id,
4973            'name': self.name,
4974            'port_override': self.port_override,
4975            'proxy_cluster_id': self.proxy_cluster_id,
4976            'region': self.region,
4977            'role_arn': self.role_arn,
4978            'role_external_id': self.role_external_id,
4979            'secret_access_key': self.secret_access_key,
4980            'secret_store_id': self.secret_store_id,
4981            'subdomain': self.subdomain,
4982            'tags': self.tags,
4983        }
@classmethod
def from_dict(cls, d)
4985    @classmethod
4986    def from_dict(cls, d):
4987        return cls(
4988            access_key=d.get('access_key'),
4989            bind_interface=d.get('bind_interface'),
4990            egress_filter=d.get('egress_filter'),
4991            endpoint=d.get('endpoint'),
4992            healthy=d.get('healthy'),
4993            id=d.get('id'),
4994            name=d.get('name'),
4995            port_override=d.get('port_override'),
4996            proxy_cluster_id=d.get('proxy_cluster_id'),
4997            region=d.get('region'),
4998            role_arn=d.get('role_arn'),
4999            role_external_id=d.get('role_external_id'),
5000            secret_access_key=d.get('secret_access_key'),
5001            secret_store_id=d.get('secret_store_id'),
5002            subdomain=d.get('subdomain'),
5003            tags=d.get('tags'),
5004        )
class AmazonESIAM:
5007class AmazonESIAM:
5008    __slots__ = [
5009        'bind_interface',
5010        'egress_filter',
5011        'endpoint',
5012        'healthy',
5013        'id',
5014        'name',
5015        'port_override',
5016        'proxy_cluster_id',
5017        'region',
5018        'role_arn',
5019        'role_external_id',
5020        'secret_store_id',
5021        'subdomain',
5022        'tags',
5023        'tlsrequired',
5024    ]
5025
5026    def __init__(
5027        self,
5028        bind_interface=None,
5029        egress_filter=None,
5030        endpoint=None,
5031        healthy=None,
5032        id=None,
5033        name=None,
5034        port_override=None,
5035        proxy_cluster_id=None,
5036        region=None,
5037        role_arn=None,
5038        role_external_id=None,
5039        secret_store_id=None,
5040        subdomain=None,
5041        tags=None,
5042        tlsrequired=None,
5043    ):
5044        self.bind_interface = bind_interface if bind_interface is not None else ''
5045        '''
5046         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5047        '''
5048        self.egress_filter = egress_filter if egress_filter is not None else ''
5049        '''
5050         A filter applied to the routing logic to pin datasource to nodes.
5051        '''
5052        self.endpoint = endpoint if endpoint is not None else ''
5053        '''
5054         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5055        '''
5056        self.healthy = healthy if healthy is not None else False
5057        '''
5058         True if the datasource is reachable and the credentials are valid.
5059        '''
5060        self.id = id if id is not None else ''
5061        '''
5062         Unique identifier of the Resource.
5063        '''
5064        self.name = name if name is not None else ''
5065        '''
5066         Unique human-readable name of the Resource.
5067        '''
5068        self.port_override = port_override if port_override is not None else 0
5069        '''
5070         The local port used by clients to connect to this resource.
5071        '''
5072        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5073        '''
5074         ID of the proxy cluster for this resource, if any.
5075        '''
5076        self.region = region if region is not None else ''
5077        '''
5078         The AWS region to connect to.
5079        '''
5080        self.role_arn = role_arn if role_arn is not None else ''
5081        '''
5082         The role to assume after logging in.
5083        '''
5084        self.role_external_id = role_external_id if role_external_id is not None else ''
5085        '''
5086         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5087        '''
5088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5089        '''
5090         ID of the secret store containing credentials for this resource, if any.
5091        '''
5092        self.subdomain = subdomain if subdomain is not None else ''
5093        '''
5094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5095        '''
5096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5097        '''
5098         Tags is a map of key, value pairs.
5099        '''
5100        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5101        '''
5102         Use TLS to connect to the OpenSearch server
5103        '''
5104
5105    def __repr__(self):
5106        return '<sdm.AmazonESIAM ' + \
5107            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5108            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5109            'endpoint: ' + repr(self.endpoint) + ' ' +\
5110            'healthy: ' + repr(self.healthy) + ' ' +\
5111            'id: ' + repr(self.id) + ' ' +\
5112            'name: ' + repr(self.name) + ' ' +\
5113            'port_override: ' + repr(self.port_override) + ' ' +\
5114            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5115            'region: ' + repr(self.region) + ' ' +\
5116            'role_arn: ' + repr(self.role_arn) + ' ' +\
5117            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5118            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5119            'subdomain: ' + repr(self.subdomain) + ' ' +\
5120            'tags: ' + repr(self.tags) + ' ' +\
5121            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
5122            '>'
5123
5124    def to_dict(self):
5125        return {
5126            'bind_interface': self.bind_interface,
5127            'egress_filter': self.egress_filter,
5128            'endpoint': self.endpoint,
5129            'healthy': self.healthy,
5130            'id': self.id,
5131            'name': self.name,
5132            'port_override': self.port_override,
5133            'proxy_cluster_id': self.proxy_cluster_id,
5134            'region': self.region,
5135            'role_arn': self.role_arn,
5136            'role_external_id': self.role_external_id,
5137            'secret_store_id': self.secret_store_id,
5138            'subdomain': self.subdomain,
5139            'tags': self.tags,
5140            'tlsrequired': self.tlsrequired,
5141        }
5142
5143    @classmethod
5144    def from_dict(cls, d):
5145        return cls(
5146            bind_interface=d.get('bind_interface'),
5147            egress_filter=d.get('egress_filter'),
5148            endpoint=d.get('endpoint'),
5149            healthy=d.get('healthy'),
5150            id=d.get('id'),
5151            name=d.get('name'),
5152            port_override=d.get('port_override'),
5153            proxy_cluster_id=d.get('proxy_cluster_id'),
5154            region=d.get('region'),
5155            role_arn=d.get('role_arn'),
5156            role_external_id=d.get('role_external_id'),
5157            secret_store_id=d.get('secret_store_id'),
5158            subdomain=d.get('subdomain'),
5159            tags=d.get('tags'),
5160            tlsrequired=d.get('tlsrequired'),
5161        )
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)
5026    def __init__(
5027        self,
5028        bind_interface=None,
5029        egress_filter=None,
5030        endpoint=None,
5031        healthy=None,
5032        id=None,
5033        name=None,
5034        port_override=None,
5035        proxy_cluster_id=None,
5036        region=None,
5037        role_arn=None,
5038        role_external_id=None,
5039        secret_store_id=None,
5040        subdomain=None,
5041        tags=None,
5042        tlsrequired=None,
5043    ):
5044        self.bind_interface = bind_interface if bind_interface is not None else ''
5045        '''
5046         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5047        '''
5048        self.egress_filter = egress_filter if egress_filter is not None else ''
5049        '''
5050         A filter applied to the routing logic to pin datasource to nodes.
5051        '''
5052        self.endpoint = endpoint if endpoint is not None else ''
5053        '''
5054         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5055        '''
5056        self.healthy = healthy if healthy is not None else False
5057        '''
5058         True if the datasource is reachable and the credentials are valid.
5059        '''
5060        self.id = id if id is not None else ''
5061        '''
5062         Unique identifier of the Resource.
5063        '''
5064        self.name = name if name is not None else ''
5065        '''
5066         Unique human-readable name of the Resource.
5067        '''
5068        self.port_override = port_override if port_override is not None else 0
5069        '''
5070         The local port used by clients to connect to this resource.
5071        '''
5072        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5073        '''
5074         ID of the proxy cluster for this resource, if any.
5075        '''
5076        self.region = region if region is not None else ''
5077        '''
5078         The AWS region to connect to.
5079        '''
5080        self.role_arn = role_arn if role_arn is not None else ''
5081        '''
5082         The role to assume after logging in.
5083        '''
5084        self.role_external_id = role_external_id if role_external_id is not None else ''
5085        '''
5086         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5087        '''
5088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5089        '''
5090         ID of the secret store containing credentials for this resource, if any.
5091        '''
5092        self.subdomain = subdomain if subdomain is not None else ''
5093        '''
5094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5095        '''
5096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5097        '''
5098         Tags is a map of key, value pairs.
5099        '''
5100        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5101        '''
5102         Use TLS to connect to the OpenSearch server
5103        '''
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.

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.

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

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.

tlsrequired

Use TLS to connect to the OpenSearch server

def to_dict(self)
5124    def to_dict(self):
5125        return {
5126            'bind_interface': self.bind_interface,
5127            'egress_filter': self.egress_filter,
5128            'endpoint': self.endpoint,
5129            'healthy': self.healthy,
5130            'id': self.id,
5131            'name': self.name,
5132            'port_override': self.port_override,
5133            'proxy_cluster_id': self.proxy_cluster_id,
5134            'region': self.region,
5135            'role_arn': self.role_arn,
5136            'role_external_id': self.role_external_id,
5137            'secret_store_id': self.secret_store_id,
5138            'subdomain': self.subdomain,
5139            'tags': self.tags,
5140            'tlsrequired': self.tlsrequired,
5141        }
@classmethod
def from_dict(cls, d)
5143    @classmethod
5144    def from_dict(cls, d):
5145        return cls(
5146            bind_interface=d.get('bind_interface'),
5147            egress_filter=d.get('egress_filter'),
5148            endpoint=d.get('endpoint'),
5149            healthy=d.get('healthy'),
5150            id=d.get('id'),
5151            name=d.get('name'),
5152            port_override=d.get('port_override'),
5153            proxy_cluster_id=d.get('proxy_cluster_id'),
5154            region=d.get('region'),
5155            role_arn=d.get('role_arn'),
5156            role_external_id=d.get('role_external_id'),
5157            secret_store_id=d.get('secret_store_id'),
5158            subdomain=d.get('subdomain'),
5159            tags=d.get('tags'),
5160            tlsrequired=d.get('tlsrequired'),
5161        )
class AmazonMQAMQP091:
5164class AmazonMQAMQP091:
5165    __slots__ = [
5166        'bind_interface',
5167        'egress_filter',
5168        'healthy',
5169        'hostname',
5170        'id',
5171        'name',
5172        'password',
5173        'port',
5174        'port_override',
5175        'proxy_cluster_id',
5176        'secret_store_id',
5177        'subdomain',
5178        'tags',
5179        'tls_required',
5180        'username',
5181    ]
5182
5183    def __init__(
5184        self,
5185        bind_interface=None,
5186        egress_filter=None,
5187        healthy=None,
5188        hostname=None,
5189        id=None,
5190        name=None,
5191        password=None,
5192        port=None,
5193        port_override=None,
5194        proxy_cluster_id=None,
5195        secret_store_id=None,
5196        subdomain=None,
5197        tags=None,
5198        tls_required=None,
5199        username=None,
5200    ):
5201        self.bind_interface = bind_interface if bind_interface is not None else ''
5202        '''
5203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5204        '''
5205        self.egress_filter = egress_filter if egress_filter is not None else ''
5206        '''
5207         A filter applied to the routing logic to pin datasource to nodes.
5208        '''
5209        self.healthy = healthy if healthy is not None else False
5210        '''
5211         True if the datasource is reachable and the credentials are valid.
5212        '''
5213        self.hostname = hostname if hostname is not None else ''
5214        '''
5215         The host to dial to initiate a connection from the egress node to this resource.
5216        '''
5217        self.id = id if id is not None else ''
5218        '''
5219         Unique identifier of the Resource.
5220        '''
5221        self.name = name if name is not None else ''
5222        '''
5223         Unique human-readable name of the Resource.
5224        '''
5225        self.password = password if password is not None else ''
5226        '''
5227         The password to authenticate with.
5228        '''
5229        self.port = port if port is not None else 0
5230        '''
5231         The port to dial to initiate a connection from the egress node to this resource.
5232        '''
5233        self.port_override = port_override if port_override is not None else 0
5234        '''
5235         The local port used by clients to connect to this resource.
5236        '''
5237        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5238        '''
5239         ID of the proxy cluster for this resource, if any.
5240        '''
5241        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5242        '''
5243         ID of the secret store containing credentials for this resource, if any.
5244        '''
5245        self.subdomain = subdomain if subdomain is not None else ''
5246        '''
5247         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5248        '''
5249        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5250        '''
5251         Tags is a map of key, value pairs.
5252        '''
5253        self.tls_required = tls_required if tls_required is not None else False
5254        '''
5255         If set, TLS must be used to connect to this resource.
5256        '''
5257        self.username = username if username is not None else ''
5258        '''
5259         The username to authenticate with.
5260        '''
5261
5262    def __repr__(self):
5263        return '<sdm.AmazonMQAMQP091 ' + \
5264            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5265            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5266            'healthy: ' + repr(self.healthy) + ' ' +\
5267            'hostname: ' + repr(self.hostname) + ' ' +\
5268            'id: ' + repr(self.id) + ' ' +\
5269            'name: ' + repr(self.name) + ' ' +\
5270            'password: ' + repr(self.password) + ' ' +\
5271            'port: ' + repr(self.port) + ' ' +\
5272            'port_override: ' + repr(self.port_override) + ' ' +\
5273            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5274            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5275            'subdomain: ' + repr(self.subdomain) + ' ' +\
5276            'tags: ' + repr(self.tags) + ' ' +\
5277            'tls_required: ' + repr(self.tls_required) + ' ' +\
5278            'username: ' + repr(self.username) + ' ' +\
5279            '>'
5280
5281    def to_dict(self):
5282        return {
5283            'bind_interface': self.bind_interface,
5284            'egress_filter': self.egress_filter,
5285            'healthy': self.healthy,
5286            'hostname': self.hostname,
5287            'id': self.id,
5288            'name': self.name,
5289            'password': self.password,
5290            'port': self.port,
5291            'port_override': self.port_override,
5292            'proxy_cluster_id': self.proxy_cluster_id,
5293            'secret_store_id': self.secret_store_id,
5294            'subdomain': self.subdomain,
5295            'tags': self.tags,
5296            'tls_required': self.tls_required,
5297            'username': self.username,
5298        }
5299
5300    @classmethod
5301    def from_dict(cls, d):
5302        return cls(
5303            bind_interface=d.get('bind_interface'),
5304            egress_filter=d.get('egress_filter'),
5305            healthy=d.get('healthy'),
5306            hostname=d.get('hostname'),
5307            id=d.get('id'),
5308            name=d.get('name'),
5309            password=d.get('password'),
5310            port=d.get('port'),
5311            port_override=d.get('port_override'),
5312            proxy_cluster_id=d.get('proxy_cluster_id'),
5313            secret_store_id=d.get('secret_store_id'),
5314            subdomain=d.get('subdomain'),
5315            tags=d.get('tags'),
5316            tls_required=d.get('tls_required'),
5317            username=d.get('username'),
5318        )
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)
5183    def __init__(
5184        self,
5185        bind_interface=None,
5186        egress_filter=None,
5187        healthy=None,
5188        hostname=None,
5189        id=None,
5190        name=None,
5191        password=None,
5192        port=None,
5193        port_override=None,
5194        proxy_cluster_id=None,
5195        secret_store_id=None,
5196        subdomain=None,
5197        tags=None,
5198        tls_required=None,
5199        username=None,
5200    ):
5201        self.bind_interface = bind_interface if bind_interface is not None else ''
5202        '''
5203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5204        '''
5205        self.egress_filter = egress_filter if egress_filter is not None else ''
5206        '''
5207         A filter applied to the routing logic to pin datasource to nodes.
5208        '''
5209        self.healthy = healthy if healthy is not None else False
5210        '''
5211         True if the datasource is reachable and the credentials are valid.
5212        '''
5213        self.hostname = hostname if hostname is not None else ''
5214        '''
5215         The host to dial to initiate a connection from the egress node to this resource.
5216        '''
5217        self.id = id if id is not None else ''
5218        '''
5219         Unique identifier of the Resource.
5220        '''
5221        self.name = name if name is not None else ''
5222        '''
5223         Unique human-readable name of the Resource.
5224        '''
5225        self.password = password if password is not None else ''
5226        '''
5227         The password to authenticate with.
5228        '''
5229        self.port = port if port is not None else 0
5230        '''
5231         The port to dial to initiate a connection from the egress node to this resource.
5232        '''
5233        self.port_override = port_override if port_override is not None else 0
5234        '''
5235         The local port used by clients to connect to this resource.
5236        '''
5237        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5238        '''
5239         ID of the proxy cluster for this resource, if any.
5240        '''
5241        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5242        '''
5243         ID of the secret store containing credentials for this resource, if any.
5244        '''
5245        self.subdomain = subdomain if subdomain is not None else ''
5246        '''
5247         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5248        '''
5249        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5250        '''
5251         Tags is a map of key, value pairs.
5252        '''
5253        self.tls_required = tls_required if tls_required is not None else False
5254        '''
5255         If set, TLS must be used to connect to this resource.
5256        '''
5257        self.username = username if username is not None else ''
5258        '''
5259         The username to authenticate with.
5260        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
5281    def to_dict(self):
5282        return {
5283            'bind_interface': self.bind_interface,
5284            'egress_filter': self.egress_filter,
5285            'healthy': self.healthy,
5286            'hostname': self.hostname,
5287            'id': self.id,
5288            'name': self.name,
5289            'password': self.password,
5290            'port': self.port,
5291            'port_override': self.port_override,
5292            'proxy_cluster_id': self.proxy_cluster_id,
5293            'secret_store_id': self.secret_store_id,
5294            'subdomain': self.subdomain,
5295            'tags': self.tags,
5296            'tls_required': self.tls_required,
5297            'username': self.username,
5298        }
@classmethod
def from_dict(cls, d)
5300    @classmethod
5301    def from_dict(cls, d):
5302        return cls(
5303            bind_interface=d.get('bind_interface'),
5304            egress_filter=d.get('egress_filter'),
5305            healthy=d.get('healthy'),
5306            hostname=d.get('hostname'),
5307            id=d.get('id'),
5308            name=d.get('name'),
5309            password=d.get('password'),
5310            port=d.get('port'),
5311            port_override=d.get('port_override'),
5312            proxy_cluster_id=d.get('proxy_cluster_id'),
5313            secret_store_id=d.get('secret_store_id'),
5314            subdomain=d.get('subdomain'),
5315            tags=d.get('tags'),
5316            tls_required=d.get('tls_required'),
5317            username=d.get('username'),
5318        )
class ApprovalFlowApprover:
5321class ApprovalFlowApprover:
5322    '''
5323         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
5324    '''
5325    __slots__ = [
5326        'account_id',
5327        'reference',
5328        'role_id',
5329    ]
5330
5331    def __init__(
5332        self,
5333        account_id=None,
5334        reference=None,
5335        role_id=None,
5336    ):
5337        self.account_id = account_id if account_id is not None else ''
5338        '''
5339         The approver account id.
5340        '''
5341        self.reference = reference if reference is not None else ''
5342        '''
5343         A reference to an approver. Must be one of ApproverReference constants.
5344         If set, the account_id and role_id must be empty.
5345        '''
5346        self.role_id = role_id if role_id is not None else ''
5347        '''
5348         The approver role id
5349        '''
5350
5351    def __repr__(self):
5352        return '<sdm.ApprovalFlowApprover ' + \
5353            'account_id: ' + repr(self.account_id) + ' ' +\
5354            'reference: ' + repr(self.reference) + ' ' +\
5355            'role_id: ' + repr(self.role_id) + ' ' +\
5356            '>'
5357
5358    def to_dict(self):
5359        return {
5360            'account_id': self.account_id,
5361            'reference': self.reference,
5362            'role_id': self.role_id,
5363        }
5364
5365    @classmethod
5366    def from_dict(cls, d):
5367        return cls(
5368            account_id=d.get('account_id'),
5369            reference=d.get('reference'),
5370            role_id=d.get('role_id'),
5371        )

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

ApprovalFlowApprover(account_id=None, reference=None, role_id=None)
5331    def __init__(
5332        self,
5333        account_id=None,
5334        reference=None,
5335        role_id=None,
5336    ):
5337        self.account_id = account_id if account_id is not None else ''
5338        '''
5339         The approver account id.
5340        '''
5341        self.reference = reference if reference is not None else ''
5342        '''
5343         A reference to an approver. Must be one of ApproverReference constants.
5344         If set, the account_id and role_id must be empty.
5345        '''
5346        self.role_id = role_id if role_id is not None else ''
5347        '''
5348         The approver role id
5349        '''
account_id

The approver account 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)
5358    def to_dict(self):
5359        return {
5360            'account_id': self.account_id,
5361            'reference': self.reference,
5362            'role_id': self.role_id,
5363        }
@classmethod
def from_dict(cls, d)
5365    @classmethod
5366    def from_dict(cls, d):
5367        return cls(
5368            account_id=d.get('account_id'),
5369            reference=d.get('reference'),
5370            role_id=d.get('role_id'),
5371        )
class ApprovalFlowStep:
5374class ApprovalFlowStep:
5375    '''
5376         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
5377    '''
5378    __slots__ = [
5379        'approvers',
5380        'quantifier',
5381        'skip_after',
5382    ]
5383
5384    def __init__(
5385        self,
5386        approvers=None,
5387        quantifier=None,
5388        skip_after=None,
5389    ):
5390        self.approvers = approvers if approvers is not None else []
5391        '''
5392         The approvers for this approval step
5393        '''
5394        self.quantifier = quantifier if quantifier is not None else ''
5395        '''
5396         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
5397        '''
5398        self.skip_after = skip_after if skip_after is not None else None
5399        '''
5400         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.
5401        '''
5402
5403    def __repr__(self):
5404        return '<sdm.ApprovalFlowStep ' + \
5405            'approvers: ' + repr(self.approvers) + ' ' +\
5406            'quantifier: ' + repr(self.quantifier) + ' ' +\
5407            'skip_after: ' + repr(self.skip_after) + ' ' +\
5408            '>'
5409
5410    def to_dict(self):
5411        return {
5412            'approvers': self.approvers,
5413            'quantifier': self.quantifier,
5414            'skip_after': self.skip_after,
5415        }
5416
5417    @classmethod
5418    def from_dict(cls, d):
5419        return cls(
5420            approvers=d.get('approvers'),
5421            quantifier=d.get('quantifier'),
5422            skip_after=d.get('skip_after'),
5423        )

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

ApprovalFlowStep(approvers=None, quantifier=None, skip_after=None)
5384    def __init__(
5385        self,
5386        approvers=None,
5387        quantifier=None,
5388        skip_after=None,
5389    ):
5390        self.approvers = approvers if approvers is not None else []
5391        '''
5392         The approvers for this approval step
5393        '''
5394        self.quantifier = quantifier if quantifier is not None else ''
5395        '''
5396         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
5397        '''
5398        self.skip_after = skip_after if skip_after is not None else None
5399        '''
5400         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.
5401        '''
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)
5410    def to_dict(self):
5411        return {
5412            'approvers': self.approvers,
5413            'quantifier': self.quantifier,
5414            'skip_after': self.skip_after,
5415        }
@classmethod
def from_dict(cls, d)
5417    @classmethod
5418    def from_dict(cls, d):
5419        return cls(
5420            approvers=d.get('approvers'),
5421            quantifier=d.get('quantifier'),
5422            skip_after=d.get('skip_after'),
5423        )
class ApprovalWorkflow:
5426class ApprovalWorkflow:
5427    '''
5428         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
5429     approvers and be approved or denied.
5430    '''
5431    __slots__ = [
5432        'approval_mode',
5433        'approval_workflow_steps',
5434        'description',
5435        'id',
5436        'name',
5437    ]
5438
5439    def __init__(
5440        self,
5441        approval_mode=None,
5442        approval_workflow_steps=None,
5443        description=None,
5444        id=None,
5445        name=None,
5446    ):
5447        self.approval_mode = approval_mode if approval_mode is not None else ''
5448        '''
5449         Approval mode of the ApprovalWorkflow
5450        '''
5451        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
5452        '''
5453         The approval steps of this approval workflow
5454        '''
5455        self.description = description if description is not None else ''
5456        '''
5457         Optional description of the ApprovalWorkflow.
5458        '''
5459        self.id = id if id is not None else ''
5460        '''
5461         Unique identifier of the ApprovalWorkflow.
5462        '''
5463        self.name = name if name is not None else ''
5464        '''
5465         Unique human-readable name of the ApprovalWorkflow.
5466        '''
5467
5468    def __repr__(self):
5469        return '<sdm.ApprovalWorkflow ' + \
5470            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
5471            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
5472            'description: ' + repr(self.description) + ' ' +\
5473            'id: ' + repr(self.id) + ' ' +\
5474            'name: ' + repr(self.name) + ' ' +\
5475            '>'
5476
5477    def to_dict(self):
5478        return {
5479            'approval_mode': self.approval_mode,
5480            'approval_workflow_steps': self.approval_workflow_steps,
5481            'description': self.description,
5482            'id': self.id,
5483            'name': self.name,
5484        }
5485
5486    @classmethod
5487    def from_dict(cls, d):
5488        return cls(
5489            approval_mode=d.get('approval_mode'),
5490            approval_workflow_steps=d.get('approval_workflow_steps'),
5491            description=d.get('description'),
5492            id=d.get('id'),
5493            name=d.get('name'),
5494        )

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)
5439    def __init__(
5440        self,
5441        approval_mode=None,
5442        approval_workflow_steps=None,
5443        description=None,
5444        id=None,
5445        name=None,
5446    ):
5447        self.approval_mode = approval_mode if approval_mode is not None else ''
5448        '''
5449         Approval mode of the ApprovalWorkflow
5450        '''
5451        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
5452        '''
5453         The approval steps of this approval workflow
5454        '''
5455        self.description = description if description is not None else ''
5456        '''
5457         Optional description of the ApprovalWorkflow.
5458        '''
5459        self.id = id if id is not None else ''
5460        '''
5461         Unique identifier of the ApprovalWorkflow.
5462        '''
5463        self.name = name if name is not None else ''
5464        '''
5465         Unique human-readable name of the ApprovalWorkflow.
5466        '''
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)
5477    def to_dict(self):
5478        return {
5479            'approval_mode': self.approval_mode,
5480            'approval_workflow_steps': self.approval_workflow_steps,
5481            'description': self.description,
5482            'id': self.id,
5483            'name': self.name,
5484        }
@classmethod
def from_dict(cls, d)
5486    @classmethod
5487    def from_dict(cls, d):
5488        return cls(
5489            approval_mode=d.get('approval_mode'),
5490            approval_workflow_steps=d.get('approval_workflow_steps'),
5491            description=d.get('description'),
5492            id=d.get('id'),
5493            name=d.get('name'),
5494        )
class ApprovalWorkflowApprover:
5497class ApprovalWorkflowApprover:
5498    '''
5499         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
5500    '''
5501    __slots__ = [
5502        'account_id',
5503        'approval_flow_id',
5504        'approval_step_id',
5505        'id',
5506        'reference',
5507        'role_id',
5508    ]
5509
5510    def __init__(
5511        self,
5512        account_id=None,
5513        approval_flow_id=None,
5514        approval_step_id=None,
5515        id=None,
5516        reference=None,
5517        role_id=None,
5518    ):
5519        self.account_id = account_id if account_id is not None else ''
5520        '''
5521         The approver account id.
5522        '''
5523        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5524        '''
5525         The approval flow id specified the approval workflow that this approver belongs to
5526        '''
5527        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
5528        '''
5529         The approval step id specified the approval flow step that this approver belongs to
5530        '''
5531        self.id = id if id is not None else ''
5532        '''
5533         Unique identifier of the ApprovalWorkflowApprover.
5534        '''
5535        self.reference = reference if reference is not None else ''
5536        '''
5537         A reference to an approver. Will be one of ApproverReference constants.
5538         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
5539         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
5540        '''
5541        self.role_id = role_id if role_id is not None else ''
5542        '''
5543         The approver role id
5544        '''
5545
5546    def __repr__(self):
5547        return '<sdm.ApprovalWorkflowApprover ' + \
5548            'account_id: ' + repr(self.account_id) + ' ' +\
5549            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
5550            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
5551            'id: ' + repr(self.id) + ' ' +\
5552            'reference: ' + repr(self.reference) + ' ' +\
5553            'role_id: ' + repr(self.role_id) + ' ' +\
5554            '>'
5555
5556    def to_dict(self):
5557        return {
5558            'account_id': self.account_id,
5559            'approval_flow_id': self.approval_flow_id,
5560            'approval_step_id': self.approval_step_id,
5561            'id': self.id,
5562            'reference': self.reference,
5563            'role_id': self.role_id,
5564        }
5565
5566    @classmethod
5567    def from_dict(cls, d):
5568        return cls(
5569            account_id=d.get('account_id'),
5570            approval_flow_id=d.get('approval_flow_id'),
5571            approval_step_id=d.get('approval_step_id'),
5572            id=d.get('id'),
5573            reference=d.get('reference'),
5574            role_id=d.get('role_id'),
5575        )

ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep

ApprovalWorkflowApprover( account_id=None, approval_flow_id=None, approval_step_id=None, id=None, reference=None, role_id=None)
5510    def __init__(
5511        self,
5512        account_id=None,
5513        approval_flow_id=None,
5514        approval_step_id=None,
5515        id=None,
5516        reference=None,
5517        role_id=None,
5518    ):
5519        self.account_id = account_id if account_id is not None else ''
5520        '''
5521         The approver account id.
5522        '''
5523        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5524        '''
5525         The approval flow id specified the approval workflow that this approver belongs to
5526        '''
5527        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
5528        '''
5529         The approval step id specified the approval flow step that this approver belongs to
5530        '''
5531        self.id = id if id is not None else ''
5532        '''
5533         Unique identifier of the ApprovalWorkflowApprover.
5534        '''
5535        self.reference = reference if reference is not None else ''
5536        '''
5537         A reference to an approver. Will be one of ApproverReference constants.
5538         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
5539         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
5540        '''
5541        self.role_id = role_id if role_id is not None else ''
5542        '''
5543         The approver role id
5544        '''
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)
5556    def to_dict(self):
5557        return {
5558            'account_id': self.account_id,
5559            'approval_flow_id': self.approval_flow_id,
5560            'approval_step_id': self.approval_step_id,
5561            'id': self.id,
5562            'reference': self.reference,
5563            'role_id': self.role_id,
5564        }
@classmethod
def from_dict(cls, d)
5566    @classmethod
5567    def from_dict(cls, d):
5568        return cls(
5569            account_id=d.get('account_id'),
5570            approval_flow_id=d.get('approval_flow_id'),
5571            approval_step_id=d.get('approval_step_id'),
5572            id=d.get('id'),
5573            reference=d.get('reference'),
5574            role_id=d.get('role_id'),
5575        )
class ApprovalWorkflowApproverCreateResponse:
5578class ApprovalWorkflowApproverCreateResponse:
5579    '''
5580         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
5581    '''
5582    __slots__ = [
5583        'approval_workflow_approver',
5584        'rate_limit',
5585    ]
5586
5587    def __init__(
5588        self,
5589        approval_workflow_approver=None,
5590        rate_limit=None,
5591    ):
5592        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5593        '''
5594         The created approval workflow approver.
5595        '''
5596        self.rate_limit = rate_limit if rate_limit is not None else None
5597        '''
5598         Rate limit information.
5599        '''
5600
5601    def __repr__(self):
5602        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
5603            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5604            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5605            '>'
5606
5607    def to_dict(self):
5608        return {
5609            'approval_workflow_approver': self.approval_workflow_approver,
5610            'rate_limit': self.rate_limit,
5611        }
5612
5613    @classmethod
5614    def from_dict(cls, d):
5615        return cls(
5616            approval_workflow_approver=d.get('approval_workflow_approver'),
5617            rate_limit=d.get('rate_limit'),
5618        )

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

ApprovalWorkflowApproverCreateResponse(approval_workflow_approver=None, rate_limit=None)
5587    def __init__(
5588        self,
5589        approval_workflow_approver=None,
5590        rate_limit=None,
5591    ):
5592        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5593        '''
5594         The created approval workflow approver.
5595        '''
5596        self.rate_limit = rate_limit if rate_limit is not None else None
5597        '''
5598         Rate limit information.
5599        '''
approval_workflow_approver

The created approval workflow approver.

rate_limit

Rate limit information.

def to_dict(self)
5607    def to_dict(self):
5608        return {
5609            'approval_workflow_approver': self.approval_workflow_approver,
5610            'rate_limit': self.rate_limit,
5611        }
@classmethod
def from_dict(cls, d)
5613    @classmethod
5614    def from_dict(cls, d):
5615        return cls(
5616            approval_workflow_approver=d.get('approval_workflow_approver'),
5617            rate_limit=d.get('rate_limit'),
5618        )
class ApprovalWorkflowApproverDeleteResponse:
5621class ApprovalWorkflowApproverDeleteResponse:
5622    '''
5623         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
5624    '''
5625    __slots__ = [
5626        'id',
5627        'rate_limit',
5628    ]
5629
5630    def __init__(
5631        self,
5632        id=None,
5633        rate_limit=None,
5634    ):
5635        self.id = id if id is not None else ''
5636        '''
5637         The deleted approval workflow approver id.
5638        '''
5639        self.rate_limit = rate_limit if rate_limit is not None else None
5640        '''
5641         Rate limit information.
5642        '''
5643
5644    def __repr__(self):
5645        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
5646            'id: ' + repr(self.id) + ' ' +\
5647            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5648            '>'
5649
5650    def to_dict(self):
5651        return {
5652            'id': self.id,
5653            'rate_limit': self.rate_limit,
5654        }
5655
5656    @classmethod
5657    def from_dict(cls, d):
5658        return cls(
5659            id=d.get('id'),
5660            rate_limit=d.get('rate_limit'),
5661        )

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

ApprovalWorkflowApproverDeleteResponse(id=None, rate_limit=None)
5630    def __init__(
5631        self,
5632        id=None,
5633        rate_limit=None,
5634    ):
5635        self.id = id if id is not None else ''
5636        '''
5637         The deleted approval workflow approver id.
5638        '''
5639        self.rate_limit = rate_limit if rate_limit is not None else None
5640        '''
5641         Rate limit information.
5642        '''
id

The deleted approval workflow approver id.

rate_limit

Rate limit information.

def to_dict(self)
5650    def to_dict(self):
5651        return {
5652            'id': self.id,
5653            'rate_limit': self.rate_limit,
5654        }
@classmethod
def from_dict(cls, d)
5656    @classmethod
5657    def from_dict(cls, d):
5658        return cls(
5659            id=d.get('id'),
5660            rate_limit=d.get('rate_limit'),
5661        )
class ApprovalWorkflowApproverGetResponse:
5664class ApprovalWorkflowApproverGetResponse:
5665    '''
5666         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
5667    '''
5668    __slots__ = [
5669        'approval_workflow_approver',
5670        'meta',
5671        'rate_limit',
5672    ]
5673
5674    def __init__(
5675        self,
5676        approval_workflow_approver=None,
5677        meta=None,
5678        rate_limit=None,
5679    ):
5680        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5681        '''
5682         The requested ApprovalWorkflowApprover.
5683        '''
5684        self.meta = meta if meta is not None else None
5685        '''
5686         Reserved for future use.
5687        '''
5688        self.rate_limit = rate_limit if rate_limit is not None else None
5689        '''
5690         Rate limit information.
5691        '''
5692
5693    def __repr__(self):
5694        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
5695            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5696            'meta: ' + repr(self.meta) + ' ' +\
5697            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5698            '>'
5699
5700    def to_dict(self):
5701        return {
5702            'approval_workflow_approver': self.approval_workflow_approver,
5703            'meta': self.meta,
5704            'rate_limit': self.rate_limit,
5705        }
5706
5707    @classmethod
5708    def from_dict(cls, d):
5709        return cls(
5710            approval_workflow_approver=d.get('approval_workflow_approver'),
5711            meta=d.get('meta'),
5712            rate_limit=d.get('rate_limit'),
5713        )

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

ApprovalWorkflowApproverGetResponse(approval_workflow_approver=None, meta=None, rate_limit=None)
5674    def __init__(
5675        self,
5676        approval_workflow_approver=None,
5677        meta=None,
5678        rate_limit=None,
5679    ):
5680        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5681        '''
5682         The requested ApprovalWorkflowApprover.
5683        '''
5684        self.meta = meta if meta is not None else None
5685        '''
5686         Reserved for future use.
5687        '''
5688        self.rate_limit = rate_limit if rate_limit is not None else None
5689        '''
5690         Rate limit information.
5691        '''
approval_workflow_approver

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
5700    def to_dict(self):
5701        return {
5702            'approval_workflow_approver': self.approval_workflow_approver,
5703            'meta': self.meta,
5704            'rate_limit': self.rate_limit,
5705        }
@classmethod
def from_dict(cls, d)
5707    @classmethod
5708    def from_dict(cls, d):
5709        return cls(
5710            approval_workflow_approver=d.get('approval_workflow_approver'),
5711            meta=d.get('meta'),
5712            rate_limit=d.get('rate_limit'),
5713        )
class ApprovalWorkflowApproverHistory:
5716class ApprovalWorkflowApproverHistory:
5717    '''
5718         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
5719     where every change (create or delete) to an ApprovalWorkflowApprover produces an
5720     ApprovalWorkflowApproverHistory record.
5721    '''
5722    __slots__ = [
5723        'activity_id',
5724        'approval_workflow_approver',
5725        'deleted_at',
5726        'timestamp',
5727    ]
5728
5729    def __init__(
5730        self,
5731        activity_id=None,
5732        approval_workflow_approver=None,
5733        deleted_at=None,
5734        timestamp=None,
5735    ):
5736        self.activity_id = activity_id if activity_id is not None else ''
5737        '''
5738         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
5739         May be empty for some system-initiated updates.
5740        '''
5741        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5742        '''
5743         The complete ApprovalWorkflowApprover state at this time.
5744        '''
5745        self.deleted_at = deleted_at if deleted_at is not None else None
5746        '''
5747         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
5748        '''
5749        self.timestamp = timestamp if timestamp is not None else None
5750        '''
5751         The time at which the ApprovalWorkflowApprover state was recorded.
5752        '''
5753
5754    def __repr__(self):
5755        return '<sdm.ApprovalWorkflowApproverHistory ' + \
5756            'activity_id: ' + repr(self.activity_id) + ' ' +\
5757            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5758            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5759            'timestamp: ' + repr(self.timestamp) + ' ' +\
5760            '>'
5761
5762    def to_dict(self):
5763        return {
5764            'activity_id': self.activity_id,
5765            'approval_workflow_approver': self.approval_workflow_approver,
5766            'deleted_at': self.deleted_at,
5767            'timestamp': self.timestamp,
5768        }
5769
5770    @classmethod
5771    def from_dict(cls, d):
5772        return cls(
5773            activity_id=d.get('activity_id'),
5774            approval_workflow_approver=d.get('approval_workflow_approver'),
5775            deleted_at=d.get('deleted_at'),
5776            timestamp=d.get('timestamp'),
5777        )

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)
5729    def __init__(
5730        self,
5731        activity_id=None,
5732        approval_workflow_approver=None,
5733        deleted_at=None,
5734        timestamp=None,
5735    ):
5736        self.activity_id = activity_id if activity_id is not None else ''
5737        '''
5738         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
5739         May be empty for some system-initiated updates.
5740        '''
5741        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5742        '''
5743         The complete ApprovalWorkflowApprover state at this time.
5744        '''
5745        self.deleted_at = deleted_at if deleted_at is not None else None
5746        '''
5747         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
5748        '''
5749        self.timestamp = timestamp if timestamp is not None else None
5750        '''
5751         The time at which the ApprovalWorkflowApprover state was recorded.
5752        '''
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)
5762    def to_dict(self):
5763        return {
5764            'activity_id': self.activity_id,
5765            'approval_workflow_approver': self.approval_workflow_approver,
5766            'deleted_at': self.deleted_at,
5767            'timestamp': self.timestamp,
5768        }
@classmethod
def from_dict(cls, d)
5770    @classmethod
5771    def from_dict(cls, d):
5772        return cls(
5773            activity_id=d.get('activity_id'),
5774            approval_workflow_approver=d.get('approval_workflow_approver'),
5775            deleted_at=d.get('deleted_at'),
5776            timestamp=d.get('timestamp'),
5777        )
class ApprovalWorkflowApproverListResponse:
5780class ApprovalWorkflowApproverListResponse:
5781    '''
5782         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
5783     the criteria of an ApprovalWorkflowApproverListRequest.
5784    '''
5785    __slots__ = [
5786        'rate_limit',
5787    ]
5788
5789    def __init__(
5790        self,
5791        rate_limit=None,
5792    ):
5793        self.rate_limit = rate_limit if rate_limit is not None else None
5794        '''
5795         Rate limit information.
5796        '''
5797
5798    def __repr__(self):
5799        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
5800            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5801            '>'
5802
5803    def to_dict(self):
5804        return {
5805            'rate_limit': self.rate_limit,
5806        }
5807
5808    @classmethod
5809    def from_dict(cls, d):
5810        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)
5789    def __init__(
5790        self,
5791        rate_limit=None,
5792    ):
5793        self.rate_limit = rate_limit if rate_limit is not None else None
5794        '''
5795         Rate limit information.
5796        '''
rate_limit

Rate limit information.

def to_dict(self)
5803    def to_dict(self):
5804        return {
5805            'rate_limit': self.rate_limit,
5806        }
@classmethod
def from_dict(cls, d)
5808    @classmethod
5809    def from_dict(cls, d):
5810        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowCreateResponse:
5813class ApprovalWorkflowCreateResponse:
5814    '''
5815         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
5816    '''
5817    __slots__ = [
5818        'approval_workflow',
5819        'rate_limit',
5820    ]
5821
5822    def __init__(
5823        self,
5824        approval_workflow=None,
5825        rate_limit=None,
5826    ):
5827        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5828        '''
5829         The created approval workflow.
5830        '''
5831        self.rate_limit = rate_limit if rate_limit is not None else None
5832        '''
5833         Rate limit information.
5834        '''
5835
5836    def __repr__(self):
5837        return '<sdm.ApprovalWorkflowCreateResponse ' + \
5838            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5839            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5840            '>'
5841
5842    def to_dict(self):
5843        return {
5844            'approval_workflow': self.approval_workflow,
5845            'rate_limit': self.rate_limit,
5846        }
5847
5848    @classmethod
5849    def from_dict(cls, d):
5850        return cls(
5851            approval_workflow=d.get('approval_workflow'),
5852            rate_limit=d.get('rate_limit'),
5853        )

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

ApprovalWorkflowCreateResponse(approval_workflow=None, rate_limit=None)
5822    def __init__(
5823        self,
5824        approval_workflow=None,
5825        rate_limit=None,
5826    ):
5827        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5828        '''
5829         The created approval workflow.
5830        '''
5831        self.rate_limit = rate_limit if rate_limit is not None else None
5832        '''
5833         Rate limit information.
5834        '''
approval_workflow

The created approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
5842    def to_dict(self):
5843        return {
5844            'approval_workflow': self.approval_workflow,
5845            'rate_limit': self.rate_limit,
5846        }
@classmethod
def from_dict(cls, d)
5848    @classmethod
5849    def from_dict(cls, d):
5850        return cls(
5851            approval_workflow=d.get('approval_workflow'),
5852            rate_limit=d.get('rate_limit'),
5853        )
class ApprovalWorkflowDeleteResponse:
5856class ApprovalWorkflowDeleteResponse:
5857    '''
5858         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
5859    '''
5860    __slots__ = [
5861        'id',
5862        'rate_limit',
5863    ]
5864
5865    def __init__(
5866        self,
5867        id=None,
5868        rate_limit=None,
5869    ):
5870        self.id = id if id is not None else ''
5871        '''
5872         The deleted approval workflow id.
5873        '''
5874        self.rate_limit = rate_limit if rate_limit is not None else None
5875        '''
5876         Rate limit information.
5877        '''
5878
5879    def __repr__(self):
5880        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
5881            'id: ' + repr(self.id) + ' ' +\
5882            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5883            '>'
5884
5885    def to_dict(self):
5886        return {
5887            'id': self.id,
5888            'rate_limit': self.rate_limit,
5889        }
5890
5891    @classmethod
5892    def from_dict(cls, d):
5893        return cls(
5894            id=d.get('id'),
5895            rate_limit=d.get('rate_limit'),
5896        )

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

ApprovalWorkflowDeleteResponse(id=None, rate_limit=None)
5865    def __init__(
5866        self,
5867        id=None,
5868        rate_limit=None,
5869    ):
5870        self.id = id if id is not None else ''
5871        '''
5872         The deleted approval workflow id.
5873        '''
5874        self.rate_limit = rate_limit if rate_limit is not None else None
5875        '''
5876         Rate limit information.
5877        '''
id

The deleted approval workflow id.

rate_limit

Rate limit information.

def to_dict(self)
5885    def to_dict(self):
5886        return {
5887            'id': self.id,
5888            'rate_limit': self.rate_limit,
5889        }
@classmethod
def from_dict(cls, d)
5891    @classmethod
5892    def from_dict(cls, d):
5893        return cls(
5894            id=d.get('id'),
5895            rate_limit=d.get('rate_limit'),
5896        )
class ApprovalWorkflowGetResponse:
5899class ApprovalWorkflowGetResponse:
5900    '''
5901         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
5902    '''
5903    __slots__ = [
5904        'approval_workflow',
5905        'meta',
5906        'rate_limit',
5907    ]
5908
5909    def __init__(
5910        self,
5911        approval_workflow=None,
5912        meta=None,
5913        rate_limit=None,
5914    ):
5915        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5916        '''
5917         The requested ApprovalWorkflow.
5918        '''
5919        self.meta = meta if meta is not None else None
5920        '''
5921         Reserved for future use.
5922        '''
5923        self.rate_limit = rate_limit if rate_limit is not None else None
5924        '''
5925         Rate limit information.
5926        '''
5927
5928    def __repr__(self):
5929        return '<sdm.ApprovalWorkflowGetResponse ' + \
5930            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5931            'meta: ' + repr(self.meta) + ' ' +\
5932            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5933            '>'
5934
5935    def to_dict(self):
5936        return {
5937            'approval_workflow': self.approval_workflow,
5938            'meta': self.meta,
5939            'rate_limit': self.rate_limit,
5940        }
5941
5942    @classmethod
5943    def from_dict(cls, d):
5944        return cls(
5945            approval_workflow=d.get('approval_workflow'),
5946            meta=d.get('meta'),
5947            rate_limit=d.get('rate_limit'),
5948        )

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

ApprovalWorkflowGetResponse(approval_workflow=None, meta=None, rate_limit=None)
5909    def __init__(
5910        self,
5911        approval_workflow=None,
5912        meta=None,
5913        rate_limit=None,
5914    ):
5915        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5916        '''
5917         The requested ApprovalWorkflow.
5918        '''
5919        self.meta = meta if meta is not None else None
5920        '''
5921         Reserved for future use.
5922        '''
5923        self.rate_limit = rate_limit if rate_limit is not None else None
5924        '''
5925         Rate limit information.
5926        '''
approval_workflow

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
5935    def to_dict(self):
5936        return {
5937            'approval_workflow': self.approval_workflow,
5938            'meta': self.meta,
5939            'rate_limit': self.rate_limit,
5940        }
@classmethod
def from_dict(cls, d)
5942    @classmethod
5943    def from_dict(cls, d):
5944        return cls(
5945            approval_workflow=d.get('approval_workflow'),
5946            meta=d.get('meta'),
5947            rate_limit=d.get('rate_limit'),
5948        )
class ApprovalWorkflowHistory:
5951class ApprovalWorkflowHistory:
5952    '''
5953         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
5954     where every change (create, update and delete) to an ApprovalWorkflow produces an
5955     ApprovalWorkflowHistory record.
5956    '''
5957    __slots__ = [
5958        'activity_id',
5959        'approval_workflow',
5960        'deleted_at',
5961        'timestamp',
5962    ]
5963
5964    def __init__(
5965        self,
5966        activity_id=None,
5967        approval_workflow=None,
5968        deleted_at=None,
5969        timestamp=None,
5970    ):
5971        self.activity_id = activity_id if activity_id is not None else ''
5972        '''
5973         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
5974         May be empty for some system-initiated updates.
5975        '''
5976        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5977        '''
5978         The complete ApprovalWorkflow state at this time.
5979        '''
5980        self.deleted_at = deleted_at if deleted_at is not None else None
5981        '''
5982         If this ApprovalWorkflow was deleted, the time it was deleted.
5983        '''
5984        self.timestamp = timestamp if timestamp is not None else None
5985        '''
5986         The time at which the ApprovalWorkflow state was recorded.
5987        '''
5988
5989    def __repr__(self):
5990        return '<sdm.ApprovalWorkflowHistory ' + \
5991            'activity_id: ' + repr(self.activity_id) + ' ' +\
5992            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5993            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5994            'timestamp: ' + repr(self.timestamp) + ' ' +\
5995            '>'
5996
5997    def to_dict(self):
5998        return {
5999            'activity_id': self.activity_id,
6000            'approval_workflow': self.approval_workflow,
6001            'deleted_at': self.deleted_at,
6002            'timestamp': self.timestamp,
6003        }
6004
6005    @classmethod
6006    def from_dict(cls, d):
6007        return cls(
6008            activity_id=d.get('activity_id'),
6009            approval_workflow=d.get('approval_workflow'),
6010            deleted_at=d.get('deleted_at'),
6011            timestamp=d.get('timestamp'),
6012        )

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)
5964    def __init__(
5965        self,
5966        activity_id=None,
5967        approval_workflow=None,
5968        deleted_at=None,
5969        timestamp=None,
5970    ):
5971        self.activity_id = activity_id if activity_id is not None else ''
5972        '''
5973         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
5974         May be empty for some system-initiated updates.
5975        '''
5976        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5977        '''
5978         The complete ApprovalWorkflow state at this time.
5979        '''
5980        self.deleted_at = deleted_at if deleted_at is not None else None
5981        '''
5982         If this ApprovalWorkflow was deleted, the time it was deleted.
5983        '''
5984        self.timestamp = timestamp if timestamp is not None else None
5985        '''
5986         The time at which the ApprovalWorkflow state was recorded.
5987        '''
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)
5997    def to_dict(self):
5998        return {
5999            'activity_id': self.activity_id,
6000            'approval_workflow': self.approval_workflow,
6001            'deleted_at': self.deleted_at,
6002            'timestamp': self.timestamp,
6003        }
@classmethod
def from_dict(cls, d)
6005    @classmethod
6006    def from_dict(cls, d):
6007        return cls(
6008            activity_id=d.get('activity_id'),
6009            approval_workflow=d.get('approval_workflow'),
6010            deleted_at=d.get('deleted_at'),
6011            timestamp=d.get('timestamp'),
6012        )
class ApprovalWorkflowListResponse:
6015class ApprovalWorkflowListResponse:
6016    '''
6017         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
6018     the criteria of an ApprovalWorkflowListRequest.
6019    '''
6020    __slots__ = [
6021        'rate_limit',
6022    ]
6023
6024    def __init__(
6025        self,
6026        rate_limit=None,
6027    ):
6028        self.rate_limit = rate_limit if rate_limit is not None else None
6029        '''
6030         Rate limit information.
6031        '''
6032
6033    def __repr__(self):
6034        return '<sdm.ApprovalWorkflowListResponse ' + \
6035            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6036            '>'
6037
6038    def to_dict(self):
6039        return {
6040            'rate_limit': self.rate_limit,
6041        }
6042
6043    @classmethod
6044    def from_dict(cls, d):
6045        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)
6024    def __init__(
6025        self,
6026        rate_limit=None,
6027    ):
6028        self.rate_limit = rate_limit if rate_limit is not None else None
6029        '''
6030         Rate limit information.
6031        '''
rate_limit

Rate limit information.

def to_dict(self)
6038    def to_dict(self):
6039        return {
6040            'rate_limit': self.rate_limit,
6041        }
@classmethod
def from_dict(cls, d)
6043    @classmethod
6044    def from_dict(cls, d):
6045        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowStep:
6048class ApprovalWorkflowStep:
6049    '''
6050         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
6051    '''
6052    __slots__ = [
6053        'approval_flow_id',
6054        'id',
6055        'quantifier',
6056        'skip_after',
6057        'step_order',
6058    ]
6059
6060    def __init__(
6061        self,
6062        approval_flow_id=None,
6063        id=None,
6064        quantifier=None,
6065        skip_after=None,
6066        step_order=None,
6067    ):
6068        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6069        '''
6070         The approval flow id specified the approval workflow that this step belongs to
6071        '''
6072        self.id = id if id is not None else ''
6073        '''
6074         Unique identifier of the ApprovalWorkflowStep.
6075        '''
6076        self.quantifier = quantifier if quantifier is not None else ''
6077        '''
6078         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
6079        '''
6080        self.skip_after = skip_after if skip_after is not None else None
6081        '''
6082         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
6083        '''
6084        self.step_order = step_order if step_order is not None else 0
6085        '''
6086         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
6087        '''
6088
6089    def __repr__(self):
6090        return '<sdm.ApprovalWorkflowStep ' + \
6091            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
6092            'id: ' + repr(self.id) + ' ' +\
6093            'quantifier: ' + repr(self.quantifier) + ' ' +\
6094            'skip_after: ' + repr(self.skip_after) + ' ' +\
6095            'step_order: ' + repr(self.step_order) + ' ' +\
6096            '>'
6097
6098    def to_dict(self):
6099        return {
6100            'approval_flow_id': self.approval_flow_id,
6101            'id': self.id,
6102            'quantifier': self.quantifier,
6103            'skip_after': self.skip_after,
6104            'step_order': self.step_order,
6105        }
6106
6107    @classmethod
6108    def from_dict(cls, d):
6109        return cls(
6110            approval_flow_id=d.get('approval_flow_id'),
6111            id=d.get('id'),
6112            quantifier=d.get('quantifier'),
6113            skip_after=d.get('skip_after'),
6114            step_order=d.get('step_order'),
6115        )

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow

ApprovalWorkflowStep( approval_flow_id=None, id=None, quantifier=None, skip_after=None, step_order=None)
6060    def __init__(
6061        self,
6062        approval_flow_id=None,
6063        id=None,
6064        quantifier=None,
6065        skip_after=None,
6066        step_order=None,
6067    ):
6068        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6069        '''
6070         The approval flow id specified the approval workflow that this step belongs to
6071        '''
6072        self.id = id if id is not None else ''
6073        '''
6074         Unique identifier of the ApprovalWorkflowStep.
6075        '''
6076        self.quantifier = quantifier if quantifier is not None else ''
6077        '''
6078         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
6079        '''
6080        self.skip_after = skip_after if skip_after is not None else None
6081        '''
6082         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
6083        '''
6084        self.step_order = step_order if step_order is not None else 0
6085        '''
6086         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
6087        '''
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)
6098    def to_dict(self):
6099        return {
6100            'approval_flow_id': self.approval_flow_id,
6101            'id': self.id,
6102            'quantifier': self.quantifier,
6103            'skip_after': self.skip_after,
6104            'step_order': self.step_order,
6105        }
@classmethod
def from_dict(cls, d)
6107    @classmethod
6108    def from_dict(cls, d):
6109        return cls(
6110            approval_flow_id=d.get('approval_flow_id'),
6111            id=d.get('id'),
6112            quantifier=d.get('quantifier'),
6113            skip_after=d.get('skip_after'),
6114            step_order=d.get('step_order'),
6115        )
class ApprovalWorkflowStepCreateResponse:
6118class ApprovalWorkflowStepCreateResponse:
6119    '''
6120         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
6121    '''
6122    __slots__ = [
6123        'approval_workflow_step',
6124        'rate_limit',
6125    ]
6126
6127    def __init__(
6128        self,
6129        approval_workflow_step=None,
6130        rate_limit=None,
6131    ):
6132        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6133        '''
6134         The created approval workflow step.
6135        '''
6136        self.rate_limit = rate_limit if rate_limit is not None else None
6137        '''
6138         Rate limit information.
6139        '''
6140
6141    def __repr__(self):
6142        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
6143            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
6144            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6145            '>'
6146
6147    def to_dict(self):
6148        return {
6149            'approval_workflow_step': self.approval_workflow_step,
6150            'rate_limit': self.rate_limit,
6151        }
6152
6153    @classmethod
6154    def from_dict(cls, d):
6155        return cls(
6156            approval_workflow_step=d.get('approval_workflow_step'),
6157            rate_limit=d.get('rate_limit'),
6158        )

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

ApprovalWorkflowStepCreateResponse(approval_workflow_step=None, rate_limit=None)
6127    def __init__(
6128        self,
6129        approval_workflow_step=None,
6130        rate_limit=None,
6131    ):
6132        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6133        '''
6134         The created approval workflow step.
6135        '''
6136        self.rate_limit = rate_limit if rate_limit is not None else None
6137        '''
6138         Rate limit information.
6139        '''
approval_workflow_step

The created approval workflow step.

rate_limit

Rate limit information.

def to_dict(self)
6147    def to_dict(self):
6148        return {
6149            'approval_workflow_step': self.approval_workflow_step,
6150            'rate_limit': self.rate_limit,
6151        }
@classmethod
def from_dict(cls, d)
6153    @classmethod
6154    def from_dict(cls, d):
6155        return cls(
6156            approval_workflow_step=d.get('approval_workflow_step'),
6157            rate_limit=d.get('rate_limit'),
6158        )
class ApprovalWorkflowStepDeleteResponse:
6161class ApprovalWorkflowStepDeleteResponse:
6162    '''
6163         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
6164    '''
6165    __slots__ = [
6166        'id',
6167        'rate_limit',
6168    ]
6169
6170    def __init__(
6171        self,
6172        id=None,
6173        rate_limit=None,
6174    ):
6175        self.id = id if id is not None else ''
6176        '''
6177         The deleted approval workflow step id.
6178        '''
6179        self.rate_limit = rate_limit if rate_limit is not None else None
6180        '''
6181         Rate limit information.
6182        '''
6183
6184    def __repr__(self):
6185        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
6186            'id: ' + repr(self.id) + ' ' +\
6187            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6188            '>'
6189
6190    def to_dict(self):
6191        return {
6192            'id': self.id,
6193            'rate_limit': self.rate_limit,
6194        }
6195
6196    @classmethod
6197    def from_dict(cls, d):
6198        return cls(
6199            id=d.get('id'),
6200            rate_limit=d.get('rate_limit'),
6201        )

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

ApprovalWorkflowStepDeleteResponse(id=None, rate_limit=None)
6170    def __init__(
6171        self,
6172        id=None,
6173        rate_limit=None,
6174    ):
6175        self.id = id if id is not None else ''
6176        '''
6177         The deleted approval workflow step id.
6178        '''
6179        self.rate_limit = rate_limit if rate_limit is not None else None
6180        '''
6181         Rate limit information.
6182        '''
id

The deleted approval workflow step id.

rate_limit

Rate limit information.

def to_dict(self)
6190    def to_dict(self):
6191        return {
6192            'id': self.id,
6193            'rate_limit': self.rate_limit,
6194        }
@classmethod
def from_dict(cls, d)
6196    @classmethod
6197    def from_dict(cls, d):
6198        return cls(
6199            id=d.get('id'),
6200            rate_limit=d.get('rate_limit'),
6201        )
class ApprovalWorkflowStepGetResponse:
6204class ApprovalWorkflowStepGetResponse:
6205    '''
6206         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
6207    '''
6208    __slots__ = [
6209        'approval_workflow_step',
6210        'meta',
6211        'rate_limit',
6212    ]
6213
6214    def __init__(
6215        self,
6216        approval_workflow_step=None,
6217        meta=None,
6218        rate_limit=None,
6219    ):
6220        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6221        '''
6222         The requested ApprovalWorkflowStep.
6223        '''
6224        self.meta = meta if meta is not None else None
6225        '''
6226         Reserved for future use.
6227        '''
6228        self.rate_limit = rate_limit if rate_limit is not None else None
6229        '''
6230         Rate limit information.
6231        '''
6232
6233    def __repr__(self):
6234        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
6235            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
6236            'meta: ' + repr(self.meta) + ' ' +\
6237            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6238            '>'
6239
6240    def to_dict(self):
6241        return {
6242            'approval_workflow_step': self.approval_workflow_step,
6243            'meta': self.meta,
6244            'rate_limit': self.rate_limit,
6245        }
6246
6247    @classmethod
6248    def from_dict(cls, d):
6249        return cls(
6250            approval_workflow_step=d.get('approval_workflow_step'),
6251            meta=d.get('meta'),
6252            rate_limit=d.get('rate_limit'),
6253        )

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

ApprovalWorkflowStepGetResponse(approval_workflow_step=None, meta=None, rate_limit=None)
6214    def __init__(
6215        self,
6216        approval_workflow_step=None,
6217        meta=None,
6218        rate_limit=None,
6219    ):
6220        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6221        '''
6222         The requested ApprovalWorkflowStep.
6223        '''
6224        self.meta = meta if meta is not None else None
6225        '''
6226         Reserved for future use.
6227        '''
6228        self.rate_limit = rate_limit if rate_limit is not None else None
6229        '''
6230         Rate limit information.
6231        '''
approval_workflow_step

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
6240    def to_dict(self):
6241        return {
6242            'approval_workflow_step': self.approval_workflow_step,
6243            'meta': self.meta,
6244            'rate_limit': self.rate_limit,
6245        }
@classmethod
def from_dict(cls, d)
6247    @classmethod
6248    def from_dict(cls, d):
6249        return cls(
6250            approval_workflow_step=d.get('approval_workflow_step'),
6251            meta=d.get('meta'),
6252            rate_limit=d.get('rate_limit'),
6253        )
class ApprovalWorkflowStepHistory:
6256class ApprovalWorkflowStepHistory:
6257    '''
6258         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
6259     where every change (create or delete) to an ApprovalWorkflowStep produces an
6260     ApprovalWorkflowStepHistory record.
6261    '''
6262    __slots__ = [
6263        'activity_id',
6264        'approval_workflow_step',
6265        'deleted_at',
6266        'timestamp',
6267    ]
6268
6269    def __init__(
6270        self,
6271        activity_id=None,
6272        approval_workflow_step=None,
6273        deleted_at=None,
6274        timestamp=None,
6275    ):
6276        self.activity_id = activity_id if activity_id is not None else ''
6277        '''
6278         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
6279         May be empty for some system-initiated updates.
6280        '''
6281        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6282        '''
6283         The complete ApprovalWorkflowStep state at this time.
6284        '''
6285        self.deleted_at = deleted_at if deleted_at is not None else None
6286        '''
6287         If this ApprovalWorkflowStep was deleted, the time it was deleted.
6288        '''
6289        self.timestamp = timestamp if timestamp is not None else None
6290        '''
6291         The time at which the ApprovalWorkflowStep state was recorded.
6292        '''
6293
6294    def __repr__(self):
6295        return '<sdm.ApprovalWorkflowStepHistory ' + \
6296            'activity_id: ' + repr(self.activity_id) + ' ' +\
6297            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
6298            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
6299            'timestamp: ' + repr(self.timestamp) + ' ' +\
6300            '>'
6301
6302    def to_dict(self):
6303        return {
6304            'activity_id': self.activity_id,
6305            'approval_workflow_step': self.approval_workflow_step,
6306            'deleted_at': self.deleted_at,
6307            'timestamp': self.timestamp,
6308        }
6309
6310    @classmethod
6311    def from_dict(cls, d):
6312        return cls(
6313            activity_id=d.get('activity_id'),
6314            approval_workflow_step=d.get('approval_workflow_step'),
6315            deleted_at=d.get('deleted_at'),
6316            timestamp=d.get('timestamp'),
6317        )

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)
6269    def __init__(
6270        self,
6271        activity_id=None,
6272        approval_workflow_step=None,
6273        deleted_at=None,
6274        timestamp=None,
6275    ):
6276        self.activity_id = activity_id if activity_id is not None else ''
6277        '''
6278         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
6279         May be empty for some system-initiated updates.
6280        '''
6281        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6282        '''
6283         The complete ApprovalWorkflowStep state at this time.
6284        '''
6285        self.deleted_at = deleted_at if deleted_at is not None else None
6286        '''
6287         If this ApprovalWorkflowStep was deleted, the time it was deleted.
6288        '''
6289        self.timestamp = timestamp if timestamp is not None else None
6290        '''
6291         The time at which the ApprovalWorkflowStep state was recorded.
6292        '''
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)
6302    def to_dict(self):
6303        return {
6304            'activity_id': self.activity_id,
6305            'approval_workflow_step': self.approval_workflow_step,
6306            'deleted_at': self.deleted_at,
6307            'timestamp': self.timestamp,
6308        }
@classmethod
def from_dict(cls, d)
6310    @classmethod
6311    def from_dict(cls, d):
6312        return cls(
6313            activity_id=d.get('activity_id'),
6314            approval_workflow_step=d.get('approval_workflow_step'),
6315            deleted_at=d.get('deleted_at'),
6316            timestamp=d.get('timestamp'),
6317        )
class ApprovalWorkflowStepListResponse:
6320class ApprovalWorkflowStepListResponse:
6321    '''
6322         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
6323     the criteria of an ApprovalWorkflowStepListRequest.
6324    '''
6325    __slots__ = [
6326        'rate_limit',
6327    ]
6328
6329    def __init__(
6330        self,
6331        rate_limit=None,
6332    ):
6333        self.rate_limit = rate_limit if rate_limit is not None else None
6334        '''
6335         Rate limit information.
6336        '''
6337
6338    def __repr__(self):
6339        return '<sdm.ApprovalWorkflowStepListResponse ' + \
6340            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6341            '>'
6342
6343    def to_dict(self):
6344        return {
6345            'rate_limit': self.rate_limit,
6346        }
6347
6348    @classmethod
6349    def from_dict(cls, d):
6350        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)
6329    def __init__(
6330        self,
6331        rate_limit=None,
6332    ):
6333        self.rate_limit = rate_limit if rate_limit is not None else None
6334        '''
6335         Rate limit information.
6336        '''
rate_limit

Rate limit information.

def to_dict(self)
6343    def to_dict(self):
6344        return {
6345            'rate_limit': self.rate_limit,
6346        }
@classmethod
def from_dict(cls, d)
6348    @classmethod
6349    def from_dict(cls, d):
6350        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowUpdateResponse:
6353class ApprovalWorkflowUpdateResponse:
6354    '''
6355         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
6356     an ApprovalWorkflowUpdateRequest.
6357    '''
6358    __slots__ = [
6359        'approval_workflow',
6360        'rate_limit',
6361    ]
6362
6363    def __init__(
6364        self,
6365        approval_workflow=None,
6366        rate_limit=None,
6367    ):
6368        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6369        '''
6370         The updated approval workflow.
6371        '''
6372        self.rate_limit = rate_limit if rate_limit is not None else None
6373        '''
6374         Rate limit information.
6375        '''
6376
6377    def __repr__(self):
6378        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
6379            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6380            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6381            '>'
6382
6383    def to_dict(self):
6384        return {
6385            'approval_workflow': self.approval_workflow,
6386            'rate_limit': self.rate_limit,
6387        }
6388
6389    @classmethod
6390    def from_dict(cls, d):
6391        return cls(
6392            approval_workflow=d.get('approval_workflow'),
6393            rate_limit=d.get('rate_limit'),
6394        )

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

ApprovalWorkflowUpdateResponse(approval_workflow=None, rate_limit=None)
6363    def __init__(
6364        self,
6365        approval_workflow=None,
6366        rate_limit=None,
6367    ):
6368        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6369        '''
6370         The updated approval workflow.
6371        '''
6372        self.rate_limit = rate_limit if rate_limit is not None else None
6373        '''
6374         Rate limit information.
6375        '''
approval_workflow

The updated approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
6383    def to_dict(self):
6384        return {
6385            'approval_workflow': self.approval_workflow,
6386            'rate_limit': self.rate_limit,
6387        }
@classmethod
def from_dict(cls, d)
6389    @classmethod
6390    def from_dict(cls, d):
6391        return cls(
6392            approval_workflow=d.get('approval_workflow'),
6393            rate_limit=d.get('rate_limit'),
6394        )
class Athena:
6397class Athena:
6398    __slots__ = [
6399        'access_key',
6400        'bind_interface',
6401        'egress_filter',
6402        'healthy',
6403        'id',
6404        'name',
6405        'output',
6406        'port_override',
6407        'proxy_cluster_id',
6408        'region',
6409        'role_arn',
6410        'role_external_id',
6411        'secret_access_key',
6412        'secret_store_id',
6413        'subdomain',
6414        'tags',
6415    ]
6416
6417    def __init__(
6418        self,
6419        access_key=None,
6420        bind_interface=None,
6421        egress_filter=None,
6422        healthy=None,
6423        id=None,
6424        name=None,
6425        output=None,
6426        port_override=None,
6427        proxy_cluster_id=None,
6428        region=None,
6429        role_arn=None,
6430        role_external_id=None,
6431        secret_access_key=None,
6432        secret_store_id=None,
6433        subdomain=None,
6434        tags=None,
6435    ):
6436        self.access_key = access_key if access_key is not None else ''
6437        '''
6438         The Access Key ID to use to authenticate.
6439        '''
6440        self.bind_interface = bind_interface if bind_interface is not None else ''
6441        '''
6442         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6443        '''
6444        self.egress_filter = egress_filter if egress_filter is not None else ''
6445        '''
6446         A filter applied to the routing logic to pin datasource to nodes.
6447        '''
6448        self.healthy = healthy if healthy is not None else False
6449        '''
6450         True if the datasource is reachable and the credentials are valid.
6451        '''
6452        self.id = id if id is not None else ''
6453        '''
6454         Unique identifier of the Resource.
6455        '''
6456        self.name = name if name is not None else ''
6457        '''
6458         Unique human-readable name of the Resource.
6459        '''
6460        self.output = output if output is not None else ''
6461        '''
6462         The AWS S3 output location.
6463        '''
6464        self.port_override = port_override if port_override is not None else 0
6465        '''
6466         The local port used by clients to connect to this resource.
6467        '''
6468        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6469        '''
6470         ID of the proxy cluster for this resource, if any.
6471        '''
6472        self.region = region if region is not None else ''
6473        '''
6474         The AWS region to connect to e.g. us-east-1.
6475        '''
6476        self.role_arn = role_arn if role_arn is not None else ''
6477        '''
6478         The role to assume after logging in.
6479        '''
6480        self.role_external_id = role_external_id if role_external_id is not None else ''
6481        '''
6482         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6483        '''
6484        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
6485        '''
6486         The Secret Access Key to use to authenticate.
6487        '''
6488        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6489        '''
6490         ID of the secret store containing credentials for this resource, if any.
6491        '''
6492        self.subdomain = subdomain if subdomain is not None else ''
6493        '''
6494         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6495        '''
6496        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6497        '''
6498         Tags is a map of key, value pairs.
6499        '''
6500
6501    def __repr__(self):
6502        return '<sdm.Athena ' + \
6503            'access_key: ' + repr(self.access_key) + ' ' +\
6504            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6505            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6506            'healthy: ' + repr(self.healthy) + ' ' +\
6507            'id: ' + repr(self.id) + ' ' +\
6508            'name: ' + repr(self.name) + ' ' +\
6509            'output: ' + repr(self.output) + ' ' +\
6510            'port_override: ' + repr(self.port_override) + ' ' +\
6511            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6512            'region: ' + repr(self.region) + ' ' +\
6513            'role_arn: ' + repr(self.role_arn) + ' ' +\
6514            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
6515            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
6516            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6517            'subdomain: ' + repr(self.subdomain) + ' ' +\
6518            'tags: ' + repr(self.tags) + ' ' +\
6519            '>'
6520
6521    def to_dict(self):
6522        return {
6523            'access_key': self.access_key,
6524            'bind_interface': self.bind_interface,
6525            'egress_filter': self.egress_filter,
6526            'healthy': self.healthy,
6527            'id': self.id,
6528            'name': self.name,
6529            'output': self.output,
6530            'port_override': self.port_override,
6531            'proxy_cluster_id': self.proxy_cluster_id,
6532            'region': self.region,
6533            'role_arn': self.role_arn,
6534            'role_external_id': self.role_external_id,
6535            'secret_access_key': self.secret_access_key,
6536            'secret_store_id': self.secret_store_id,
6537            'subdomain': self.subdomain,
6538            'tags': self.tags,
6539        }
6540
6541    @classmethod
6542    def from_dict(cls, d):
6543        return cls(
6544            access_key=d.get('access_key'),
6545            bind_interface=d.get('bind_interface'),
6546            egress_filter=d.get('egress_filter'),
6547            healthy=d.get('healthy'),
6548            id=d.get('id'),
6549            name=d.get('name'),
6550            output=d.get('output'),
6551            port_override=d.get('port_override'),
6552            proxy_cluster_id=d.get('proxy_cluster_id'),
6553            region=d.get('region'),
6554            role_arn=d.get('role_arn'),
6555            role_external_id=d.get('role_external_id'),
6556            secret_access_key=d.get('secret_access_key'),
6557            secret_store_id=d.get('secret_store_id'),
6558            subdomain=d.get('subdomain'),
6559            tags=d.get('tags'),
6560        )
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)
6417    def __init__(
6418        self,
6419        access_key=None,
6420        bind_interface=None,
6421        egress_filter=None,
6422        healthy=None,
6423        id=None,
6424        name=None,
6425        output=None,
6426        port_override=None,
6427        proxy_cluster_id=None,
6428        region=None,
6429        role_arn=None,
6430        role_external_id=None,
6431        secret_access_key=None,
6432        secret_store_id=None,
6433        subdomain=None,
6434        tags=None,
6435    ):
6436        self.access_key = access_key if access_key is not None else ''
6437        '''
6438         The Access Key ID to use to authenticate.
6439        '''
6440        self.bind_interface = bind_interface if bind_interface is not None else ''
6441        '''
6442         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6443        '''
6444        self.egress_filter = egress_filter if egress_filter is not None else ''
6445        '''
6446         A filter applied to the routing logic to pin datasource to nodes.
6447        '''
6448        self.healthy = healthy if healthy is not None else False
6449        '''
6450         True if the datasource is reachable and the credentials are valid.
6451        '''
6452        self.id = id if id is not None else ''
6453        '''
6454         Unique identifier of the Resource.
6455        '''
6456        self.name = name if name is not None else ''
6457        '''
6458         Unique human-readable name of the Resource.
6459        '''
6460        self.output = output if output is not None else ''
6461        '''
6462         The AWS S3 output location.
6463        '''
6464        self.port_override = port_override if port_override is not None else 0
6465        '''
6466         The local port used by clients to connect to this resource.
6467        '''
6468        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6469        '''
6470         ID of the proxy cluster for this resource, if any.
6471        '''
6472        self.region = region if region is not None else ''
6473        '''
6474         The AWS region to connect to e.g. us-east-1.
6475        '''
6476        self.role_arn = role_arn if role_arn is not None else ''
6477        '''
6478         The role to assume after logging in.
6479        '''
6480        self.role_external_id = role_external_id if role_external_id is not None else ''
6481        '''
6482         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6483        '''
6484        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
6485        '''
6486         The Secret Access Key to use to authenticate.
6487        '''
6488        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6489        '''
6490         ID of the secret store containing credentials for this resource, if any.
6491        '''
6492        self.subdomain = subdomain if subdomain is not None else ''
6493        '''
6494         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6495        '''
6496        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6497        '''
6498         Tags is a map of key, value pairs.
6499        '''
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.

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.

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

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.

def to_dict(self)
6521    def to_dict(self):
6522        return {
6523            'access_key': self.access_key,
6524            'bind_interface': self.bind_interface,
6525            'egress_filter': self.egress_filter,
6526            'healthy': self.healthy,
6527            'id': self.id,
6528            'name': self.name,
6529            'output': self.output,
6530            'port_override': self.port_override,
6531            'proxy_cluster_id': self.proxy_cluster_id,
6532            'region': self.region,
6533            'role_arn': self.role_arn,
6534            'role_external_id': self.role_external_id,
6535            'secret_access_key': self.secret_access_key,
6536            'secret_store_id': self.secret_store_id,
6537            'subdomain': self.subdomain,
6538            'tags': self.tags,
6539        }
@classmethod
def from_dict(cls, d)
6541    @classmethod
6542    def from_dict(cls, d):
6543        return cls(
6544            access_key=d.get('access_key'),
6545            bind_interface=d.get('bind_interface'),
6546            egress_filter=d.get('egress_filter'),
6547            healthy=d.get('healthy'),
6548            id=d.get('id'),
6549            name=d.get('name'),
6550            output=d.get('output'),
6551            port_override=d.get('port_override'),
6552            proxy_cluster_id=d.get('proxy_cluster_id'),
6553            region=d.get('region'),
6554            role_arn=d.get('role_arn'),
6555            role_external_id=d.get('role_external_id'),
6556            secret_access_key=d.get('secret_access_key'),
6557            secret_store_id=d.get('secret_store_id'),
6558            subdomain=d.get('subdomain'),
6559            tags=d.get('tags'),
6560        )
class AthenaIAM:
6563class AthenaIAM:
6564    __slots__ = [
6565        'bind_interface',
6566        'egress_filter',
6567        'healthy',
6568        'id',
6569        'name',
6570        'output',
6571        'port_override',
6572        'proxy_cluster_id',
6573        'region',
6574        'role_arn',
6575        'role_external_id',
6576        'secret_store_id',
6577        'subdomain',
6578        'tags',
6579    ]
6580
6581    def __init__(
6582        self,
6583        bind_interface=None,
6584        egress_filter=None,
6585        healthy=None,
6586        id=None,
6587        name=None,
6588        output=None,
6589        port_override=None,
6590        proxy_cluster_id=None,
6591        region=None,
6592        role_arn=None,
6593        role_external_id=None,
6594        secret_store_id=None,
6595        subdomain=None,
6596        tags=None,
6597    ):
6598        self.bind_interface = bind_interface if bind_interface is not None else ''
6599        '''
6600         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6601        '''
6602        self.egress_filter = egress_filter if egress_filter is not None else ''
6603        '''
6604         A filter applied to the routing logic to pin datasource to nodes.
6605        '''
6606        self.healthy = healthy if healthy is not None else False
6607        '''
6608         True if the datasource is reachable and the credentials are valid.
6609        '''
6610        self.id = id if id is not None else ''
6611        '''
6612         Unique identifier of the Resource.
6613        '''
6614        self.name = name if name is not None else ''
6615        '''
6616         Unique human-readable name of the Resource.
6617        '''
6618        self.output = output if output is not None else ''
6619        '''
6620         The AWS S3 output location.
6621        '''
6622        self.port_override = port_override if port_override is not None else 0
6623        '''
6624         The local port used by clients to connect to this resource.
6625        '''
6626        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6627        '''
6628         ID of the proxy cluster for this resource, if any.
6629        '''
6630        self.region = region if region is not None else ''
6631        '''
6632         The AWS region to connect to e.g. us-east-1.
6633        '''
6634        self.role_arn = role_arn if role_arn is not None else ''
6635        '''
6636         The role to assume after logging in.
6637        '''
6638        self.role_external_id = role_external_id if role_external_id is not None else ''
6639        '''
6640         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6641        '''
6642        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6643        '''
6644         ID of the secret store containing credentials for this resource, if any.
6645        '''
6646        self.subdomain = subdomain if subdomain is not None else ''
6647        '''
6648         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6649        '''
6650        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6651        '''
6652         Tags is a map of key, value pairs.
6653        '''
6654
6655    def __repr__(self):
6656        return '<sdm.AthenaIAM ' + \
6657            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6658            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6659            'healthy: ' + repr(self.healthy) + ' ' +\
6660            'id: ' + repr(self.id) + ' ' +\
6661            'name: ' + repr(self.name) + ' ' +\
6662            'output: ' + repr(self.output) + ' ' +\
6663            'port_override: ' + repr(self.port_override) + ' ' +\
6664            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6665            'region: ' + repr(self.region) + ' ' +\
6666            'role_arn: ' + repr(self.role_arn) + ' ' +\
6667            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
6668            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6669            'subdomain: ' + repr(self.subdomain) + ' ' +\
6670            'tags: ' + repr(self.tags) + ' ' +\
6671            '>'
6672
6673    def to_dict(self):
6674        return {
6675            'bind_interface': self.bind_interface,
6676            'egress_filter': self.egress_filter,
6677            'healthy': self.healthy,
6678            'id': self.id,
6679            'name': self.name,
6680            'output': self.output,
6681            'port_override': self.port_override,
6682            'proxy_cluster_id': self.proxy_cluster_id,
6683            'region': self.region,
6684            'role_arn': self.role_arn,
6685            'role_external_id': self.role_external_id,
6686            'secret_store_id': self.secret_store_id,
6687            'subdomain': self.subdomain,
6688            'tags': self.tags,
6689        }
6690
6691    @classmethod
6692    def from_dict(cls, d):
6693        return cls(
6694            bind_interface=d.get('bind_interface'),
6695            egress_filter=d.get('egress_filter'),
6696            healthy=d.get('healthy'),
6697            id=d.get('id'),
6698            name=d.get('name'),
6699            output=d.get('output'),
6700            port_override=d.get('port_override'),
6701            proxy_cluster_id=d.get('proxy_cluster_id'),
6702            region=d.get('region'),
6703            role_arn=d.get('role_arn'),
6704            role_external_id=d.get('role_external_id'),
6705            secret_store_id=d.get('secret_store_id'),
6706            subdomain=d.get('subdomain'),
6707            tags=d.get('tags'),
6708        )
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)
6581    def __init__(
6582        self,
6583        bind_interface=None,
6584        egress_filter=None,
6585        healthy=None,
6586        id=None,
6587        name=None,
6588        output=None,
6589        port_override=None,
6590        proxy_cluster_id=None,
6591        region=None,
6592        role_arn=None,
6593        role_external_id=None,
6594        secret_store_id=None,
6595        subdomain=None,
6596        tags=None,
6597    ):
6598        self.bind_interface = bind_interface if bind_interface is not None else ''
6599        '''
6600         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6601        '''
6602        self.egress_filter = egress_filter if egress_filter is not None else ''
6603        '''
6604         A filter applied to the routing logic to pin datasource to nodes.
6605        '''
6606        self.healthy = healthy if healthy is not None else False
6607        '''
6608         True if the datasource is reachable and the credentials are valid.
6609        '''
6610        self.id = id if id is not None else ''
6611        '''
6612         Unique identifier of the Resource.
6613        '''
6614        self.name = name if name is not None else ''
6615        '''
6616         Unique human-readable name of the Resource.
6617        '''
6618        self.output = output if output is not None else ''
6619        '''
6620         The AWS S3 output location.
6621        '''
6622        self.port_override = port_override if port_override is not None else 0
6623        '''
6624         The local port used by clients to connect to this resource.
6625        '''
6626        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6627        '''
6628         ID of the proxy cluster for this resource, if any.
6629        '''
6630        self.region = region if region is not None else ''
6631        '''
6632         The AWS region to connect to e.g. us-east-1.
6633        '''
6634        self.role_arn = role_arn if role_arn is not None else ''
6635        '''
6636         The role to assume after logging in.
6637        '''
6638        self.role_external_id = role_external_id if role_external_id is not None else ''
6639        '''
6640         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6641        '''
6642        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6643        '''
6644         ID of the secret store containing credentials for this resource, if any.
6645        '''
6646        self.subdomain = subdomain if subdomain is not None else ''
6647        '''
6648         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6649        '''
6650        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6651        '''
6652         Tags is a map of key, value pairs.
6653        '''
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.

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.

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

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.

def to_dict(self)
6673    def to_dict(self):
6674        return {
6675            'bind_interface': self.bind_interface,
6676            'egress_filter': self.egress_filter,
6677            'healthy': self.healthy,
6678            'id': self.id,
6679            'name': self.name,
6680            'output': self.output,
6681            'port_override': self.port_override,
6682            'proxy_cluster_id': self.proxy_cluster_id,
6683            'region': self.region,
6684            'role_arn': self.role_arn,
6685            'role_external_id': self.role_external_id,
6686            'secret_store_id': self.secret_store_id,
6687            'subdomain': self.subdomain,
6688            'tags': self.tags,
6689        }
@classmethod
def from_dict(cls, d)
6691    @classmethod
6692    def from_dict(cls, d):
6693        return cls(
6694            bind_interface=d.get('bind_interface'),
6695            egress_filter=d.get('egress_filter'),
6696            healthy=d.get('healthy'),
6697            id=d.get('id'),
6698            name=d.get('name'),
6699            output=d.get('output'),
6700            port_override=d.get('port_override'),
6701            proxy_cluster_id=d.get('proxy_cluster_id'),
6702            region=d.get('region'),
6703            role_arn=d.get('role_arn'),
6704            role_external_id=d.get('role_external_id'),
6705            secret_store_id=d.get('secret_store_id'),
6706            subdomain=d.get('subdomain'),
6707            tags=d.get('tags'),
6708        )
class AuroraMysql:
6711class AuroraMysql:
6712    __slots__ = [
6713        'bind_interface',
6714        'database',
6715        'egress_filter',
6716        'healthy',
6717        'hostname',
6718        'id',
6719        'name',
6720        'password',
6721        'port',
6722        'port_override',
6723        'proxy_cluster_id',
6724        'require_native_auth',
6725        'secret_store_id',
6726        'subdomain',
6727        'tags',
6728        'use_azure_single_server_usernames',
6729        'username',
6730    ]
6731
6732    def __init__(
6733        self,
6734        bind_interface=None,
6735        database=None,
6736        egress_filter=None,
6737        healthy=None,
6738        hostname=None,
6739        id=None,
6740        name=None,
6741        password=None,
6742        port=None,
6743        port_override=None,
6744        proxy_cluster_id=None,
6745        require_native_auth=None,
6746        secret_store_id=None,
6747        subdomain=None,
6748        tags=None,
6749        use_azure_single_server_usernames=None,
6750        username=None,
6751    ):
6752        self.bind_interface = bind_interface if bind_interface is not None else ''
6753        '''
6754         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6755        '''
6756        self.database = database if database is not None else ''
6757        '''
6758         The database for healthchecks. Does not affect client requests
6759        '''
6760        self.egress_filter = egress_filter if egress_filter is not None else ''
6761        '''
6762         A filter applied to the routing logic to pin datasource to nodes.
6763        '''
6764        self.healthy = healthy if healthy is not None else False
6765        '''
6766         True if the datasource is reachable and the credentials are valid.
6767        '''
6768        self.hostname = hostname if hostname is not None else ''
6769        '''
6770         The host to dial to initiate a connection from the egress node to this resource.
6771        '''
6772        self.id = id if id is not None else ''
6773        '''
6774         Unique identifier of the Resource.
6775        '''
6776        self.name = name if name is not None else ''
6777        '''
6778         Unique human-readable name of the Resource.
6779        '''
6780        self.password = password if password is not None else ''
6781        '''
6782         The password to authenticate with.
6783        '''
6784        self.port = port if port is not None else 0
6785        '''
6786         The port to dial to initiate a connection from the egress node to this resource.
6787        '''
6788        self.port_override = port_override if port_override is not None else 0
6789        '''
6790         The local port used by clients to connect to this resource.
6791        '''
6792        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6793        '''
6794         ID of the proxy cluster for this resource, if any.
6795        '''
6796        self.require_native_auth = require_native_auth if require_native_auth is not None else False
6797        '''
6798         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6799        '''
6800        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6801        '''
6802         ID of the secret store containing credentials for this resource, if any.
6803        '''
6804        self.subdomain = subdomain if subdomain is not None else ''
6805        '''
6806         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6807        '''
6808        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6809        '''
6810         Tags is a map of key, value pairs.
6811        '''
6812        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
6813        '''
6814         If true, appends the hostname to the username when hitting a database.azure.com address
6815        '''
6816        self.username = username if username is not None else ''
6817        '''
6818         The username to authenticate with.
6819        '''
6820
6821    def __repr__(self):
6822        return '<sdm.AuroraMysql ' + \
6823            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6824            'database: ' + repr(self.database) + ' ' +\
6825            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6826            'healthy: ' + repr(self.healthy) + ' ' +\
6827            'hostname: ' + repr(self.hostname) + ' ' +\
6828            'id: ' + repr(self.id) + ' ' +\
6829            'name: ' + repr(self.name) + ' ' +\
6830            'password: ' + repr(self.password) + ' ' +\
6831            'port: ' + repr(self.port) + ' ' +\
6832            'port_override: ' + repr(self.port_override) + ' ' +\
6833            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6834            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
6835            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6836            'subdomain: ' + repr(self.subdomain) + ' ' +\
6837            'tags: ' + repr(self.tags) + ' ' +\
6838            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
6839            'username: ' + repr(self.username) + ' ' +\
6840            '>'
6841
6842    def to_dict(self):
6843        return {
6844            'bind_interface': self.bind_interface,
6845            'database': self.database,
6846            'egress_filter': self.egress_filter,
6847            'healthy': self.healthy,
6848            'hostname': self.hostname,
6849            'id': self.id,
6850            'name': self.name,
6851            'password': self.password,
6852            'port': self.port,
6853            'port_override': self.port_override,
6854            'proxy_cluster_id': self.proxy_cluster_id,
6855            'require_native_auth': self.require_native_auth,
6856            'secret_store_id': self.secret_store_id,
6857            'subdomain': self.subdomain,
6858            'tags': self.tags,
6859            'use_azure_single_server_usernames':
6860            self.use_azure_single_server_usernames,
6861            'username': self.username,
6862        }
6863
6864    @classmethod
6865    def from_dict(cls, d):
6866        return cls(
6867            bind_interface=d.get('bind_interface'),
6868            database=d.get('database'),
6869            egress_filter=d.get('egress_filter'),
6870            healthy=d.get('healthy'),
6871            hostname=d.get('hostname'),
6872            id=d.get('id'),
6873            name=d.get('name'),
6874            password=d.get('password'),
6875            port=d.get('port'),
6876            port_override=d.get('port_override'),
6877            proxy_cluster_id=d.get('proxy_cluster_id'),
6878            require_native_auth=d.get('require_native_auth'),
6879            secret_store_id=d.get('secret_store_id'),
6880            subdomain=d.get('subdomain'),
6881            tags=d.get('tags'),
6882            use_azure_single_server_usernames=d.get(
6883                'use_azure_single_server_usernames'),
6884            username=d.get('username'),
6885        )
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)
6732    def __init__(
6733        self,
6734        bind_interface=None,
6735        database=None,
6736        egress_filter=None,
6737        healthy=None,
6738        hostname=None,
6739        id=None,
6740        name=None,
6741        password=None,
6742        port=None,
6743        port_override=None,
6744        proxy_cluster_id=None,
6745        require_native_auth=None,
6746        secret_store_id=None,
6747        subdomain=None,
6748        tags=None,
6749        use_azure_single_server_usernames=None,
6750        username=None,
6751    ):
6752        self.bind_interface = bind_interface if bind_interface is not None else ''
6753        '''
6754         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6755        '''
6756        self.database = database if database is not None else ''
6757        '''
6758         The database for healthchecks. Does not affect client requests
6759        '''
6760        self.egress_filter = egress_filter if egress_filter is not None else ''
6761        '''
6762         A filter applied to the routing logic to pin datasource to nodes.
6763        '''
6764        self.healthy = healthy if healthy is not None else False
6765        '''
6766         True if the datasource is reachable and the credentials are valid.
6767        '''
6768        self.hostname = hostname if hostname is not None else ''
6769        '''
6770         The host to dial to initiate a connection from the egress node to this resource.
6771        '''
6772        self.id = id if id is not None else ''
6773        '''
6774         Unique identifier of the Resource.
6775        '''
6776        self.name = name if name is not None else ''
6777        '''
6778         Unique human-readable name of the Resource.
6779        '''
6780        self.password = password if password is not None else ''
6781        '''
6782         The password to authenticate with.
6783        '''
6784        self.port = port if port is not None else 0
6785        '''
6786         The port to dial to initiate a connection from the egress node to this resource.
6787        '''
6788        self.port_override = port_override if port_override is not None else 0
6789        '''
6790         The local port used by clients to connect to this resource.
6791        '''
6792        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6793        '''
6794         ID of the proxy cluster for this resource, if any.
6795        '''
6796        self.require_native_auth = require_native_auth if require_native_auth is not None else False
6797        '''
6798         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6799        '''
6800        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6801        '''
6802         ID of the secret store containing credentials for this resource, if any.
6803        '''
6804        self.subdomain = subdomain if subdomain is not None else ''
6805        '''
6806         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6807        '''
6808        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6809        '''
6810         Tags is a map of key, value pairs.
6811        '''
6812        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
6813        '''
6814         If true, appends the hostname to the username when hitting a database.azure.com address
6815        '''
6816        self.username = username if username is not None else ''
6817        '''
6818         The username to authenticate with.
6819        '''
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.

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.

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

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_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)
6842    def to_dict(self):
6843        return {
6844            'bind_interface': self.bind_interface,
6845            'database': self.database,
6846            'egress_filter': self.egress_filter,
6847            'healthy': self.healthy,
6848            'hostname': self.hostname,
6849            'id': self.id,
6850            'name': self.name,
6851            'password': self.password,
6852            'port': self.port,
6853            'port_override': self.port_override,
6854            'proxy_cluster_id': self.proxy_cluster_id,
6855            'require_native_auth': self.require_native_auth,
6856            'secret_store_id': self.secret_store_id,
6857            'subdomain': self.subdomain,
6858            'tags': self.tags,
6859            'use_azure_single_server_usernames':
6860            self.use_azure_single_server_usernames,
6861            'username': self.username,
6862        }
@classmethod
def from_dict(cls, d)
6864    @classmethod
6865    def from_dict(cls, d):
6866        return cls(
6867            bind_interface=d.get('bind_interface'),
6868            database=d.get('database'),
6869            egress_filter=d.get('egress_filter'),
6870            healthy=d.get('healthy'),
6871            hostname=d.get('hostname'),
6872            id=d.get('id'),
6873            name=d.get('name'),
6874            password=d.get('password'),
6875            port=d.get('port'),
6876            port_override=d.get('port_override'),
6877            proxy_cluster_id=d.get('proxy_cluster_id'),
6878            require_native_auth=d.get('require_native_auth'),
6879            secret_store_id=d.get('secret_store_id'),
6880            subdomain=d.get('subdomain'),
6881            tags=d.get('tags'),
6882            use_azure_single_server_usernames=d.get(
6883                'use_azure_single_server_usernames'),
6884            username=d.get('username'),
6885        )
class AuroraMysqlIAM:
6888class AuroraMysqlIAM:
6889    __slots__ = [
6890        'bind_interface',
6891        'database',
6892        'egress_filter',
6893        'healthy',
6894        'hostname',
6895        'id',
6896        'name',
6897        'port',
6898        'port_override',
6899        'proxy_cluster_id',
6900        'region',
6901        'role_assumption_arn',
6902        'secret_store_id',
6903        'subdomain',
6904        'tags',
6905        'username',
6906    ]
6907
6908    def __init__(
6909        self,
6910        bind_interface=None,
6911        database=None,
6912        egress_filter=None,
6913        healthy=None,
6914        hostname=None,
6915        id=None,
6916        name=None,
6917        port=None,
6918        port_override=None,
6919        proxy_cluster_id=None,
6920        region=None,
6921        role_assumption_arn=None,
6922        secret_store_id=None,
6923        subdomain=None,
6924        tags=None,
6925        username=None,
6926    ):
6927        self.bind_interface = bind_interface if bind_interface is not None else ''
6928        '''
6929         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6930        '''
6931        self.database = database if database is not None else ''
6932        '''
6933         The database for healthchecks. Does not affect client requests
6934        '''
6935        self.egress_filter = egress_filter if egress_filter is not None else ''
6936        '''
6937         A filter applied to the routing logic to pin datasource to nodes.
6938        '''
6939        self.healthy = healthy if healthy is not None else False
6940        '''
6941         True if the datasource is reachable and the credentials are valid.
6942        '''
6943        self.hostname = hostname if hostname is not None else ''
6944        '''
6945         The host to dial to initiate a connection from the egress node to this resource.
6946        '''
6947        self.id = id if id is not None else ''
6948        '''
6949         Unique identifier of the Resource.
6950        '''
6951        self.name = name if name is not None else ''
6952        '''
6953         Unique human-readable name of the Resource.
6954        '''
6955        self.port = port if port is not None else 0
6956        '''
6957         The port to dial to initiate a connection from the egress node to this resource.
6958        '''
6959        self.port_override = port_override if port_override is not None else 0
6960        '''
6961         The local port used by clients to connect to this resource.
6962        '''
6963        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6964        '''
6965         ID of the proxy cluster for this resource, if any.
6966        '''
6967        self.region = region if region is not None else ''
6968        '''
6969         The AWS region to connect to.
6970        '''
6971        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6972        '''
6973         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6974        '''
6975        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6976        '''
6977         ID of the secret store containing credentials for this resource, if any.
6978        '''
6979        self.subdomain = subdomain if subdomain is not None else ''
6980        '''
6981         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6982        '''
6983        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6984        '''
6985         Tags is a map of key, value pairs.
6986        '''
6987        self.username = username if username is not None else ''
6988        '''
6989         The username to authenticate with.
6990        '''
6991
6992    def __repr__(self):
6993        return '<sdm.AuroraMysqlIAM ' + \
6994            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6995            'database: ' + repr(self.database) + ' ' +\
6996            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6997            'healthy: ' + repr(self.healthy) + ' ' +\
6998            'hostname: ' + repr(self.hostname) + ' ' +\
6999            'id: ' + repr(self.id) + ' ' +\
7000            'name: ' + repr(self.name) + ' ' +\
7001            'port: ' + repr(self.port) + ' ' +\
7002            'port_override: ' + repr(self.port_override) + ' ' +\
7003            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7004            'region: ' + repr(self.region) + ' ' +\
7005            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
7006            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7007            'subdomain: ' + repr(self.subdomain) + ' ' +\
7008            'tags: ' + repr(self.tags) + ' ' +\
7009            'username: ' + repr(self.username) + ' ' +\
7010            '>'
7011
7012    def to_dict(self):
7013        return {
7014            'bind_interface': self.bind_interface,
7015            'database': self.database,
7016            'egress_filter': self.egress_filter,
7017            'healthy': self.healthy,
7018            'hostname': self.hostname,
7019            'id': self.id,
7020            'name': self.name,
7021            'port': self.port,
7022            'port_override': self.port_override,
7023            'proxy_cluster_id': self.proxy_cluster_id,
7024            'region': self.region,
7025            'role_assumption_arn': self.role_assumption_arn,
7026            'secret_store_id': self.secret_store_id,
7027            'subdomain': self.subdomain,
7028            'tags': self.tags,
7029            'username': self.username,
7030        }
7031
7032    @classmethod
7033    def from_dict(cls, d):
7034        return cls(
7035            bind_interface=d.get('bind_interface'),
7036            database=d.get('database'),
7037            egress_filter=d.get('egress_filter'),
7038            healthy=d.get('healthy'),
7039            hostname=d.get('hostname'),
7040            id=d.get('id'),
7041            name=d.get('name'),
7042            port=d.get('port'),
7043            port_override=d.get('port_override'),
7044            proxy_cluster_id=d.get('proxy_cluster_id'),
7045            region=d.get('region'),
7046            role_assumption_arn=d.get('role_assumption_arn'),
7047            secret_store_id=d.get('secret_store_id'),
7048            subdomain=d.get('subdomain'),
7049            tags=d.get('tags'),
7050            username=d.get('username'),
7051        )
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)
6908    def __init__(
6909        self,
6910        bind_interface=None,
6911        database=None,
6912        egress_filter=None,
6913        healthy=None,
6914        hostname=None,
6915        id=None,
6916        name=None,
6917        port=None,
6918        port_override=None,
6919        proxy_cluster_id=None,
6920        region=None,
6921        role_assumption_arn=None,
6922        secret_store_id=None,
6923        subdomain=None,
6924        tags=None,
6925        username=None,
6926    ):
6927        self.bind_interface = bind_interface if bind_interface is not None else ''
6928        '''
6929         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6930        '''
6931        self.database = database if database is not None else ''
6932        '''
6933         The database for healthchecks. Does not affect client requests
6934        '''
6935        self.egress_filter = egress_filter if egress_filter is not None else ''
6936        '''
6937         A filter applied to the routing logic to pin datasource to nodes.
6938        '''
6939        self.healthy = healthy if healthy is not None else False
6940        '''
6941         True if the datasource is reachable and the credentials are valid.
6942        '''
6943        self.hostname = hostname if hostname is not None else ''
6944        '''
6945         The host to dial to initiate a connection from the egress node to this resource.
6946        '''
6947        self.id = id if id is not None else ''
6948        '''
6949         Unique identifier of the Resource.
6950        '''
6951        self.name = name if name is not None else ''
6952        '''
6953         Unique human-readable name of the Resource.
6954        '''
6955        self.port = port if port is not None else 0
6956        '''
6957         The port to dial to initiate a connection from the egress node to this resource.
6958        '''
6959        self.port_override = port_override if port_override is not None else 0
6960        '''
6961         The local port used by clients to connect to this resource.
6962        '''
6963        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6964        '''
6965         ID of the proxy cluster for this resource, if any.
6966        '''
6967        self.region = region if region is not None else ''
6968        '''
6969         The AWS region to connect to.
6970        '''
6971        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6972        '''
6973         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6974        '''
6975        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6976        '''
6977         ID of the secret store containing credentials for this resource, if any.
6978        '''
6979        self.subdomain = subdomain if subdomain is not None else ''
6980        '''
6981         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6982        '''
6983        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6984        '''
6985         Tags is a map of key, value pairs.
6986        '''
6987        self.username = username if username is not None else ''
6988        '''
6989         The username to authenticate with.
6990        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
7012    def to_dict(self):
7013        return {
7014            'bind_interface': self.bind_interface,
7015            'database': self.database,
7016            'egress_filter': self.egress_filter,
7017            'healthy': self.healthy,
7018            'hostname': self.hostname,
7019            'id': self.id,
7020            'name': self.name,
7021            'port': self.port,
7022            'port_override': self.port_override,
7023            'proxy_cluster_id': self.proxy_cluster_id,
7024            'region': self.region,
7025            'role_assumption_arn': self.role_assumption_arn,
7026            'secret_store_id': self.secret_store_id,
7027            'subdomain': self.subdomain,
7028            'tags': self.tags,
7029            'username': self.username,
7030        }
@classmethod
def from_dict(cls, d)
7032    @classmethod
7033    def from_dict(cls, d):
7034        return cls(
7035            bind_interface=d.get('bind_interface'),
7036            database=d.get('database'),
7037            egress_filter=d.get('egress_filter'),
7038            healthy=d.get('healthy'),
7039            hostname=d.get('hostname'),
7040            id=d.get('id'),
7041            name=d.get('name'),
7042            port=d.get('port'),
7043            port_override=d.get('port_override'),
7044            proxy_cluster_id=d.get('proxy_cluster_id'),
7045            region=d.get('region'),
7046            role_assumption_arn=d.get('role_assumption_arn'),
7047            secret_store_id=d.get('secret_store_id'),
7048            subdomain=d.get('subdomain'),
7049            tags=d.get('tags'),
7050            username=d.get('username'),
7051        )
class AuroraPostgres:
7054class AuroraPostgres:
7055    __slots__ = [
7056        'bind_interface',
7057        'database',
7058        'egress_filter',
7059        'healthy',
7060        'hostname',
7061        'id',
7062        'name',
7063        'override_database',
7064        'password',
7065        'port',
7066        'port_override',
7067        'proxy_cluster_id',
7068        'secret_store_id',
7069        'subdomain',
7070        'tags',
7071        'username',
7072    ]
7073
7074    def __init__(
7075        self,
7076        bind_interface=None,
7077        database=None,
7078        egress_filter=None,
7079        healthy=None,
7080        hostname=None,
7081        id=None,
7082        name=None,
7083        override_database=None,
7084        password=None,
7085        port=None,
7086        port_override=None,
7087        proxy_cluster_id=None,
7088        secret_store_id=None,
7089        subdomain=None,
7090        tags=None,
7091        username=None,
7092    ):
7093        self.bind_interface = bind_interface if bind_interface is not None else ''
7094        '''
7095         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7096        '''
7097        self.database = database if database is not None else ''
7098        '''
7099         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7100        '''
7101        self.egress_filter = egress_filter if egress_filter is not None else ''
7102        '''
7103         A filter applied to the routing logic to pin datasource to nodes.
7104        '''
7105        self.healthy = healthy if healthy is not None else False
7106        '''
7107         True if the datasource is reachable and the credentials are valid.
7108        '''
7109        self.hostname = hostname if hostname is not None else ''
7110        '''
7111         The host to dial to initiate a connection from the egress node to this resource.
7112        '''
7113        self.id = id if id is not None else ''
7114        '''
7115         Unique identifier of the Resource.
7116        '''
7117        self.name = name if name is not None else ''
7118        '''
7119         Unique human-readable name of the Resource.
7120        '''
7121        self.override_database = override_database if override_database is not None else False
7122        '''
7123         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.
7124        '''
7125        self.password = password if password is not None else ''
7126        '''
7127         The password to authenticate with.
7128        '''
7129        self.port = port if port is not None else 0
7130        '''
7131         The port to dial to initiate a connection from the egress node to this resource.
7132        '''
7133        self.port_override = port_override if port_override is not None else 0
7134        '''
7135         The local port used by clients to connect to this resource.
7136        '''
7137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7138        '''
7139         ID of the proxy cluster for this resource, if any.
7140        '''
7141        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7142        '''
7143         ID of the secret store containing credentials for this resource, if any.
7144        '''
7145        self.subdomain = subdomain if subdomain is not None else ''
7146        '''
7147         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7148        '''
7149        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7150        '''
7151         Tags is a map of key, value pairs.
7152        '''
7153        self.username = username if username is not None else ''
7154        '''
7155         The username to authenticate with.
7156        '''
7157
7158    def __repr__(self):
7159        return '<sdm.AuroraPostgres ' + \
7160            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7161            'database: ' + repr(self.database) + ' ' +\
7162            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7163            'healthy: ' + repr(self.healthy) + ' ' +\
7164            'hostname: ' + repr(self.hostname) + ' ' +\
7165            'id: ' + repr(self.id) + ' ' +\
7166            'name: ' + repr(self.name) + ' ' +\
7167            'override_database: ' + repr(self.override_database) + ' ' +\
7168            'password: ' + repr(self.password) + ' ' +\
7169            'port: ' + repr(self.port) + ' ' +\
7170            'port_override: ' + repr(self.port_override) + ' ' +\
7171            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7172            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7173            'subdomain: ' + repr(self.subdomain) + ' ' +\
7174            'tags: ' + repr(self.tags) + ' ' +\
7175            'username: ' + repr(self.username) + ' ' +\
7176            '>'
7177
7178    def to_dict(self):
7179        return {
7180            'bind_interface': self.bind_interface,
7181            'database': self.database,
7182            'egress_filter': self.egress_filter,
7183            'healthy': self.healthy,
7184            'hostname': self.hostname,
7185            'id': self.id,
7186            'name': self.name,
7187            'override_database': self.override_database,
7188            'password': self.password,
7189            'port': self.port,
7190            'port_override': self.port_override,
7191            'proxy_cluster_id': self.proxy_cluster_id,
7192            'secret_store_id': self.secret_store_id,
7193            'subdomain': self.subdomain,
7194            'tags': self.tags,
7195            'username': self.username,
7196        }
7197
7198    @classmethod
7199    def from_dict(cls, d):
7200        return cls(
7201            bind_interface=d.get('bind_interface'),
7202            database=d.get('database'),
7203            egress_filter=d.get('egress_filter'),
7204            healthy=d.get('healthy'),
7205            hostname=d.get('hostname'),
7206            id=d.get('id'),
7207            name=d.get('name'),
7208            override_database=d.get('override_database'),
7209            password=d.get('password'),
7210            port=d.get('port'),
7211            port_override=d.get('port_override'),
7212            proxy_cluster_id=d.get('proxy_cluster_id'),
7213            secret_store_id=d.get('secret_store_id'),
7214            subdomain=d.get('subdomain'),
7215            tags=d.get('tags'),
7216            username=d.get('username'),
7217        )
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)
7074    def __init__(
7075        self,
7076        bind_interface=None,
7077        database=None,
7078        egress_filter=None,
7079        healthy=None,
7080        hostname=None,
7081        id=None,
7082        name=None,
7083        override_database=None,
7084        password=None,
7085        port=None,
7086        port_override=None,
7087        proxy_cluster_id=None,
7088        secret_store_id=None,
7089        subdomain=None,
7090        tags=None,
7091        username=None,
7092    ):
7093        self.bind_interface = bind_interface if bind_interface is not None else ''
7094        '''
7095         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7096        '''
7097        self.database = database if database is not None else ''
7098        '''
7099         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7100        '''
7101        self.egress_filter = egress_filter if egress_filter is not None else ''
7102        '''
7103         A filter applied to the routing logic to pin datasource to nodes.
7104        '''
7105        self.healthy = healthy if healthy is not None else False
7106        '''
7107         True if the datasource is reachable and the credentials are valid.
7108        '''
7109        self.hostname = hostname if hostname is not None else ''
7110        '''
7111         The host to dial to initiate a connection from the egress node to this resource.
7112        '''
7113        self.id = id if id is not None else ''
7114        '''
7115         Unique identifier of the Resource.
7116        '''
7117        self.name = name if name is not None else ''
7118        '''
7119         Unique human-readable name of the Resource.
7120        '''
7121        self.override_database = override_database if override_database is not None else False
7122        '''
7123         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.
7124        '''
7125        self.password = password if password is not None else ''
7126        '''
7127         The password to authenticate with.
7128        '''
7129        self.port = port if port is not None else 0
7130        '''
7131         The port to dial to initiate a connection from the egress node to this resource.
7132        '''
7133        self.port_override = port_override if port_override is not None else 0
7134        '''
7135         The local port used by clients to connect to this resource.
7136        '''
7137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7138        '''
7139         ID of the proxy cluster for this resource, if any.
7140        '''
7141        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7142        '''
7143         ID of the secret store containing credentials for this resource, if any.
7144        '''
7145        self.subdomain = subdomain if subdomain is not None else ''
7146        '''
7147         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7148        '''
7149        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7150        '''
7151         Tags is a map of key, value pairs.
7152        '''
7153        self.username = username if username is not None else ''
7154        '''
7155         The username to authenticate with.
7156        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
7178    def to_dict(self):
7179        return {
7180            'bind_interface': self.bind_interface,
7181            'database': self.database,
7182            'egress_filter': self.egress_filter,
7183            'healthy': self.healthy,
7184            'hostname': self.hostname,
7185            'id': self.id,
7186            'name': self.name,
7187            'override_database': self.override_database,
7188            'password': self.password,
7189            'port': self.port,
7190            'port_override': self.port_override,
7191            'proxy_cluster_id': self.proxy_cluster_id,
7192            'secret_store_id': self.secret_store_id,
7193            'subdomain': self.subdomain,
7194            'tags': self.tags,
7195            'username': self.username,
7196        }
@classmethod
def from_dict(cls, d)
7198    @classmethod
7199    def from_dict(cls, d):
7200        return cls(
7201            bind_interface=d.get('bind_interface'),
7202            database=d.get('database'),
7203            egress_filter=d.get('egress_filter'),
7204            healthy=d.get('healthy'),
7205            hostname=d.get('hostname'),
7206            id=d.get('id'),
7207            name=d.get('name'),
7208            override_database=d.get('override_database'),
7209            password=d.get('password'),
7210            port=d.get('port'),
7211            port_override=d.get('port_override'),
7212            proxy_cluster_id=d.get('proxy_cluster_id'),
7213            secret_store_id=d.get('secret_store_id'),
7214            subdomain=d.get('subdomain'),
7215            tags=d.get('tags'),
7216            username=d.get('username'),
7217        )
class AuroraPostgresIAM:
7220class AuroraPostgresIAM:
7221    __slots__ = [
7222        'bind_interface',
7223        'database',
7224        'egress_filter',
7225        'healthy',
7226        'hostname',
7227        'id',
7228        'name',
7229        'override_database',
7230        'port',
7231        'port_override',
7232        'proxy_cluster_id',
7233        'region',
7234        'role_assumption_arn',
7235        'secret_store_id',
7236        'subdomain',
7237        'tags',
7238        'username',
7239    ]
7240
7241    def __init__(
7242        self,
7243        bind_interface=None,
7244        database=None,
7245        egress_filter=None,
7246        healthy=None,
7247        hostname=None,
7248        id=None,
7249        name=None,
7250        override_database=None,
7251        port=None,
7252        port_override=None,
7253        proxy_cluster_id=None,
7254        region=None,
7255        role_assumption_arn=None,
7256        secret_store_id=None,
7257        subdomain=None,
7258        tags=None,
7259        username=None,
7260    ):
7261        self.bind_interface = bind_interface if bind_interface is not None else ''
7262        '''
7263         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7264        '''
7265        self.database = database if database is not None else ''
7266        '''
7267         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7268        '''
7269        self.egress_filter = egress_filter if egress_filter is not None else ''
7270        '''
7271         A filter applied to the routing logic to pin datasource to nodes.
7272        '''
7273        self.healthy = healthy if healthy is not None else False
7274        '''
7275         True if the datasource is reachable and the credentials are valid.
7276        '''
7277        self.hostname = hostname if hostname is not None else ''
7278        '''
7279         The host to dial to initiate a connection from the egress node to this resource.
7280        '''
7281        self.id = id if id is not None else ''
7282        '''
7283         Unique identifier of the Resource.
7284        '''
7285        self.name = name if name is not None else ''
7286        '''
7287         Unique human-readable name of the Resource.
7288        '''
7289        self.override_database = override_database if override_database is not None else False
7290        '''
7291         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.
7292        '''
7293        self.port = port if port is not None else 0
7294        '''
7295         The port to dial to initiate a connection from the egress node to this resource.
7296        '''
7297        self.port_override = port_override if port_override is not None else 0
7298        '''
7299         The local port used by clients to connect to this resource.
7300        '''
7301        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7302        '''
7303         ID of the proxy cluster for this resource, if any.
7304        '''
7305        self.region = region if region is not None else ''
7306        '''
7307         The AWS region to connect to.
7308        '''
7309        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
7310        '''
7311         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
7312        '''
7313        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7314        '''
7315         ID of the secret store containing credentials for this resource, if any.
7316        '''
7317        self.subdomain = subdomain if subdomain is not None else ''
7318        '''
7319         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7320        '''
7321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7322        '''
7323         Tags is a map of key, value pairs.
7324        '''
7325        self.username = username if username is not None else ''
7326        '''
7327         The username to authenticate with.
7328        '''
7329
7330    def __repr__(self):
7331        return '<sdm.AuroraPostgresIAM ' + \
7332            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7333            'database: ' + repr(self.database) + ' ' +\
7334            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7335            'healthy: ' + repr(self.healthy) + ' ' +\
7336            'hostname: ' + repr(self.hostname) + ' ' +\
7337            'id: ' + repr(self.id) + ' ' +\
7338            'name: ' + repr(self.name) + ' ' +\
7339            'override_database: ' + repr(self.override_database) + ' ' +\
7340            'port: ' + repr(self.port) + ' ' +\
7341            'port_override: ' + repr(self.port_override) + ' ' +\
7342            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7343            'region: ' + repr(self.region) + ' ' +\
7344            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
7345            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7346            'subdomain: ' + repr(self.subdomain) + ' ' +\
7347            'tags: ' + repr(self.tags) + ' ' +\
7348            'username: ' + repr(self.username) + ' ' +\
7349            '>'
7350
7351    def to_dict(self):
7352        return {
7353            'bind_interface': self.bind_interface,
7354            'database': self.database,
7355            'egress_filter': self.egress_filter,
7356            'healthy': self.healthy,
7357            'hostname': self.hostname,
7358            'id': self.id,
7359            'name': self.name,
7360            'override_database': self.override_database,
7361            'port': self.port,
7362            'port_override': self.port_override,
7363            'proxy_cluster_id': self.proxy_cluster_id,
7364            'region': self.region,
7365            'role_assumption_arn': self.role_assumption_arn,
7366            'secret_store_id': self.secret_store_id,
7367            'subdomain': self.subdomain,
7368            'tags': self.tags,
7369            'username': self.username,
7370        }
7371
7372    @classmethod
7373    def from_dict(cls, d):
7374        return cls(
7375            bind_interface=d.get('bind_interface'),
7376            database=d.get('database'),
7377            egress_filter=d.get('egress_filter'),
7378            healthy=d.get('healthy'),
7379            hostname=d.get('hostname'),
7380            id=d.get('id'),
7381            name=d.get('name'),
7382            override_database=d.get('override_database'),
7383            port=d.get('port'),
7384            port_override=d.get('port_override'),
7385            proxy_cluster_id=d.get('proxy_cluster_id'),
7386            region=d.get('region'),
7387            role_assumption_arn=d.get('role_assumption_arn'),
7388            secret_store_id=d.get('secret_store_id'),
7389            subdomain=d.get('subdomain'),
7390            tags=d.get('tags'),
7391            username=d.get('username'),
7392        )
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)
7241    def __init__(
7242        self,
7243        bind_interface=None,
7244        database=None,
7245        egress_filter=None,
7246        healthy=None,
7247        hostname=None,
7248        id=None,
7249        name=None,
7250        override_database=None,
7251        port=None,
7252        port_override=None,
7253        proxy_cluster_id=None,
7254        region=None,
7255        role_assumption_arn=None,
7256        secret_store_id=None,
7257        subdomain=None,
7258        tags=None,
7259        username=None,
7260    ):
7261        self.bind_interface = bind_interface if bind_interface is not None else ''
7262        '''
7263         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7264        '''
7265        self.database = database if database is not None else ''
7266        '''
7267         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7268        '''
7269        self.egress_filter = egress_filter if egress_filter is not None else ''
7270        '''
7271         A filter applied to the routing logic to pin datasource to nodes.
7272        '''
7273        self.healthy = healthy if healthy is not None else False
7274        '''
7275         True if the datasource is reachable and the credentials are valid.
7276        '''
7277        self.hostname = hostname if hostname is not None else ''
7278        '''
7279         The host to dial to initiate a connection from the egress node to this resource.
7280        '''
7281        self.id = id if id is not None else ''
7282        '''
7283         Unique identifier of the Resource.
7284        '''
7285        self.name = name if name is not None else ''
7286        '''
7287         Unique human-readable name of the Resource.
7288        '''
7289        self.override_database = override_database if override_database is not None else False
7290        '''
7291         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.
7292        '''
7293        self.port = port if port is not None else 0
7294        '''
7295         The port to dial to initiate a connection from the egress node to this resource.
7296        '''
7297        self.port_override = port_override if port_override is not None else 0
7298        '''
7299         The local port used by clients to connect to this resource.
7300        '''
7301        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7302        '''
7303         ID of the proxy cluster for this resource, if any.
7304        '''
7305        self.region = region if region is not None else ''
7306        '''
7307         The AWS region to connect to.
7308        '''
7309        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
7310        '''
7311         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
7312        '''
7313        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7314        '''
7315         ID of the secret store containing credentials for this resource, if any.
7316        '''
7317        self.subdomain = subdomain if subdomain is not None else ''
7318        '''
7319         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7320        '''
7321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7322        '''
7323         Tags is a map of key, value pairs.
7324        '''
7325        self.username = username if username is not None else ''
7326        '''
7327         The username to authenticate with.
7328        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
7351    def to_dict(self):
7352        return {
7353            'bind_interface': self.bind_interface,
7354            'database': self.database,
7355            'egress_filter': self.egress_filter,
7356            'healthy': self.healthy,
7357            'hostname': self.hostname,
7358            'id': self.id,
7359            'name': self.name,
7360            'override_database': self.override_database,
7361            'port': self.port,
7362            'port_override': self.port_override,
7363            'proxy_cluster_id': self.proxy_cluster_id,
7364            'region': self.region,
7365            'role_assumption_arn': self.role_assumption_arn,
7366            'secret_store_id': self.secret_store_id,
7367            'subdomain': self.subdomain,
7368            'tags': self.tags,
7369            'username': self.username,
7370        }
@classmethod
def from_dict(cls, d)
7372    @classmethod
7373    def from_dict(cls, d):
7374        return cls(
7375            bind_interface=d.get('bind_interface'),
7376            database=d.get('database'),
7377            egress_filter=d.get('egress_filter'),
7378            healthy=d.get('healthy'),
7379            hostname=d.get('hostname'),
7380            id=d.get('id'),
7381            name=d.get('name'),
7382            override_database=d.get('override_database'),
7383            port=d.get('port'),
7384            port_override=d.get('port_override'),
7385            proxy_cluster_id=d.get('proxy_cluster_id'),
7386            region=d.get('region'),
7387            role_assumption_arn=d.get('role_assumption_arn'),
7388            secret_store_id=d.get('secret_store_id'),
7389            subdomain=d.get('subdomain'),
7390            tags=d.get('tags'),
7391            username=d.get('username'),
7392        )
class Azure:
7395class Azure:
7396    __slots__ = [
7397        'app_id',
7398        'bind_interface',
7399        'egress_filter',
7400        'healthy',
7401        'id',
7402        'name',
7403        'password',
7404        'port_override',
7405        'proxy_cluster_id',
7406        'secret_store_id',
7407        'subdomain',
7408        'tags',
7409        'tenant_id',
7410    ]
7411
7412    def __init__(
7413        self,
7414        app_id=None,
7415        bind_interface=None,
7416        egress_filter=None,
7417        healthy=None,
7418        id=None,
7419        name=None,
7420        password=None,
7421        port_override=None,
7422        proxy_cluster_id=None,
7423        secret_store_id=None,
7424        subdomain=None,
7425        tags=None,
7426        tenant_id=None,
7427    ):
7428        self.app_id = app_id if app_id is not None else ''
7429        '''
7430         The application ID to authenticate with.
7431        '''
7432        self.bind_interface = bind_interface if bind_interface is not None else ''
7433        '''
7434         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7435        '''
7436        self.egress_filter = egress_filter if egress_filter is not None else ''
7437        '''
7438         A filter applied to the routing logic to pin datasource to nodes.
7439        '''
7440        self.healthy = healthy if healthy is not None else False
7441        '''
7442         True if the datasource is reachable and the credentials are valid.
7443        '''
7444        self.id = id if id is not None else ''
7445        '''
7446         Unique identifier of the Resource.
7447        '''
7448        self.name = name if name is not None else ''
7449        '''
7450         Unique human-readable name of the Resource.
7451        '''
7452        self.password = password if password is not None else ''
7453        '''
7454         The password to authenticate with.
7455        '''
7456        self.port_override = port_override if port_override is not None else 0
7457        '''
7458         The local port used by clients to connect to this resource.
7459        '''
7460        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7461        '''
7462         ID of the proxy cluster for this resource, if any.
7463        '''
7464        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7465        '''
7466         ID of the secret store containing credentials for this resource, if any.
7467        '''
7468        self.subdomain = subdomain if subdomain is not None else ''
7469        '''
7470         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7471        '''
7472        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7473        '''
7474         Tags is a map of key, value pairs.
7475        '''
7476        self.tenant_id = tenant_id if tenant_id is not None else ''
7477        '''
7478         The tenant ID to authenticate to.
7479        '''
7480
7481    def __repr__(self):
7482        return '<sdm.Azure ' + \
7483            'app_id: ' + repr(self.app_id) + ' ' +\
7484            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7485            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7486            'healthy: ' + repr(self.healthy) + ' ' +\
7487            'id: ' + repr(self.id) + ' ' +\
7488            'name: ' + repr(self.name) + ' ' +\
7489            'password: ' + repr(self.password) + ' ' +\
7490            'port_override: ' + repr(self.port_override) + ' ' +\
7491            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7492            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7493            'subdomain: ' + repr(self.subdomain) + ' ' +\
7494            'tags: ' + repr(self.tags) + ' ' +\
7495            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
7496            '>'
7497
7498    def to_dict(self):
7499        return {
7500            'app_id': self.app_id,
7501            'bind_interface': self.bind_interface,
7502            'egress_filter': self.egress_filter,
7503            'healthy': self.healthy,
7504            'id': self.id,
7505            'name': self.name,
7506            'password': self.password,
7507            'port_override': self.port_override,
7508            'proxy_cluster_id': self.proxy_cluster_id,
7509            'secret_store_id': self.secret_store_id,
7510            'subdomain': self.subdomain,
7511            'tags': self.tags,
7512            'tenant_id': self.tenant_id,
7513        }
7514
7515    @classmethod
7516    def from_dict(cls, d):
7517        return cls(
7518            app_id=d.get('app_id'),
7519            bind_interface=d.get('bind_interface'),
7520            egress_filter=d.get('egress_filter'),
7521            healthy=d.get('healthy'),
7522            id=d.get('id'),
7523            name=d.get('name'),
7524            password=d.get('password'),
7525            port_override=d.get('port_override'),
7526            proxy_cluster_id=d.get('proxy_cluster_id'),
7527            secret_store_id=d.get('secret_store_id'),
7528            subdomain=d.get('subdomain'),
7529            tags=d.get('tags'),
7530            tenant_id=d.get('tenant_id'),
7531        )
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)
7412    def __init__(
7413        self,
7414        app_id=None,
7415        bind_interface=None,
7416        egress_filter=None,
7417        healthy=None,
7418        id=None,
7419        name=None,
7420        password=None,
7421        port_override=None,
7422        proxy_cluster_id=None,
7423        secret_store_id=None,
7424        subdomain=None,
7425        tags=None,
7426        tenant_id=None,
7427    ):
7428        self.app_id = app_id if app_id is not None else ''
7429        '''
7430         The application ID to authenticate with.
7431        '''
7432        self.bind_interface = bind_interface if bind_interface is not None else ''
7433        '''
7434         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7435        '''
7436        self.egress_filter = egress_filter if egress_filter is not None else ''
7437        '''
7438         A filter applied to the routing logic to pin datasource to nodes.
7439        '''
7440        self.healthy = healthy if healthy is not None else False
7441        '''
7442         True if the datasource is reachable and the credentials are valid.
7443        '''
7444        self.id = id if id is not None else ''
7445        '''
7446         Unique identifier of the Resource.
7447        '''
7448        self.name = name if name is not None else ''
7449        '''
7450         Unique human-readable name of the Resource.
7451        '''
7452        self.password = password if password is not None else ''
7453        '''
7454         The password to authenticate with.
7455        '''
7456        self.port_override = port_override if port_override is not None else 0
7457        '''
7458         The local port used by clients to connect to this resource.
7459        '''
7460        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7461        '''
7462         ID of the proxy cluster for this resource, if any.
7463        '''
7464        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7465        '''
7466         ID of the secret store containing credentials for this resource, if any.
7467        '''
7468        self.subdomain = subdomain if subdomain is not None else ''
7469        '''
7470         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7471        '''
7472        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7473        '''
7474         Tags is a map of key, value pairs.
7475        '''
7476        self.tenant_id = tenant_id if tenant_id is not None else ''
7477        '''
7478         The tenant ID to authenticate to.
7479        '''
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.

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.

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.

tenant_id

The tenant ID to authenticate to.

def to_dict(self)
7498    def to_dict(self):
7499        return {
7500            'app_id': self.app_id,
7501            'bind_interface': self.bind_interface,
7502            'egress_filter': self.egress_filter,
7503            'healthy': self.healthy,
7504            'id': self.id,
7505            'name': self.name,
7506            'password': self.password,
7507            'port_override': self.port_override,
7508            'proxy_cluster_id': self.proxy_cluster_id,
7509            'secret_store_id': self.secret_store_id,
7510            'subdomain': self.subdomain,
7511            'tags': self.tags,
7512            'tenant_id': self.tenant_id,
7513        }
@classmethod
def from_dict(cls, d)
7515    @classmethod
7516    def from_dict(cls, d):
7517        return cls(
7518            app_id=d.get('app_id'),
7519            bind_interface=d.get('bind_interface'),
7520            egress_filter=d.get('egress_filter'),
7521            healthy=d.get('healthy'),
7522            id=d.get('id'),
7523            name=d.get('name'),
7524            password=d.get('password'),
7525            port_override=d.get('port_override'),
7526            proxy_cluster_id=d.get('proxy_cluster_id'),
7527            secret_store_id=d.get('secret_store_id'),
7528            subdomain=d.get('subdomain'),
7529            tags=d.get('tags'),
7530            tenant_id=d.get('tenant_id'),
7531        )
class AzureCertificate:
7534class AzureCertificate:
7535    __slots__ = [
7536        'app_id',
7537        'bind_interface',
7538        'client_certificate',
7539        'egress_filter',
7540        'healthy',
7541        'id',
7542        'name',
7543        'port_override',
7544        'proxy_cluster_id',
7545        'secret_store_id',
7546        'subdomain',
7547        'tags',
7548        'tenant_id',
7549    ]
7550
7551    def __init__(
7552        self,
7553        app_id=None,
7554        bind_interface=None,
7555        client_certificate=None,
7556        egress_filter=None,
7557        healthy=None,
7558        id=None,
7559        name=None,
7560        port_override=None,
7561        proxy_cluster_id=None,
7562        secret_store_id=None,
7563        subdomain=None,
7564        tags=None,
7565        tenant_id=None,
7566    ):
7567        self.app_id = app_id if app_id is not None else ''
7568        '''
7569         The application ID to authenticate with.
7570        '''
7571        self.bind_interface = bind_interface if bind_interface is not None else ''
7572        '''
7573         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7574        '''
7575        self.client_certificate = client_certificate if client_certificate is not None else ''
7576        '''
7577         The service Principal certificate file, both private and public key included.
7578        '''
7579        self.egress_filter = egress_filter if egress_filter is not None else ''
7580        '''
7581         A filter applied to the routing logic to pin datasource to nodes.
7582        '''
7583        self.healthy = healthy if healthy is not None else False
7584        '''
7585         True if the datasource is reachable and the credentials are valid.
7586        '''
7587        self.id = id if id is not None else ''
7588        '''
7589         Unique identifier of the Resource.
7590        '''
7591        self.name = name if name is not None else ''
7592        '''
7593         Unique human-readable name of the Resource.
7594        '''
7595        self.port_override = port_override if port_override is not None else 0
7596        '''
7597         The local port used by clients to connect to this resource.
7598        '''
7599        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7600        '''
7601         ID of the proxy cluster for this resource, if any.
7602        '''
7603        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7604        '''
7605         ID of the secret store containing credentials for this resource, if any.
7606        '''
7607        self.subdomain = subdomain if subdomain is not None else ''
7608        '''
7609         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7610        '''
7611        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7612        '''
7613         Tags is a map of key, value pairs.
7614        '''
7615        self.tenant_id = tenant_id if tenant_id is not None else ''
7616        '''
7617         The tenant ID to authenticate to.
7618        '''
7619
7620    def __repr__(self):
7621        return '<sdm.AzureCertificate ' + \
7622            'app_id: ' + repr(self.app_id) + ' ' +\
7623            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7624            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
7625            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7626            'healthy: ' + repr(self.healthy) + ' ' +\
7627            'id: ' + repr(self.id) + ' ' +\
7628            'name: ' + repr(self.name) + ' ' +\
7629            'port_override: ' + repr(self.port_override) + ' ' +\
7630            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7631            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7632            'subdomain: ' + repr(self.subdomain) + ' ' +\
7633            'tags: ' + repr(self.tags) + ' ' +\
7634            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
7635            '>'
7636
7637    def to_dict(self):
7638        return {
7639            'app_id': self.app_id,
7640            'bind_interface': self.bind_interface,
7641            'client_certificate': self.client_certificate,
7642            'egress_filter': self.egress_filter,
7643            'healthy': self.healthy,
7644            'id': self.id,
7645            'name': self.name,
7646            'port_override': self.port_override,
7647            'proxy_cluster_id': self.proxy_cluster_id,
7648            'secret_store_id': self.secret_store_id,
7649            'subdomain': self.subdomain,
7650            'tags': self.tags,
7651            'tenant_id': self.tenant_id,
7652        }
7653
7654    @classmethod
7655    def from_dict(cls, d):
7656        return cls(
7657            app_id=d.get('app_id'),
7658            bind_interface=d.get('bind_interface'),
7659            client_certificate=d.get('client_certificate'),
7660            egress_filter=d.get('egress_filter'),
7661            healthy=d.get('healthy'),
7662            id=d.get('id'),
7663            name=d.get('name'),
7664            port_override=d.get('port_override'),
7665            proxy_cluster_id=d.get('proxy_cluster_id'),
7666            secret_store_id=d.get('secret_store_id'),
7667            subdomain=d.get('subdomain'),
7668            tags=d.get('tags'),
7669            tenant_id=d.get('tenant_id'),
7670        )
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)
7551    def __init__(
7552        self,
7553        app_id=None,
7554        bind_interface=None,
7555        client_certificate=None,
7556        egress_filter=None,
7557        healthy=None,
7558        id=None,
7559        name=None,
7560        port_override=None,
7561        proxy_cluster_id=None,
7562        secret_store_id=None,
7563        subdomain=None,
7564        tags=None,
7565        tenant_id=None,
7566    ):
7567        self.app_id = app_id if app_id is not None else ''
7568        '''
7569         The application ID to authenticate with.
7570        '''
7571        self.bind_interface = bind_interface if bind_interface is not None else ''
7572        '''
7573         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7574        '''
7575        self.client_certificate = client_certificate if client_certificate is not None else ''
7576        '''
7577         The service Principal certificate file, both private and public key included.
7578        '''
7579        self.egress_filter = egress_filter if egress_filter is not None else ''
7580        '''
7581         A filter applied to the routing logic to pin datasource to nodes.
7582        '''
7583        self.healthy = healthy if healthy is not None else False
7584        '''
7585         True if the datasource is reachable and the credentials are valid.
7586        '''
7587        self.id = id if id is not None else ''
7588        '''
7589         Unique identifier of the Resource.
7590        '''
7591        self.name = name if name is not None else ''
7592        '''
7593         Unique human-readable name of the Resource.
7594        '''
7595        self.port_override = port_override if port_override is not None else 0
7596        '''
7597         The local port used by clients to connect to this resource.
7598        '''
7599        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7600        '''
7601         ID of the proxy cluster for this resource, if any.
7602        '''
7603        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7604        '''
7605         ID of the secret store containing credentials for this resource, if any.
7606        '''
7607        self.subdomain = subdomain if subdomain is not None else ''
7608        '''
7609         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7610        '''
7611        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7612        '''
7613         Tags is a map of key, value pairs.
7614        '''
7615        self.tenant_id = tenant_id if tenant_id is not None else ''
7616        '''
7617         The tenant ID to authenticate to.
7618        '''
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.

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.

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.

tenant_id

The tenant ID to authenticate to.

def to_dict(self)
7637    def to_dict(self):
7638        return {
7639            'app_id': self.app_id,
7640            'bind_interface': self.bind_interface,
7641            'client_certificate': self.client_certificate,
7642            'egress_filter': self.egress_filter,
7643            'healthy': self.healthy,
7644            'id': self.id,
7645            'name': self.name,
7646            'port_override': self.port_override,
7647            'proxy_cluster_id': self.proxy_cluster_id,
7648            'secret_store_id': self.secret_store_id,
7649            'subdomain': self.subdomain,
7650            'tags': self.tags,
7651            'tenant_id': self.tenant_id,
7652        }
@classmethod
def from_dict(cls, d)
7654    @classmethod
7655    def from_dict(cls, d):
7656        return cls(
7657            app_id=d.get('app_id'),
7658            bind_interface=d.get('bind_interface'),
7659            client_certificate=d.get('client_certificate'),
7660            egress_filter=d.get('egress_filter'),
7661            healthy=d.get('healthy'),
7662            id=d.get('id'),
7663            name=d.get('name'),
7664            port_override=d.get('port_override'),
7665            proxy_cluster_id=d.get('proxy_cluster_id'),
7666            secret_store_id=d.get('secret_store_id'),
7667            subdomain=d.get('subdomain'),
7668            tags=d.get('tags'),
7669            tenant_id=d.get('tenant_id'),
7670        )
class AzureConsole:
7673class AzureConsole:
7674    '''
7675    AzureConsole is currently unstable, and its API may change, or it may be removed,
7676    without a major version bump.
7677    '''
7678    __slots__ = [
7679        'bind_interface',
7680        'connector_id',
7681        'egress_filter',
7682        'healthy',
7683        'id',
7684        'identity_set_id',
7685        'management_group_id',
7686        'name',
7687        'privilege_levels',
7688        'proxy_cluster_id',
7689        'secret_store_id',
7690        'subdomain',
7691        'subscription_id',
7692        'tags',
7693    ]
7694
7695    def __init__(
7696        self,
7697        bind_interface=None,
7698        connector_id=None,
7699        egress_filter=None,
7700        healthy=None,
7701        id=None,
7702        identity_set_id=None,
7703        management_group_id=None,
7704        name=None,
7705        privilege_levels=None,
7706        proxy_cluster_id=None,
7707        secret_store_id=None,
7708        subdomain=None,
7709        subscription_id=None,
7710        tags=None,
7711    ):
7712        self.bind_interface = bind_interface if bind_interface is not None else ''
7713        '''
7714         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7715        '''
7716        self.connector_id = connector_id if connector_id is not None else ''
7717        '''
7718         The connector ID to authenticate through.
7719        '''
7720        self.egress_filter = egress_filter if egress_filter is not None else ''
7721        '''
7722         A filter applied to the routing logic to pin datasource to nodes.
7723        '''
7724        self.healthy = healthy if healthy is not None else False
7725        '''
7726         True if the datasource is reachable and the credentials are valid.
7727        '''
7728        self.id = id if id is not None else ''
7729        '''
7730         Unique identifier of the Resource.
7731        '''
7732        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
7733        '''
7734         The ID of the identity set to use for identity connections.
7735        '''
7736        self.management_group_id = management_group_id if management_group_id is not None else ''
7737        '''
7738         The management group ID to authenticate scope Privileges to.
7739        '''
7740        self.name = name if name is not None else ''
7741        '''
7742         Unique human-readable name of the Resource.
7743        '''
7744        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
7745        '''
7746         The privilege levels specify which Groups are managed externally
7747        '''
7748        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7749        '''
7750         ID of the proxy cluster for this resource, if any.
7751        '''
7752        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7753        '''
7754         ID of the secret store containing credentials for this resource, if any.
7755        '''
7756        self.subdomain = subdomain if subdomain is not None else ''
7757        '''
7758         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7759        '''
7760        self.subscription_id = subscription_id if subscription_id is not None else ''
7761        '''
7762         The subscription ID to authenticate scope Privileges to.
7763        '''
7764        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7765        '''
7766         Tags is a map of key, value pairs.
7767        '''
7768
7769    def __repr__(self):
7770        return '<sdm.AzureConsole ' + \
7771            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7772            'connector_id: ' + repr(self.connector_id) + ' ' +\
7773            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7774            'healthy: ' + repr(self.healthy) + ' ' +\
7775            'id: ' + repr(self.id) + ' ' +\
7776            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
7777            'management_group_id: ' + repr(self.management_group_id) + ' ' +\
7778            'name: ' + repr(self.name) + ' ' +\
7779            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
7780            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7781            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7782            'subdomain: ' + repr(self.subdomain) + ' ' +\
7783            'subscription_id: ' + repr(self.subscription_id) + ' ' +\
7784            'tags: ' + repr(self.tags) + ' ' +\
7785            '>'
7786
7787    def to_dict(self):
7788        return {
7789            'bind_interface': self.bind_interface,
7790            'connector_id': self.connector_id,
7791            'egress_filter': self.egress_filter,
7792            'healthy': self.healthy,
7793            'id': self.id,
7794            'identity_set_id': self.identity_set_id,
7795            'management_group_id': self.management_group_id,
7796            'name': self.name,
7797            'privilege_levels': self.privilege_levels,
7798            'proxy_cluster_id': self.proxy_cluster_id,
7799            'secret_store_id': self.secret_store_id,
7800            'subdomain': self.subdomain,
7801            'subscription_id': self.subscription_id,
7802            'tags': self.tags,
7803        }
7804
7805    @classmethod
7806    def from_dict(cls, d):
7807        return cls(
7808            bind_interface=d.get('bind_interface'),
7809            connector_id=d.get('connector_id'),
7810            egress_filter=d.get('egress_filter'),
7811            healthy=d.get('healthy'),
7812            id=d.get('id'),
7813            identity_set_id=d.get('identity_set_id'),
7814            management_group_id=d.get('management_group_id'),
7815            name=d.get('name'),
7816            privilege_levels=d.get('privilege_levels'),
7817            proxy_cluster_id=d.get('proxy_cluster_id'),
7818            secret_store_id=d.get('secret_store_id'),
7819            subdomain=d.get('subdomain'),
7820            subscription_id=d.get('subscription_id'),
7821            tags=d.get('tags'),
7822        )

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

AzureConsole( bind_interface=None, connector_id=None, egress_filter=None, healthy=None, id=None, identity_set_id=None, management_group_id=None, name=None, privilege_levels=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, subscription_id=None, tags=None)
7695    def __init__(
7696        self,
7697        bind_interface=None,
7698        connector_id=None,
7699        egress_filter=None,
7700        healthy=None,
7701        id=None,
7702        identity_set_id=None,
7703        management_group_id=None,
7704        name=None,
7705        privilege_levels=None,
7706        proxy_cluster_id=None,
7707        secret_store_id=None,
7708        subdomain=None,
7709        subscription_id=None,
7710        tags=None,
7711    ):
7712        self.bind_interface = bind_interface if bind_interface is not None else ''
7713        '''
7714         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7715        '''
7716        self.connector_id = connector_id if connector_id is not None else ''
7717        '''
7718         The connector ID to authenticate through.
7719        '''
7720        self.egress_filter = egress_filter if egress_filter is not None else ''
7721        '''
7722         A filter applied to the routing logic to pin datasource to nodes.
7723        '''
7724        self.healthy = healthy if healthy is not None else False
7725        '''
7726         True if the datasource is reachable and the credentials are valid.
7727        '''
7728        self.id = id if id is not None else ''
7729        '''
7730         Unique identifier of the Resource.
7731        '''
7732        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
7733        '''
7734         The ID of the identity set to use for identity connections.
7735        '''
7736        self.management_group_id = management_group_id if management_group_id is not None else ''
7737        '''
7738         The management group ID to authenticate scope Privileges to.
7739        '''
7740        self.name = name if name is not None else ''
7741        '''
7742         Unique human-readable name of the Resource.
7743        '''
7744        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
7745        '''
7746         The privilege levels specify which Groups are managed externally
7747        '''
7748        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7749        '''
7750         ID of the proxy cluster for this resource, if any.
7751        '''
7752        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7753        '''
7754         ID of the secret store containing credentials for this resource, if any.
7755        '''
7756        self.subdomain = subdomain if subdomain is not None else ''
7757        '''
7758         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7759        '''
7760        self.subscription_id = subscription_id if subscription_id is not None else ''
7761        '''
7762         The subscription ID to authenticate scope Privileges to.
7763        '''
7764        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7765        '''
7766         Tags is a map of key, value pairs.
7767        '''
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.

connector_id

The connector ID to authenticate through.

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_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.

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)

subscription_id

The subscription ID to authenticate scope Privileges to.

tags

Tags is a map of key, value pairs.

def to_dict(self)
7787    def to_dict(self):
7788        return {
7789            'bind_interface': self.bind_interface,
7790            'connector_id': self.connector_id,
7791            'egress_filter': self.egress_filter,
7792            'healthy': self.healthy,
7793            'id': self.id,
7794            'identity_set_id': self.identity_set_id,
7795            'management_group_id': self.management_group_id,
7796            'name': self.name,
7797            'privilege_levels': self.privilege_levels,
7798            'proxy_cluster_id': self.proxy_cluster_id,
7799            'secret_store_id': self.secret_store_id,
7800            'subdomain': self.subdomain,
7801            'subscription_id': self.subscription_id,
7802            'tags': self.tags,
7803        }
@classmethod
def from_dict(cls, d)
7805    @classmethod
7806    def from_dict(cls, d):
7807        return cls(
7808            bind_interface=d.get('bind_interface'),
7809            connector_id=d.get('connector_id'),
7810            egress_filter=d.get('egress_filter'),
7811            healthy=d.get('healthy'),
7812            id=d.get('id'),
7813            identity_set_id=d.get('identity_set_id'),
7814            management_group_id=d.get('management_group_id'),
7815            name=d.get('name'),
7816            privilege_levels=d.get('privilege_levels'),
7817            proxy_cluster_id=d.get('proxy_cluster_id'),
7818            secret_store_id=d.get('secret_store_id'),
7819            subdomain=d.get('subdomain'),
7820            subscription_id=d.get('subscription_id'),
7821            tags=d.get('tags'),
7822        )
class AzureMysql:
7825class AzureMysql:
7826    __slots__ = [
7827        'bind_interface',
7828        'database',
7829        'egress_filter',
7830        'healthy',
7831        'hostname',
7832        'id',
7833        'name',
7834        'password',
7835        'port',
7836        'port_override',
7837        'proxy_cluster_id',
7838        'require_native_auth',
7839        'secret_store_id',
7840        'subdomain',
7841        'tags',
7842        'use_azure_single_server_usernames',
7843        'username',
7844    ]
7845
7846    def __init__(
7847        self,
7848        bind_interface=None,
7849        database=None,
7850        egress_filter=None,
7851        healthy=None,
7852        hostname=None,
7853        id=None,
7854        name=None,
7855        password=None,
7856        port=None,
7857        port_override=None,
7858        proxy_cluster_id=None,
7859        require_native_auth=None,
7860        secret_store_id=None,
7861        subdomain=None,
7862        tags=None,
7863        use_azure_single_server_usernames=None,
7864        username=None,
7865    ):
7866        self.bind_interface = bind_interface if bind_interface is not None else ''
7867        '''
7868         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7869        '''
7870        self.database = database if database is not None else ''
7871        '''
7872         The database for healthchecks. Does not affect client requests.
7873        '''
7874        self.egress_filter = egress_filter if egress_filter is not None else ''
7875        '''
7876         A filter applied to the routing logic to pin datasource to nodes.
7877        '''
7878        self.healthy = healthy if healthy is not None else False
7879        '''
7880         True if the datasource is reachable and the credentials are valid.
7881        '''
7882        self.hostname = hostname if hostname is not None else ''
7883        '''
7884         The host to dial to initiate a connection from the egress node to this resource.
7885        '''
7886        self.id = id if id is not None else ''
7887        '''
7888         Unique identifier of the Resource.
7889        '''
7890        self.name = name if name is not None else ''
7891        '''
7892         Unique human-readable name of the Resource.
7893        '''
7894        self.password = password if password is not None else ''
7895        '''
7896         The password to authenticate with.
7897        '''
7898        self.port = port if port is not None else 0
7899        '''
7900         The port to dial to initiate a connection from the egress node to this resource.
7901        '''
7902        self.port_override = port_override if port_override is not None else 0
7903        '''
7904         The local port used by clients to connect to this resource.
7905        '''
7906        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7907        '''
7908         ID of the proxy cluster for this resource, if any.
7909        '''
7910        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7911        '''
7912         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7913        '''
7914        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7915        '''
7916         ID of the secret store containing credentials for this resource, if any.
7917        '''
7918        self.subdomain = subdomain if subdomain is not None else ''
7919        '''
7920         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7921        '''
7922        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7923        '''
7924         Tags is a map of key, value pairs.
7925        '''
7926        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7927        '''
7928         If true, appends the hostname to the username when hitting a database.azure.com address
7929        '''
7930        self.username = username if username is not None else ''
7931        '''
7932         The username to authenticate with.
7933        '''
7934
7935    def __repr__(self):
7936        return '<sdm.AzureMysql ' + \
7937            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7938            'database: ' + repr(self.database) + ' ' +\
7939            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7940            'healthy: ' + repr(self.healthy) + ' ' +\
7941            'hostname: ' + repr(self.hostname) + ' ' +\
7942            'id: ' + repr(self.id) + ' ' +\
7943            'name: ' + repr(self.name) + ' ' +\
7944            'password: ' + repr(self.password) + ' ' +\
7945            'port: ' + repr(self.port) + ' ' +\
7946            'port_override: ' + repr(self.port_override) + ' ' +\
7947            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7948            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
7949            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7950            'subdomain: ' + repr(self.subdomain) + ' ' +\
7951            'tags: ' + repr(self.tags) + ' ' +\
7952            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7953            'username: ' + repr(self.username) + ' ' +\
7954            '>'
7955
7956    def to_dict(self):
7957        return {
7958            'bind_interface': self.bind_interface,
7959            'database': self.database,
7960            'egress_filter': self.egress_filter,
7961            'healthy': self.healthy,
7962            'hostname': self.hostname,
7963            'id': self.id,
7964            'name': self.name,
7965            'password': self.password,
7966            'port': self.port,
7967            'port_override': self.port_override,
7968            'proxy_cluster_id': self.proxy_cluster_id,
7969            'require_native_auth': self.require_native_auth,
7970            'secret_store_id': self.secret_store_id,
7971            'subdomain': self.subdomain,
7972            'tags': self.tags,
7973            'use_azure_single_server_usernames':
7974            self.use_azure_single_server_usernames,
7975            'username': self.username,
7976        }
7977
7978    @classmethod
7979    def from_dict(cls, d):
7980        return cls(
7981            bind_interface=d.get('bind_interface'),
7982            database=d.get('database'),
7983            egress_filter=d.get('egress_filter'),
7984            healthy=d.get('healthy'),
7985            hostname=d.get('hostname'),
7986            id=d.get('id'),
7987            name=d.get('name'),
7988            password=d.get('password'),
7989            port=d.get('port'),
7990            port_override=d.get('port_override'),
7991            proxy_cluster_id=d.get('proxy_cluster_id'),
7992            require_native_auth=d.get('require_native_auth'),
7993            secret_store_id=d.get('secret_store_id'),
7994            subdomain=d.get('subdomain'),
7995            tags=d.get('tags'),
7996            use_azure_single_server_usernames=d.get(
7997                'use_azure_single_server_usernames'),
7998            username=d.get('username'),
7999        )
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)
7846    def __init__(
7847        self,
7848        bind_interface=None,
7849        database=None,
7850        egress_filter=None,
7851        healthy=None,
7852        hostname=None,
7853        id=None,
7854        name=None,
7855        password=None,
7856        port=None,
7857        port_override=None,
7858        proxy_cluster_id=None,
7859        require_native_auth=None,
7860        secret_store_id=None,
7861        subdomain=None,
7862        tags=None,
7863        use_azure_single_server_usernames=None,
7864        username=None,
7865    ):
7866        self.bind_interface = bind_interface if bind_interface is not None else ''
7867        '''
7868         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7869        '''
7870        self.database = database if database is not None else ''
7871        '''
7872         The database for healthchecks. Does not affect client requests.
7873        '''
7874        self.egress_filter = egress_filter if egress_filter is not None else ''
7875        '''
7876         A filter applied to the routing logic to pin datasource to nodes.
7877        '''
7878        self.healthy = healthy if healthy is not None else False
7879        '''
7880         True if the datasource is reachable and the credentials are valid.
7881        '''
7882        self.hostname = hostname if hostname is not None else ''
7883        '''
7884         The host to dial to initiate a connection from the egress node to this resource.
7885        '''
7886        self.id = id if id is not None else ''
7887        '''
7888         Unique identifier of the Resource.
7889        '''
7890        self.name = name if name is not None else ''
7891        '''
7892         Unique human-readable name of the Resource.
7893        '''
7894        self.password = password if password is not None else ''
7895        '''
7896         The password to authenticate with.
7897        '''
7898        self.port = port if port is not None else 0
7899        '''
7900         The port to dial to initiate a connection from the egress node to this resource.
7901        '''
7902        self.port_override = port_override if port_override is not None else 0
7903        '''
7904         The local port used by clients to connect to this resource.
7905        '''
7906        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7907        '''
7908         ID of the proxy cluster for this resource, if any.
7909        '''
7910        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7911        '''
7912         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7913        '''
7914        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7915        '''
7916         ID of the secret store containing credentials for this resource, if any.
7917        '''
7918        self.subdomain = subdomain if subdomain is not None else ''
7919        '''
7920         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7921        '''
7922        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7923        '''
7924         Tags is a map of key, value pairs.
7925        '''
7926        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7927        '''
7928         If true, appends the hostname to the username when hitting a database.azure.com address
7929        '''
7930        self.username = username if username is not None else ''
7931        '''
7932         The username to authenticate with.
7933        '''
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.

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.

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

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_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)
7956    def to_dict(self):
7957        return {
7958            'bind_interface': self.bind_interface,
7959            'database': self.database,
7960            'egress_filter': self.egress_filter,
7961            'healthy': self.healthy,
7962            'hostname': self.hostname,
7963            'id': self.id,
7964            'name': self.name,
7965            'password': self.password,
7966            'port': self.port,
7967            'port_override': self.port_override,
7968            'proxy_cluster_id': self.proxy_cluster_id,
7969            'require_native_auth': self.require_native_auth,
7970            'secret_store_id': self.secret_store_id,
7971            'subdomain': self.subdomain,
7972            'tags': self.tags,
7973            'use_azure_single_server_usernames':
7974            self.use_azure_single_server_usernames,
7975            'username': self.username,
7976        }
@classmethod
def from_dict(cls, d)
7978    @classmethod
7979    def from_dict(cls, d):
7980        return cls(
7981            bind_interface=d.get('bind_interface'),
7982            database=d.get('database'),
7983            egress_filter=d.get('egress_filter'),
7984            healthy=d.get('healthy'),
7985            hostname=d.get('hostname'),
7986            id=d.get('id'),
7987            name=d.get('name'),
7988            password=d.get('password'),
7989            port=d.get('port'),
7990            port_override=d.get('port_override'),
7991            proxy_cluster_id=d.get('proxy_cluster_id'),
7992            require_native_auth=d.get('require_native_auth'),
7993            secret_store_id=d.get('secret_store_id'),
7994            subdomain=d.get('subdomain'),
7995            tags=d.get('tags'),
7996            use_azure_single_server_usernames=d.get(
7997                'use_azure_single_server_usernames'),
7998            username=d.get('username'),
7999        )
class AzurePostgres:
8002class AzurePostgres:
8003    __slots__ = [
8004        'bind_interface',
8005        'database',
8006        'egress_filter',
8007        'healthy',
8008        'hostname',
8009        'id',
8010        'name',
8011        'override_database',
8012        'password',
8013        'port',
8014        'port_override',
8015        'proxy_cluster_id',
8016        'secret_store_id',
8017        'subdomain',
8018        'tags',
8019        'username',
8020    ]
8021
8022    def __init__(
8023        self,
8024        bind_interface=None,
8025        database=None,
8026        egress_filter=None,
8027        healthy=None,
8028        hostname=None,
8029        id=None,
8030        name=None,
8031        override_database=None,
8032        password=None,
8033        port=None,
8034        port_override=None,
8035        proxy_cluster_id=None,
8036        secret_store_id=None,
8037        subdomain=None,
8038        tags=None,
8039        username=None,
8040    ):
8041        self.bind_interface = bind_interface if bind_interface is not None else ''
8042        '''
8043         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8044        '''
8045        self.database = database if database is not None else ''
8046        '''
8047         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8048        '''
8049        self.egress_filter = egress_filter if egress_filter is not None else ''
8050        '''
8051         A filter applied to the routing logic to pin datasource to nodes.
8052        '''
8053        self.healthy = healthy if healthy is not None else False
8054        '''
8055         True if the datasource is reachable and the credentials are valid.
8056        '''
8057        self.hostname = hostname if hostname is not None else ''
8058        '''
8059         The host to dial to initiate a connection from the egress node to this resource.
8060        '''
8061        self.id = id if id is not None else ''
8062        '''
8063         Unique identifier of the Resource.
8064        '''
8065        self.name = name if name is not None else ''
8066        '''
8067         Unique human-readable name of the Resource.
8068        '''
8069        self.override_database = override_database if override_database is not None else False
8070        '''
8071         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.
8072        '''
8073        self.password = password if password is not None else ''
8074        '''
8075         The password to authenticate with.
8076        '''
8077        self.port = port if port is not None else 0
8078        '''
8079         The port to dial to initiate a connection from the egress node to this resource.
8080        '''
8081        self.port_override = port_override if port_override is not None else 0
8082        '''
8083         The local port used by clients to connect to this resource.
8084        '''
8085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8086        '''
8087         ID of the proxy cluster for this resource, if any.
8088        '''
8089        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8090        '''
8091         ID of the secret store containing credentials for this resource, if any.
8092        '''
8093        self.subdomain = subdomain if subdomain is not None else ''
8094        '''
8095         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8096        '''
8097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8098        '''
8099         Tags is a map of key, value pairs.
8100        '''
8101        self.username = username if username is not None else ''
8102        '''
8103         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.
8104        '''
8105
8106    def __repr__(self):
8107        return '<sdm.AzurePostgres ' + \
8108            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8109            'database: ' + repr(self.database) + ' ' +\
8110            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8111            'healthy: ' + repr(self.healthy) + ' ' +\
8112            'hostname: ' + repr(self.hostname) + ' ' +\
8113            'id: ' + repr(self.id) + ' ' +\
8114            'name: ' + repr(self.name) + ' ' +\
8115            'override_database: ' + repr(self.override_database) + ' ' +\
8116            'password: ' + repr(self.password) + ' ' +\
8117            'port: ' + repr(self.port) + ' ' +\
8118            'port_override: ' + repr(self.port_override) + ' ' +\
8119            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8120            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8121            'subdomain: ' + repr(self.subdomain) + ' ' +\
8122            'tags: ' + repr(self.tags) + ' ' +\
8123            'username: ' + repr(self.username) + ' ' +\
8124            '>'
8125
8126    def to_dict(self):
8127        return {
8128            'bind_interface': self.bind_interface,
8129            'database': self.database,
8130            'egress_filter': self.egress_filter,
8131            'healthy': self.healthy,
8132            'hostname': self.hostname,
8133            'id': self.id,
8134            'name': self.name,
8135            'override_database': self.override_database,
8136            'password': self.password,
8137            'port': self.port,
8138            'port_override': self.port_override,
8139            'proxy_cluster_id': self.proxy_cluster_id,
8140            'secret_store_id': self.secret_store_id,
8141            'subdomain': self.subdomain,
8142            'tags': self.tags,
8143            'username': self.username,
8144        }
8145
8146    @classmethod
8147    def from_dict(cls, d):
8148        return cls(
8149            bind_interface=d.get('bind_interface'),
8150            database=d.get('database'),
8151            egress_filter=d.get('egress_filter'),
8152            healthy=d.get('healthy'),
8153            hostname=d.get('hostname'),
8154            id=d.get('id'),
8155            name=d.get('name'),
8156            override_database=d.get('override_database'),
8157            password=d.get('password'),
8158            port=d.get('port'),
8159            port_override=d.get('port_override'),
8160            proxy_cluster_id=d.get('proxy_cluster_id'),
8161            secret_store_id=d.get('secret_store_id'),
8162            subdomain=d.get('subdomain'),
8163            tags=d.get('tags'),
8164            username=d.get('username'),
8165        )
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)
8022    def __init__(
8023        self,
8024        bind_interface=None,
8025        database=None,
8026        egress_filter=None,
8027        healthy=None,
8028        hostname=None,
8029        id=None,
8030        name=None,
8031        override_database=None,
8032        password=None,
8033        port=None,
8034        port_override=None,
8035        proxy_cluster_id=None,
8036        secret_store_id=None,
8037        subdomain=None,
8038        tags=None,
8039        username=None,
8040    ):
8041        self.bind_interface = bind_interface if bind_interface is not None else ''
8042        '''
8043         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8044        '''
8045        self.database = database if database is not None else ''
8046        '''
8047         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8048        '''
8049        self.egress_filter = egress_filter if egress_filter is not None else ''
8050        '''
8051         A filter applied to the routing logic to pin datasource to nodes.
8052        '''
8053        self.healthy = healthy if healthy is not None else False
8054        '''
8055         True if the datasource is reachable and the credentials are valid.
8056        '''
8057        self.hostname = hostname if hostname is not None else ''
8058        '''
8059         The host to dial to initiate a connection from the egress node to this resource.
8060        '''
8061        self.id = id if id is not None else ''
8062        '''
8063         Unique identifier of the Resource.
8064        '''
8065        self.name = name if name is not None else ''
8066        '''
8067         Unique human-readable name of the Resource.
8068        '''
8069        self.override_database = override_database if override_database is not None else False
8070        '''
8071         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.
8072        '''
8073        self.password = password if password is not None else ''
8074        '''
8075         The password to authenticate with.
8076        '''
8077        self.port = port if port is not None else 0
8078        '''
8079         The port to dial to initiate a connection from the egress node to this resource.
8080        '''
8081        self.port_override = port_override if port_override is not None else 0
8082        '''
8083         The local port used by clients to connect to this resource.
8084        '''
8085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8086        '''
8087         ID of the proxy cluster for this resource, if any.
8088        '''
8089        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8090        '''
8091         ID of the secret store containing credentials for this resource, if any.
8092        '''
8093        self.subdomain = subdomain if subdomain is not None else ''
8094        '''
8095         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8096        '''
8097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8098        '''
8099         Tags is a map of key, value pairs.
8100        '''
8101        self.username = username if username is not None else ''
8102        '''
8103         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.
8104        '''
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.

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.

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.

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)
8126    def to_dict(self):
8127        return {
8128            'bind_interface': self.bind_interface,
8129            'database': self.database,
8130            'egress_filter': self.egress_filter,
8131            'healthy': self.healthy,
8132            'hostname': self.hostname,
8133            'id': self.id,
8134            'name': self.name,
8135            'override_database': self.override_database,
8136            'password': self.password,
8137            'port': self.port,
8138            'port_override': self.port_override,
8139            'proxy_cluster_id': self.proxy_cluster_id,
8140            'secret_store_id': self.secret_store_id,
8141            'subdomain': self.subdomain,
8142            'tags': self.tags,
8143            'username': self.username,
8144        }
@classmethod
def from_dict(cls, d)
8146    @classmethod
8147    def from_dict(cls, d):
8148        return cls(
8149            bind_interface=d.get('bind_interface'),
8150            database=d.get('database'),
8151            egress_filter=d.get('egress_filter'),
8152            healthy=d.get('healthy'),
8153            hostname=d.get('hostname'),
8154            id=d.get('id'),
8155            name=d.get('name'),
8156            override_database=d.get('override_database'),
8157            password=d.get('password'),
8158            port=d.get('port'),
8159            port_override=d.get('port_override'),
8160            proxy_cluster_id=d.get('proxy_cluster_id'),
8161            secret_store_id=d.get('secret_store_id'),
8162            subdomain=d.get('subdomain'),
8163            tags=d.get('tags'),
8164            username=d.get('username'),
8165        )
class AzurePostgresManagedIdentity:
8168class AzurePostgresManagedIdentity:
8169    __slots__ = [
8170        'bind_interface',
8171        'database',
8172        'egress_filter',
8173        'healthy',
8174        'hostname',
8175        'id',
8176        'name',
8177        'override_database',
8178        'password',
8179        'port',
8180        'port_override',
8181        'proxy_cluster_id',
8182        'secret_store_id',
8183        'subdomain',
8184        'tags',
8185        'use_azure_single_server_usernames',
8186        'username',
8187    ]
8188
8189    def __init__(
8190        self,
8191        bind_interface=None,
8192        database=None,
8193        egress_filter=None,
8194        healthy=None,
8195        hostname=None,
8196        id=None,
8197        name=None,
8198        override_database=None,
8199        password=None,
8200        port=None,
8201        port_override=None,
8202        proxy_cluster_id=None,
8203        secret_store_id=None,
8204        subdomain=None,
8205        tags=None,
8206        use_azure_single_server_usernames=None,
8207        username=None,
8208    ):
8209        self.bind_interface = bind_interface if bind_interface is not None else ''
8210        '''
8211         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8212        '''
8213        self.database = database if database is not None else ''
8214        '''
8215         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8216        '''
8217        self.egress_filter = egress_filter if egress_filter is not None else ''
8218        '''
8219         A filter applied to the routing logic to pin datasource to nodes.
8220        '''
8221        self.healthy = healthy if healthy is not None else False
8222        '''
8223         True if the datasource is reachable and the credentials are valid.
8224        '''
8225        self.hostname = hostname if hostname is not None else ''
8226        '''
8227         The host to dial to initiate a connection from the egress node to this resource.
8228        '''
8229        self.id = id if id is not None else ''
8230        '''
8231         Unique identifier of the Resource.
8232        '''
8233        self.name = name if name is not None else ''
8234        '''
8235         Unique human-readable name of the Resource.
8236        '''
8237        self.override_database = override_database if override_database is not None else False
8238        '''
8239         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.
8240        '''
8241        self.password = password if password is not None else ''
8242        '''
8243         The password to authenticate with.
8244        '''
8245        self.port = port if port is not None else 0
8246        '''
8247         The port to dial to initiate a connection from the egress node to this resource.
8248        '''
8249        self.port_override = port_override if port_override is not None else 0
8250        '''
8251         The local port used by clients to connect to this resource.
8252        '''
8253        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8254        '''
8255         ID of the proxy cluster for this resource, if any.
8256        '''
8257        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8258        '''
8259         ID of the secret store containing credentials for this resource, if any.
8260        '''
8261        self.subdomain = subdomain if subdomain is not None else ''
8262        '''
8263         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8264        '''
8265        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8266        '''
8267         Tags is a map of key, value pairs.
8268        '''
8269        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8270        '''
8271         If true, appends the hostname to the username when hitting a database.azure.com address
8272        '''
8273        self.username = username if username is not None else ''
8274        '''
8275         The username to authenticate with.
8276        '''
8277
8278    def __repr__(self):
8279        return '<sdm.AzurePostgresManagedIdentity ' + \
8280            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8281            'database: ' + repr(self.database) + ' ' +\
8282            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8283            'healthy: ' + repr(self.healthy) + ' ' +\
8284            'hostname: ' + repr(self.hostname) + ' ' +\
8285            'id: ' + repr(self.id) + ' ' +\
8286            'name: ' + repr(self.name) + ' ' +\
8287            'override_database: ' + repr(self.override_database) + ' ' +\
8288            'password: ' + repr(self.password) + ' ' +\
8289            'port: ' + repr(self.port) + ' ' +\
8290            'port_override: ' + repr(self.port_override) + ' ' +\
8291            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8292            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8293            'subdomain: ' + repr(self.subdomain) + ' ' +\
8294            'tags: ' + repr(self.tags) + ' ' +\
8295            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8296            'username: ' + repr(self.username) + ' ' +\
8297            '>'
8298
8299    def to_dict(self):
8300        return {
8301            'bind_interface': self.bind_interface,
8302            'database': self.database,
8303            'egress_filter': self.egress_filter,
8304            'healthy': self.healthy,
8305            'hostname': self.hostname,
8306            'id': self.id,
8307            'name': self.name,
8308            'override_database': self.override_database,
8309            'password': self.password,
8310            'port': self.port,
8311            'port_override': self.port_override,
8312            'proxy_cluster_id': self.proxy_cluster_id,
8313            'secret_store_id': self.secret_store_id,
8314            'subdomain': self.subdomain,
8315            'tags': self.tags,
8316            'use_azure_single_server_usernames':
8317            self.use_azure_single_server_usernames,
8318            'username': self.username,
8319        }
8320
8321    @classmethod
8322    def from_dict(cls, d):
8323        return cls(
8324            bind_interface=d.get('bind_interface'),
8325            database=d.get('database'),
8326            egress_filter=d.get('egress_filter'),
8327            healthy=d.get('healthy'),
8328            hostname=d.get('hostname'),
8329            id=d.get('id'),
8330            name=d.get('name'),
8331            override_database=d.get('override_database'),
8332            password=d.get('password'),
8333            port=d.get('port'),
8334            port_override=d.get('port_override'),
8335            proxy_cluster_id=d.get('proxy_cluster_id'),
8336            secret_store_id=d.get('secret_store_id'),
8337            subdomain=d.get('subdomain'),
8338            tags=d.get('tags'),
8339            use_azure_single_server_usernames=d.get(
8340                'use_azure_single_server_usernames'),
8341            username=d.get('username'),
8342        )
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)
8189    def __init__(
8190        self,
8191        bind_interface=None,
8192        database=None,
8193        egress_filter=None,
8194        healthy=None,
8195        hostname=None,
8196        id=None,
8197        name=None,
8198        override_database=None,
8199        password=None,
8200        port=None,
8201        port_override=None,
8202        proxy_cluster_id=None,
8203        secret_store_id=None,
8204        subdomain=None,
8205        tags=None,
8206        use_azure_single_server_usernames=None,
8207        username=None,
8208    ):
8209        self.bind_interface = bind_interface if bind_interface is not None else ''
8210        '''
8211         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8212        '''
8213        self.database = database if database is not None else ''
8214        '''
8215         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8216        '''
8217        self.egress_filter = egress_filter if egress_filter is not None else ''
8218        '''
8219         A filter applied to the routing logic to pin datasource to nodes.
8220        '''
8221        self.healthy = healthy if healthy is not None else False
8222        '''
8223         True if the datasource is reachable and the credentials are valid.
8224        '''
8225        self.hostname = hostname if hostname is not None else ''
8226        '''
8227         The host to dial to initiate a connection from the egress node to this resource.
8228        '''
8229        self.id = id if id is not None else ''
8230        '''
8231         Unique identifier of the Resource.
8232        '''
8233        self.name = name if name is not None else ''
8234        '''
8235         Unique human-readable name of the Resource.
8236        '''
8237        self.override_database = override_database if override_database is not None else False
8238        '''
8239         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.
8240        '''
8241        self.password = password if password is not None else ''
8242        '''
8243         The password to authenticate with.
8244        '''
8245        self.port = port if port is not None else 0
8246        '''
8247         The port to dial to initiate a connection from the egress node to this resource.
8248        '''
8249        self.port_override = port_override if port_override is not None else 0
8250        '''
8251         The local port used by clients to connect to this resource.
8252        '''
8253        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8254        '''
8255         ID of the proxy cluster for this resource, if any.
8256        '''
8257        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8258        '''
8259         ID of the secret store containing credentials for this resource, if any.
8260        '''
8261        self.subdomain = subdomain if subdomain is not None else ''
8262        '''
8263         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8264        '''
8265        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8266        '''
8267         Tags is a map of key, value pairs.
8268        '''
8269        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8270        '''
8271         If true, appends the hostname to the username when hitting a database.azure.com address
8272        '''
8273        self.username = username if username is not None else ''
8274        '''
8275         The username to authenticate with.
8276        '''
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.

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.

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.

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)
8299    def to_dict(self):
8300        return {
8301            'bind_interface': self.bind_interface,
8302            'database': self.database,
8303            'egress_filter': self.egress_filter,
8304            'healthy': self.healthy,
8305            'hostname': self.hostname,
8306            'id': self.id,
8307            'name': self.name,
8308            'override_database': self.override_database,
8309            'password': self.password,
8310            'port': self.port,
8311            'port_override': self.port_override,
8312            'proxy_cluster_id': self.proxy_cluster_id,
8313            'secret_store_id': self.secret_store_id,
8314            'subdomain': self.subdomain,
8315            'tags': self.tags,
8316            'use_azure_single_server_usernames':
8317            self.use_azure_single_server_usernames,
8318            'username': self.username,
8319        }
@classmethod
def from_dict(cls, d)
8321    @classmethod
8322    def from_dict(cls, d):
8323        return cls(
8324            bind_interface=d.get('bind_interface'),
8325            database=d.get('database'),
8326            egress_filter=d.get('egress_filter'),
8327            healthy=d.get('healthy'),
8328            hostname=d.get('hostname'),
8329            id=d.get('id'),
8330            name=d.get('name'),
8331            override_database=d.get('override_database'),
8332            password=d.get('password'),
8333            port=d.get('port'),
8334            port_override=d.get('port_override'),
8335            proxy_cluster_id=d.get('proxy_cluster_id'),
8336            secret_store_id=d.get('secret_store_id'),
8337            subdomain=d.get('subdomain'),
8338            tags=d.get('tags'),
8339            use_azure_single_server_usernames=d.get(
8340                'use_azure_single_server_usernames'),
8341            username=d.get('username'),
8342        )
class AzureStore:
8345class AzureStore:
8346    __slots__ = [
8347        'id',
8348        'name',
8349        'tags',
8350        'vault_uri',
8351    ]
8352
8353    def __init__(
8354        self,
8355        id=None,
8356        name=None,
8357        tags=None,
8358        vault_uri=None,
8359    ):
8360        self.id = id if id is not None else ''
8361        '''
8362         Unique identifier of the SecretStore.
8363        '''
8364        self.name = name if name is not None else ''
8365        '''
8366         Unique human-readable name of the SecretStore.
8367        '''
8368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8369        '''
8370         Tags is a map of key, value pairs.
8371        '''
8372        self.vault_uri = vault_uri if vault_uri is not None else ''
8373        '''
8374         The URI of the key vault to target e.g. https://myvault.vault.azure.net
8375        '''
8376
8377    def __repr__(self):
8378        return '<sdm.AzureStore ' + \
8379            'id: ' + repr(self.id) + ' ' +\
8380            'name: ' + repr(self.name) + ' ' +\
8381            'tags: ' + repr(self.tags) + ' ' +\
8382            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
8383            '>'
8384
8385    def to_dict(self):
8386        return {
8387            'id': self.id,
8388            'name': self.name,
8389            'tags': self.tags,
8390            'vault_uri': self.vault_uri,
8391        }
8392
8393    @classmethod
8394    def from_dict(cls, d):
8395        return cls(
8396            id=d.get('id'),
8397            name=d.get('name'),
8398            tags=d.get('tags'),
8399            vault_uri=d.get('vault_uri'),
8400        )
AzureStore(id=None, name=None, tags=None, vault_uri=None)
8353    def __init__(
8354        self,
8355        id=None,
8356        name=None,
8357        tags=None,
8358        vault_uri=None,
8359    ):
8360        self.id = id if id is not None else ''
8361        '''
8362         Unique identifier of the SecretStore.
8363        '''
8364        self.name = name if name is not None else ''
8365        '''
8366         Unique human-readable name of the SecretStore.
8367        '''
8368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8369        '''
8370         Tags is a map of key, value pairs.
8371        '''
8372        self.vault_uri = vault_uri if vault_uri is not None else ''
8373        '''
8374         The URI of the key vault to target e.g. https://myvault.vault.azure.net
8375        '''
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)
8385    def to_dict(self):
8386        return {
8387            'id': self.id,
8388            'name': self.name,
8389            'tags': self.tags,
8390            'vault_uri': self.vault_uri,
8391        }
@classmethod
def from_dict(cls, d)
8393    @classmethod
8394    def from_dict(cls, d):
8395        return cls(
8396            id=d.get('id'),
8397            name=d.get('name'),
8398            tags=d.get('tags'),
8399            vault_uri=d.get('vault_uri'),
8400        )
class BigQuery:
8403class BigQuery:
8404    __slots__ = [
8405        'bind_interface',
8406        'egress_filter',
8407        'endpoint',
8408        'healthy',
8409        'id',
8410        'name',
8411        'port_override',
8412        'private_key',
8413        'project',
8414        'proxy_cluster_id',
8415        'secret_store_id',
8416        'subdomain',
8417        'tags',
8418        'username',
8419    ]
8420
8421    def __init__(
8422        self,
8423        bind_interface=None,
8424        egress_filter=None,
8425        endpoint=None,
8426        healthy=None,
8427        id=None,
8428        name=None,
8429        port_override=None,
8430        private_key=None,
8431        project=None,
8432        proxy_cluster_id=None,
8433        secret_store_id=None,
8434        subdomain=None,
8435        tags=None,
8436        username=None,
8437    ):
8438        self.bind_interface = bind_interface if bind_interface is not None else ''
8439        '''
8440         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8441        '''
8442        self.egress_filter = egress_filter if egress_filter is not None else ''
8443        '''
8444         A filter applied to the routing logic to pin datasource to nodes.
8445        '''
8446        self.endpoint = endpoint if endpoint is not None else ''
8447        '''
8448         The endpoint to dial.
8449        '''
8450        self.healthy = healthy if healthy is not None else False
8451        '''
8452         True if the datasource is reachable and the credentials are valid.
8453        '''
8454        self.id = id if id is not None else ''
8455        '''
8456         Unique identifier of the Resource.
8457        '''
8458        self.name = name if name is not None else ''
8459        '''
8460         Unique human-readable name of the Resource.
8461        '''
8462        self.port_override = port_override if port_override is not None else 0
8463        '''
8464         The local port used by clients to connect to this resource.
8465        '''
8466        self.private_key = private_key if private_key is not None else ''
8467        '''
8468         The JSON Private key to authenticate with.
8469        '''
8470        self.project = project if project is not None else ''
8471        '''
8472         The project to connect to.
8473        '''
8474        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8475        '''
8476         ID of the proxy cluster for this resource, if any.
8477        '''
8478        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8479        '''
8480         ID of the secret store containing credentials for this resource, if any.
8481        '''
8482        self.subdomain = subdomain if subdomain is not None else ''
8483        '''
8484         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8485        '''
8486        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8487        '''
8488         Tags is a map of key, value pairs.
8489        '''
8490        self.username = username if username is not None else ''
8491        '''
8492         The username to authenticate with.
8493        '''
8494
8495    def __repr__(self):
8496        return '<sdm.BigQuery ' + \
8497            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8498            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8499            'endpoint: ' + repr(self.endpoint) + ' ' +\
8500            'healthy: ' + repr(self.healthy) + ' ' +\
8501            'id: ' + repr(self.id) + ' ' +\
8502            'name: ' + repr(self.name) + ' ' +\
8503            'port_override: ' + repr(self.port_override) + ' ' +\
8504            'private_key: ' + repr(self.private_key) + ' ' +\
8505            'project: ' + repr(self.project) + ' ' +\
8506            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8507            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8508            'subdomain: ' + repr(self.subdomain) + ' ' +\
8509            'tags: ' + repr(self.tags) + ' ' +\
8510            'username: ' + repr(self.username) + ' ' +\
8511            '>'
8512
8513    def to_dict(self):
8514        return {
8515            'bind_interface': self.bind_interface,
8516            'egress_filter': self.egress_filter,
8517            'endpoint': self.endpoint,
8518            'healthy': self.healthy,
8519            'id': self.id,
8520            'name': self.name,
8521            'port_override': self.port_override,
8522            'private_key': self.private_key,
8523            'project': self.project,
8524            'proxy_cluster_id': self.proxy_cluster_id,
8525            'secret_store_id': self.secret_store_id,
8526            'subdomain': self.subdomain,
8527            'tags': self.tags,
8528            'username': self.username,
8529        }
8530
8531    @classmethod
8532    def from_dict(cls, d):
8533        return cls(
8534            bind_interface=d.get('bind_interface'),
8535            egress_filter=d.get('egress_filter'),
8536            endpoint=d.get('endpoint'),
8537            healthy=d.get('healthy'),
8538            id=d.get('id'),
8539            name=d.get('name'),
8540            port_override=d.get('port_override'),
8541            private_key=d.get('private_key'),
8542            project=d.get('project'),
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            username=d.get('username'),
8548        )
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)
8421    def __init__(
8422        self,
8423        bind_interface=None,
8424        egress_filter=None,
8425        endpoint=None,
8426        healthy=None,
8427        id=None,
8428        name=None,
8429        port_override=None,
8430        private_key=None,
8431        project=None,
8432        proxy_cluster_id=None,
8433        secret_store_id=None,
8434        subdomain=None,
8435        tags=None,
8436        username=None,
8437    ):
8438        self.bind_interface = bind_interface if bind_interface is not None else ''
8439        '''
8440         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8441        '''
8442        self.egress_filter = egress_filter if egress_filter is not None else ''
8443        '''
8444         A filter applied to the routing logic to pin datasource to nodes.
8445        '''
8446        self.endpoint = endpoint if endpoint is not None else ''
8447        '''
8448         The endpoint to dial.
8449        '''
8450        self.healthy = healthy if healthy is not None else False
8451        '''
8452         True if the datasource is reachable and the credentials are valid.
8453        '''
8454        self.id = id if id is not None else ''
8455        '''
8456         Unique identifier of the Resource.
8457        '''
8458        self.name = name if name is not None else ''
8459        '''
8460         Unique human-readable name of the Resource.
8461        '''
8462        self.port_override = port_override if port_override is not None else 0
8463        '''
8464         The local port used by clients to connect to this resource.
8465        '''
8466        self.private_key = private_key if private_key is not None else ''
8467        '''
8468         The JSON Private key to authenticate with.
8469        '''
8470        self.project = project if project is not None else ''
8471        '''
8472         The project to connect to.
8473        '''
8474        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8475        '''
8476         ID of the proxy cluster for this resource, if any.
8477        '''
8478        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8479        '''
8480         ID of the secret store containing credentials for this resource, if any.
8481        '''
8482        self.subdomain = subdomain if subdomain is not None else ''
8483        '''
8484         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8485        '''
8486        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8487        '''
8488         Tags is a map of key, value pairs.
8489        '''
8490        self.username = username if username is not None else ''
8491        '''
8492         The username to authenticate with.
8493        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
8513    def to_dict(self):
8514        return {
8515            'bind_interface': self.bind_interface,
8516            'egress_filter': self.egress_filter,
8517            'endpoint': self.endpoint,
8518            'healthy': self.healthy,
8519            'id': self.id,
8520            'name': self.name,
8521            'port_override': self.port_override,
8522            'private_key': self.private_key,
8523            'project': self.project,
8524            'proxy_cluster_id': self.proxy_cluster_id,
8525            'secret_store_id': self.secret_store_id,
8526            'subdomain': self.subdomain,
8527            'tags': self.tags,
8528            'username': self.username,
8529        }
@classmethod
def from_dict(cls, d)
8531    @classmethod
8532    def from_dict(cls, d):
8533        return cls(
8534            bind_interface=d.get('bind_interface'),
8535            egress_filter=d.get('egress_filter'),
8536            endpoint=d.get('endpoint'),
8537            healthy=d.get('healthy'),
8538            id=d.get('id'),
8539            name=d.get('name'),
8540            port_override=d.get('port_override'),
8541            private_key=d.get('private_key'),
8542            project=d.get('project'),
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            username=d.get('username'),
8548        )
class Cassandra:
8551class Cassandra:
8552    __slots__ = [
8553        'bind_interface',
8554        'egress_filter',
8555        'healthy',
8556        'hostname',
8557        'id',
8558        'name',
8559        'password',
8560        'port',
8561        'port_override',
8562        'proxy_cluster_id',
8563        'secret_store_id',
8564        'subdomain',
8565        'tags',
8566        'tls_required',
8567        'username',
8568    ]
8569
8570    def __init__(
8571        self,
8572        bind_interface=None,
8573        egress_filter=None,
8574        healthy=None,
8575        hostname=None,
8576        id=None,
8577        name=None,
8578        password=None,
8579        port=None,
8580        port_override=None,
8581        proxy_cluster_id=None,
8582        secret_store_id=None,
8583        subdomain=None,
8584        tags=None,
8585        tls_required=None,
8586        username=None,
8587    ):
8588        self.bind_interface = bind_interface if bind_interface is not None else ''
8589        '''
8590         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8591        '''
8592        self.egress_filter = egress_filter if egress_filter is not None else ''
8593        '''
8594         A filter applied to the routing logic to pin datasource to nodes.
8595        '''
8596        self.healthy = healthy if healthy is not None else False
8597        '''
8598         True if the datasource is reachable and the credentials are valid.
8599        '''
8600        self.hostname = hostname if hostname is not None else ''
8601        '''
8602         The host to dial to initiate a connection from the egress node to this resource.
8603        '''
8604        self.id = id if id is not None else ''
8605        '''
8606         Unique identifier of the Resource.
8607        '''
8608        self.name = name if name is not None else ''
8609        '''
8610         Unique human-readable name of the Resource.
8611        '''
8612        self.password = password if password is not None else ''
8613        '''
8614         The password to authenticate with.
8615        '''
8616        self.port = port if port is not None else 0
8617        '''
8618         The port to dial to initiate a connection from the egress node to this resource.
8619        '''
8620        self.port_override = port_override if port_override is not None else 0
8621        '''
8622         The local port used by clients to connect to this resource.
8623        '''
8624        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8625        '''
8626         ID of the proxy cluster for this resource, if any.
8627        '''
8628        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8629        '''
8630         ID of the secret store containing credentials for this resource, if any.
8631        '''
8632        self.subdomain = subdomain if subdomain is not None else ''
8633        '''
8634         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8635        '''
8636        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8637        '''
8638         Tags is a map of key, value pairs.
8639        '''
8640        self.tls_required = tls_required if tls_required is not None else False
8641        '''
8642         If set, TLS must be used to connect to this resource.
8643        '''
8644        self.username = username if username is not None else ''
8645        '''
8646         The username to authenticate with.
8647        '''
8648
8649    def __repr__(self):
8650        return '<sdm.Cassandra ' + \
8651            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8652            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8653            'healthy: ' + repr(self.healthy) + ' ' +\
8654            'hostname: ' + repr(self.hostname) + ' ' +\
8655            'id: ' + repr(self.id) + ' ' +\
8656            'name: ' + repr(self.name) + ' ' +\
8657            'password: ' + repr(self.password) + ' ' +\
8658            'port: ' + repr(self.port) + ' ' +\
8659            'port_override: ' + repr(self.port_override) + ' ' +\
8660            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8661            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8662            'subdomain: ' + repr(self.subdomain) + ' ' +\
8663            'tags: ' + repr(self.tags) + ' ' +\
8664            'tls_required: ' + repr(self.tls_required) + ' ' +\
8665            'username: ' + repr(self.username) + ' ' +\
8666            '>'
8667
8668    def to_dict(self):
8669        return {
8670            'bind_interface': self.bind_interface,
8671            'egress_filter': self.egress_filter,
8672            'healthy': self.healthy,
8673            'hostname': self.hostname,
8674            'id': self.id,
8675            'name': self.name,
8676            'password': self.password,
8677            'port': self.port,
8678            'port_override': self.port_override,
8679            'proxy_cluster_id': self.proxy_cluster_id,
8680            'secret_store_id': self.secret_store_id,
8681            'subdomain': self.subdomain,
8682            'tags': self.tags,
8683            'tls_required': self.tls_required,
8684            'username': self.username,
8685        }
8686
8687    @classmethod
8688    def from_dict(cls, d):
8689        return cls(
8690            bind_interface=d.get('bind_interface'),
8691            egress_filter=d.get('egress_filter'),
8692            healthy=d.get('healthy'),
8693            hostname=d.get('hostname'),
8694            id=d.get('id'),
8695            name=d.get('name'),
8696            password=d.get('password'),
8697            port=d.get('port'),
8698            port_override=d.get('port_override'),
8699            proxy_cluster_id=d.get('proxy_cluster_id'),
8700            secret_store_id=d.get('secret_store_id'),
8701            subdomain=d.get('subdomain'),
8702            tags=d.get('tags'),
8703            tls_required=d.get('tls_required'),
8704            username=d.get('username'),
8705        )
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)
8570    def __init__(
8571        self,
8572        bind_interface=None,
8573        egress_filter=None,
8574        healthy=None,
8575        hostname=None,
8576        id=None,
8577        name=None,
8578        password=None,
8579        port=None,
8580        port_override=None,
8581        proxy_cluster_id=None,
8582        secret_store_id=None,
8583        subdomain=None,
8584        tags=None,
8585        tls_required=None,
8586        username=None,
8587    ):
8588        self.bind_interface = bind_interface if bind_interface is not None else ''
8589        '''
8590         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8591        '''
8592        self.egress_filter = egress_filter if egress_filter is not None else ''
8593        '''
8594         A filter applied to the routing logic to pin datasource to nodes.
8595        '''
8596        self.healthy = healthy if healthy is not None else False
8597        '''
8598         True if the datasource is reachable and the credentials are valid.
8599        '''
8600        self.hostname = hostname if hostname is not None else ''
8601        '''
8602         The host to dial to initiate a connection from the egress node to this resource.
8603        '''
8604        self.id = id if id is not None else ''
8605        '''
8606         Unique identifier of the Resource.
8607        '''
8608        self.name = name if name is not None else ''
8609        '''
8610         Unique human-readable name of the Resource.
8611        '''
8612        self.password = password if password is not None else ''
8613        '''
8614         The password to authenticate with.
8615        '''
8616        self.port = port if port is not None else 0
8617        '''
8618         The port to dial to initiate a connection from the egress node to this resource.
8619        '''
8620        self.port_override = port_override if port_override is not None else 0
8621        '''
8622         The local port used by clients to connect to this resource.
8623        '''
8624        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8625        '''
8626         ID of the proxy cluster for this resource, if any.
8627        '''
8628        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8629        '''
8630         ID of the secret store containing credentials for this resource, if any.
8631        '''
8632        self.subdomain = subdomain if subdomain is not None else ''
8633        '''
8634         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8635        '''
8636        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8637        '''
8638         Tags is a map of key, value pairs.
8639        '''
8640        self.tls_required = tls_required if tls_required is not None else False
8641        '''
8642         If set, TLS must be used to connect to this resource.
8643        '''
8644        self.username = username if username is not None else ''
8645        '''
8646         The username to authenticate with.
8647        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
8668    def to_dict(self):
8669        return {
8670            'bind_interface': self.bind_interface,
8671            'egress_filter': self.egress_filter,
8672            'healthy': self.healthy,
8673            'hostname': self.hostname,
8674            'id': self.id,
8675            'name': self.name,
8676            'password': self.password,
8677            'port': self.port,
8678            'port_override': self.port_override,
8679            'proxy_cluster_id': self.proxy_cluster_id,
8680            'secret_store_id': self.secret_store_id,
8681            'subdomain': self.subdomain,
8682            'tags': self.tags,
8683            'tls_required': self.tls_required,
8684            'username': self.username,
8685        }
@classmethod
def from_dict(cls, d)
8687    @classmethod
8688    def from_dict(cls, d):
8689        return cls(
8690            bind_interface=d.get('bind_interface'),
8691            egress_filter=d.get('egress_filter'),
8692            healthy=d.get('healthy'),
8693            hostname=d.get('hostname'),
8694            id=d.get('id'),
8695            name=d.get('name'),
8696            password=d.get('password'),
8697            port=d.get('port'),
8698            port_override=d.get('port_override'),
8699            proxy_cluster_id=d.get('proxy_cluster_id'),
8700            secret_store_id=d.get('secret_store_id'),
8701            subdomain=d.get('subdomain'),
8702            tags=d.get('tags'),
8703            tls_required=d.get('tls_required'),
8704            username=d.get('username'),
8705        )
class Citus:
8708class Citus:
8709    __slots__ = [
8710        'bind_interface',
8711        'database',
8712        'egress_filter',
8713        'healthy',
8714        'hostname',
8715        'id',
8716        'name',
8717        'override_database',
8718        'password',
8719        'port',
8720        'port_override',
8721        'proxy_cluster_id',
8722        'secret_store_id',
8723        'subdomain',
8724        'tags',
8725        'username',
8726    ]
8727
8728    def __init__(
8729        self,
8730        bind_interface=None,
8731        database=None,
8732        egress_filter=None,
8733        healthy=None,
8734        hostname=None,
8735        id=None,
8736        name=None,
8737        override_database=None,
8738        password=None,
8739        port=None,
8740        port_override=None,
8741        proxy_cluster_id=None,
8742        secret_store_id=None,
8743        subdomain=None,
8744        tags=None,
8745        username=None,
8746    ):
8747        self.bind_interface = bind_interface if bind_interface is not None else ''
8748        '''
8749         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8750        '''
8751        self.database = database if database is not None else ''
8752        '''
8753         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8754        '''
8755        self.egress_filter = egress_filter if egress_filter is not None else ''
8756        '''
8757         A filter applied to the routing logic to pin datasource to nodes.
8758        '''
8759        self.healthy = healthy if healthy is not None else False
8760        '''
8761         True if the datasource is reachable and the credentials are valid.
8762        '''
8763        self.hostname = hostname if hostname is not None else ''
8764        '''
8765         The host to dial to initiate a connection from the egress node to this resource.
8766        '''
8767        self.id = id if id is not None else ''
8768        '''
8769         Unique identifier of the Resource.
8770        '''
8771        self.name = name if name is not None else ''
8772        '''
8773         Unique human-readable name of the Resource.
8774        '''
8775        self.override_database = override_database if override_database is not None else False
8776        '''
8777         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.
8778        '''
8779        self.password = password if password is not None else ''
8780        '''
8781         The password to authenticate with.
8782        '''
8783        self.port = port if port is not None else 0
8784        '''
8785         The port to dial to initiate a connection from the egress node to this resource.
8786        '''
8787        self.port_override = port_override if port_override is not None else 0
8788        '''
8789         The local port used by clients to connect to this resource.
8790        '''
8791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8792        '''
8793         ID of the proxy cluster for this resource, if any.
8794        '''
8795        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8796        '''
8797         ID of the secret store containing credentials for this resource, if any.
8798        '''
8799        self.subdomain = subdomain if subdomain is not None else ''
8800        '''
8801         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8802        '''
8803        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8804        '''
8805         Tags is a map of key, value pairs.
8806        '''
8807        self.username = username if username is not None else ''
8808        '''
8809         The username to authenticate with.
8810        '''
8811
8812    def __repr__(self):
8813        return '<sdm.Citus ' + \
8814            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8815            'database: ' + repr(self.database) + ' ' +\
8816            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8817            'healthy: ' + repr(self.healthy) + ' ' +\
8818            'hostname: ' + repr(self.hostname) + ' ' +\
8819            'id: ' + repr(self.id) + ' ' +\
8820            'name: ' + repr(self.name) + ' ' +\
8821            'override_database: ' + repr(self.override_database) + ' ' +\
8822            'password: ' + repr(self.password) + ' ' +\
8823            'port: ' + repr(self.port) + ' ' +\
8824            'port_override: ' + repr(self.port_override) + ' ' +\
8825            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8826            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8827            'subdomain: ' + repr(self.subdomain) + ' ' +\
8828            'tags: ' + repr(self.tags) + ' ' +\
8829            'username: ' + repr(self.username) + ' ' +\
8830            '>'
8831
8832    def to_dict(self):
8833        return {
8834            'bind_interface': self.bind_interface,
8835            'database': self.database,
8836            'egress_filter': self.egress_filter,
8837            'healthy': self.healthy,
8838            'hostname': self.hostname,
8839            'id': self.id,
8840            'name': self.name,
8841            'override_database': self.override_database,
8842            'password': self.password,
8843            'port': self.port,
8844            'port_override': self.port_override,
8845            'proxy_cluster_id': self.proxy_cluster_id,
8846            'secret_store_id': self.secret_store_id,
8847            'subdomain': self.subdomain,
8848            'tags': self.tags,
8849            'username': self.username,
8850        }
8851
8852    @classmethod
8853    def from_dict(cls, d):
8854        return cls(
8855            bind_interface=d.get('bind_interface'),
8856            database=d.get('database'),
8857            egress_filter=d.get('egress_filter'),
8858            healthy=d.get('healthy'),
8859            hostname=d.get('hostname'),
8860            id=d.get('id'),
8861            name=d.get('name'),
8862            override_database=d.get('override_database'),
8863            password=d.get('password'),
8864            port=d.get('port'),
8865            port_override=d.get('port_override'),
8866            proxy_cluster_id=d.get('proxy_cluster_id'),
8867            secret_store_id=d.get('secret_store_id'),
8868            subdomain=d.get('subdomain'),
8869            tags=d.get('tags'),
8870            username=d.get('username'),
8871        )
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)
8728    def __init__(
8729        self,
8730        bind_interface=None,
8731        database=None,
8732        egress_filter=None,
8733        healthy=None,
8734        hostname=None,
8735        id=None,
8736        name=None,
8737        override_database=None,
8738        password=None,
8739        port=None,
8740        port_override=None,
8741        proxy_cluster_id=None,
8742        secret_store_id=None,
8743        subdomain=None,
8744        tags=None,
8745        username=None,
8746    ):
8747        self.bind_interface = bind_interface if bind_interface is not None else ''
8748        '''
8749         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8750        '''
8751        self.database = database if database is not None else ''
8752        '''
8753         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8754        '''
8755        self.egress_filter = egress_filter if egress_filter is not None else ''
8756        '''
8757         A filter applied to the routing logic to pin datasource to nodes.
8758        '''
8759        self.healthy = healthy if healthy is not None else False
8760        '''
8761         True if the datasource is reachable and the credentials are valid.
8762        '''
8763        self.hostname = hostname if hostname is not None else ''
8764        '''
8765         The host to dial to initiate a connection from the egress node to this resource.
8766        '''
8767        self.id = id if id is not None else ''
8768        '''
8769         Unique identifier of the Resource.
8770        '''
8771        self.name = name if name is not None else ''
8772        '''
8773         Unique human-readable name of the Resource.
8774        '''
8775        self.override_database = override_database if override_database is not None else False
8776        '''
8777         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.
8778        '''
8779        self.password = password if password is not None else ''
8780        '''
8781         The password to authenticate with.
8782        '''
8783        self.port = port if port is not None else 0
8784        '''
8785         The port to dial to initiate a connection from the egress node to this resource.
8786        '''
8787        self.port_override = port_override if port_override is not None else 0
8788        '''
8789         The local port used by clients to connect to this resource.
8790        '''
8791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8792        '''
8793         ID of the proxy cluster for this resource, if any.
8794        '''
8795        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8796        '''
8797         ID of the secret store containing credentials for this resource, if any.
8798        '''
8799        self.subdomain = subdomain if subdomain is not None else ''
8800        '''
8801         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8802        '''
8803        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8804        '''
8805         Tags is a map of key, value pairs.
8806        '''
8807        self.username = username if username is not None else ''
8808        '''
8809         The username to authenticate with.
8810        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
8832    def to_dict(self):
8833        return {
8834            'bind_interface': self.bind_interface,
8835            'database': self.database,
8836            'egress_filter': self.egress_filter,
8837            'healthy': self.healthy,
8838            'hostname': self.hostname,
8839            'id': self.id,
8840            'name': self.name,
8841            'override_database': self.override_database,
8842            'password': self.password,
8843            'port': self.port,
8844            'port_override': self.port_override,
8845            'proxy_cluster_id': self.proxy_cluster_id,
8846            'secret_store_id': self.secret_store_id,
8847            'subdomain': self.subdomain,
8848            'tags': self.tags,
8849            'username': self.username,
8850        }
@classmethod
def from_dict(cls, d)
8852    @classmethod
8853    def from_dict(cls, d):
8854        return cls(
8855            bind_interface=d.get('bind_interface'),
8856            database=d.get('database'),
8857            egress_filter=d.get('egress_filter'),
8858            healthy=d.get('healthy'),
8859            hostname=d.get('hostname'),
8860            id=d.get('id'),
8861            name=d.get('name'),
8862            override_database=d.get('override_database'),
8863            password=d.get('password'),
8864            port=d.get('port'),
8865            port_override=d.get('port_override'),
8866            proxy_cluster_id=d.get('proxy_cluster_id'),
8867            secret_store_id=d.get('secret_store_id'),
8868            subdomain=d.get('subdomain'),
8869            tags=d.get('tags'),
8870            username=d.get('username'),
8871        )
class ClickHouseHTTP:
8874class ClickHouseHTTP:
8875    __slots__ = [
8876        'bind_interface',
8877        'database',
8878        'egress_filter',
8879        'healthy',
8880        'id',
8881        'name',
8882        'password',
8883        'port_override',
8884        'proxy_cluster_id',
8885        'secret_store_id',
8886        'tags',
8887        'url',
8888        'username',
8889    ]
8890
8891    def __init__(
8892        self,
8893        bind_interface=None,
8894        database=None,
8895        egress_filter=None,
8896        healthy=None,
8897        id=None,
8898        name=None,
8899        password=None,
8900        port_override=None,
8901        proxy_cluster_id=None,
8902        secret_store_id=None,
8903        tags=None,
8904        url=None,
8905        username=None,
8906    ):
8907        self.bind_interface = bind_interface if bind_interface is not None else ''
8908        '''
8909         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8910        '''
8911        self.database = database if database is not None else ''
8912        '''
8913         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8914        '''
8915        self.egress_filter = egress_filter if egress_filter is not None else ''
8916        '''
8917         A filter applied to the routing logic to pin datasource to nodes.
8918        '''
8919        self.healthy = healthy if healthy is not None else False
8920        '''
8921         True if the datasource is reachable and the credentials are valid.
8922        '''
8923        self.id = id if id is not None else ''
8924        '''
8925         Unique identifier of the Resource.
8926        '''
8927        self.name = name if name is not None else ''
8928        '''
8929         Unique human-readable name of the Resource.
8930        '''
8931        self.password = password if password is not None else ''
8932        '''
8933         The password to authenticate with.
8934        '''
8935        self.port_override = port_override if port_override is not None else 0
8936        '''
8937         The local port used by clients to connect to this resource.
8938        '''
8939        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8940        '''
8941         ID of the proxy cluster for this resource, if any.
8942        '''
8943        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8944        '''
8945         ID of the secret store containing credentials for this resource, if any.
8946        '''
8947        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8948        '''
8949         Tags is a map of key, value pairs.
8950        '''
8951        self.url = url if url is not None else ''
8952        '''
8953         The URL to dial to initiate a connection from the egress node to this resource.
8954        '''
8955        self.username = username if username is not None else ''
8956        '''
8957         The username to authenticate with.
8958        '''
8959
8960    def __repr__(self):
8961        return '<sdm.ClickHouseHTTP ' + \
8962            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8963            'database: ' + repr(self.database) + ' ' +\
8964            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8965            'healthy: ' + repr(self.healthy) + ' ' +\
8966            'id: ' + repr(self.id) + ' ' +\
8967            'name: ' + repr(self.name) + ' ' +\
8968            'password: ' + repr(self.password) + ' ' +\
8969            'port_override: ' + repr(self.port_override) + ' ' +\
8970            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8971            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8972            'tags: ' + repr(self.tags) + ' ' +\
8973            'url: ' + repr(self.url) + ' ' +\
8974            'username: ' + repr(self.username) + ' ' +\
8975            '>'
8976
8977    def to_dict(self):
8978        return {
8979            'bind_interface': self.bind_interface,
8980            'database': self.database,
8981            'egress_filter': self.egress_filter,
8982            'healthy': self.healthy,
8983            'id': self.id,
8984            'name': self.name,
8985            'password': self.password,
8986            'port_override': self.port_override,
8987            'proxy_cluster_id': self.proxy_cluster_id,
8988            'secret_store_id': self.secret_store_id,
8989            'tags': self.tags,
8990            'url': self.url,
8991            'username': self.username,
8992        }
8993
8994    @classmethod
8995    def from_dict(cls, d):
8996        return cls(
8997            bind_interface=d.get('bind_interface'),
8998            database=d.get('database'),
8999            egress_filter=d.get('egress_filter'),
9000            healthy=d.get('healthy'),
9001            id=d.get('id'),
9002            name=d.get('name'),
9003            password=d.get('password'),
9004            port_override=d.get('port_override'),
9005            proxy_cluster_id=d.get('proxy_cluster_id'),
9006            secret_store_id=d.get('secret_store_id'),
9007            tags=d.get('tags'),
9008            url=d.get('url'),
9009            username=d.get('username'),
9010        )
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)
8891    def __init__(
8892        self,
8893        bind_interface=None,
8894        database=None,
8895        egress_filter=None,
8896        healthy=None,
8897        id=None,
8898        name=None,
8899        password=None,
8900        port_override=None,
8901        proxy_cluster_id=None,
8902        secret_store_id=None,
8903        tags=None,
8904        url=None,
8905        username=None,
8906    ):
8907        self.bind_interface = bind_interface if bind_interface is not None else ''
8908        '''
8909         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8910        '''
8911        self.database = database if database is not None else ''
8912        '''
8913         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8914        '''
8915        self.egress_filter = egress_filter if egress_filter is not None else ''
8916        '''
8917         A filter applied to the routing logic to pin datasource to nodes.
8918        '''
8919        self.healthy = healthy if healthy is not None else False
8920        '''
8921         True if the datasource is reachable and the credentials are valid.
8922        '''
8923        self.id = id if id is not None else ''
8924        '''
8925         Unique identifier of the Resource.
8926        '''
8927        self.name = name if name is not None else ''
8928        '''
8929         Unique human-readable name of the Resource.
8930        '''
8931        self.password = password if password is not None else ''
8932        '''
8933         The password to authenticate with.
8934        '''
8935        self.port_override = port_override if port_override is not None else 0
8936        '''
8937         The local port used by clients to connect to this resource.
8938        '''
8939        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8940        '''
8941         ID of the proxy cluster for this resource, if any.
8942        '''
8943        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8944        '''
8945         ID of the secret store containing credentials for this resource, if any.
8946        '''
8947        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8948        '''
8949         Tags is a map of key, value pairs.
8950        '''
8951        self.url = url if url is not None else ''
8952        '''
8953         The URL to dial to initiate a connection from the egress node to this resource.
8954        '''
8955        self.username = username if username is not None else ''
8956        '''
8957         The username to authenticate with.
8958        '''
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.

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.

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)
8977    def to_dict(self):
8978        return {
8979            'bind_interface': self.bind_interface,
8980            'database': self.database,
8981            'egress_filter': self.egress_filter,
8982            'healthy': self.healthy,
8983            'id': self.id,
8984            'name': self.name,
8985            'password': self.password,
8986            'port_override': self.port_override,
8987            'proxy_cluster_id': self.proxy_cluster_id,
8988            'secret_store_id': self.secret_store_id,
8989            'tags': self.tags,
8990            'url': self.url,
8991            'username': self.username,
8992        }
@classmethod
def from_dict(cls, d)
8994    @classmethod
8995    def from_dict(cls, d):
8996        return cls(
8997            bind_interface=d.get('bind_interface'),
8998            database=d.get('database'),
8999            egress_filter=d.get('egress_filter'),
9000            healthy=d.get('healthy'),
9001            id=d.get('id'),
9002            name=d.get('name'),
9003            password=d.get('password'),
9004            port_override=d.get('port_override'),
9005            proxy_cluster_id=d.get('proxy_cluster_id'),
9006            secret_store_id=d.get('secret_store_id'),
9007            tags=d.get('tags'),
9008            url=d.get('url'),
9009            username=d.get('username'),
9010        )
class ClickHouseMySQL:
9013class ClickHouseMySQL:
9014    __slots__ = [
9015        'bind_interface',
9016        'database',
9017        'egress_filter',
9018        'healthy',
9019        'hostname',
9020        'id',
9021        'name',
9022        'password',
9023        'port',
9024        'port_override',
9025        'proxy_cluster_id',
9026        'require_native_auth',
9027        'secret_store_id',
9028        'subdomain',
9029        'tags',
9030        'username',
9031    ]
9032
9033    def __init__(
9034        self,
9035        bind_interface=None,
9036        database=None,
9037        egress_filter=None,
9038        healthy=None,
9039        hostname=None,
9040        id=None,
9041        name=None,
9042        password=None,
9043        port=None,
9044        port_override=None,
9045        proxy_cluster_id=None,
9046        require_native_auth=None,
9047        secret_store_id=None,
9048        subdomain=None,
9049        tags=None,
9050        username=None,
9051    ):
9052        self.bind_interface = bind_interface if bind_interface is not None else ''
9053        '''
9054         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9055        '''
9056        self.database = database if database is not None else ''
9057        '''
9058         The database for healthchecks. Does not affect client requests.
9059        '''
9060        self.egress_filter = egress_filter if egress_filter is not None else ''
9061        '''
9062         A filter applied to the routing logic to pin datasource to nodes.
9063        '''
9064        self.healthy = healthy if healthy is not None else False
9065        '''
9066         True if the datasource is reachable and the credentials are valid.
9067        '''
9068        self.hostname = hostname if hostname is not None else ''
9069        '''
9070         The host to dial to initiate a connection from the egress node to this resource.
9071        '''
9072        self.id = id if id is not None else ''
9073        '''
9074         Unique identifier of the Resource.
9075        '''
9076        self.name = name if name is not None else ''
9077        '''
9078         Unique human-readable name of the Resource.
9079        '''
9080        self.password = password if password is not None else ''
9081        '''
9082         The password to authenticate with.
9083        '''
9084        self.port = port if port is not None else 0
9085        '''
9086         The port to dial to initiate a connection from the egress node to this resource.
9087        '''
9088        self.port_override = port_override if port_override is not None else 0
9089        '''
9090         The local port used by clients to connect to this resource.
9091        '''
9092        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9093        '''
9094         ID of the proxy cluster for this resource, if any.
9095        '''
9096        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9097        '''
9098         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9099        '''
9100        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9101        '''
9102         ID of the secret store containing credentials for this resource, if any.
9103        '''
9104        self.subdomain = subdomain if subdomain is not None else ''
9105        '''
9106         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9107        '''
9108        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9109        '''
9110         Tags is a map of key, value pairs.
9111        '''
9112        self.username = username if username is not None else ''
9113        '''
9114         The username to authenticate with.
9115        '''
9116
9117    def __repr__(self):
9118        return '<sdm.ClickHouseMySQL ' + \
9119            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9120            'database: ' + repr(self.database) + ' ' +\
9121            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9122            'healthy: ' + repr(self.healthy) + ' ' +\
9123            'hostname: ' + repr(self.hostname) + ' ' +\
9124            'id: ' + repr(self.id) + ' ' +\
9125            'name: ' + repr(self.name) + ' ' +\
9126            'password: ' + repr(self.password) + ' ' +\
9127            'port: ' + repr(self.port) + ' ' +\
9128            'port_override: ' + repr(self.port_override) + ' ' +\
9129            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9130            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
9131            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9132            'subdomain: ' + repr(self.subdomain) + ' ' +\
9133            'tags: ' + repr(self.tags) + ' ' +\
9134            'username: ' + repr(self.username) + ' ' +\
9135            '>'
9136
9137    def to_dict(self):
9138        return {
9139            'bind_interface': self.bind_interface,
9140            'database': self.database,
9141            'egress_filter': self.egress_filter,
9142            'healthy': self.healthy,
9143            'hostname': self.hostname,
9144            'id': self.id,
9145            'name': self.name,
9146            'password': self.password,
9147            'port': self.port,
9148            'port_override': self.port_override,
9149            'proxy_cluster_id': self.proxy_cluster_id,
9150            'require_native_auth': self.require_native_auth,
9151            'secret_store_id': self.secret_store_id,
9152            'subdomain': self.subdomain,
9153            'tags': self.tags,
9154            'username': self.username,
9155        }
9156
9157    @classmethod
9158    def from_dict(cls, d):
9159        return cls(
9160            bind_interface=d.get('bind_interface'),
9161            database=d.get('database'),
9162            egress_filter=d.get('egress_filter'),
9163            healthy=d.get('healthy'),
9164            hostname=d.get('hostname'),
9165            id=d.get('id'),
9166            name=d.get('name'),
9167            password=d.get('password'),
9168            port=d.get('port'),
9169            port_override=d.get('port_override'),
9170            proxy_cluster_id=d.get('proxy_cluster_id'),
9171            require_native_auth=d.get('require_native_auth'),
9172            secret_store_id=d.get('secret_store_id'),
9173            subdomain=d.get('subdomain'),
9174            tags=d.get('tags'),
9175            username=d.get('username'),
9176        )
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)
9033    def __init__(
9034        self,
9035        bind_interface=None,
9036        database=None,
9037        egress_filter=None,
9038        healthy=None,
9039        hostname=None,
9040        id=None,
9041        name=None,
9042        password=None,
9043        port=None,
9044        port_override=None,
9045        proxy_cluster_id=None,
9046        require_native_auth=None,
9047        secret_store_id=None,
9048        subdomain=None,
9049        tags=None,
9050        username=None,
9051    ):
9052        self.bind_interface = bind_interface if bind_interface is not None else ''
9053        '''
9054         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9055        '''
9056        self.database = database if database is not None else ''
9057        '''
9058         The database for healthchecks. Does not affect client requests.
9059        '''
9060        self.egress_filter = egress_filter if egress_filter is not None else ''
9061        '''
9062         A filter applied to the routing logic to pin datasource to nodes.
9063        '''
9064        self.healthy = healthy if healthy is not None else False
9065        '''
9066         True if the datasource is reachable and the credentials are valid.
9067        '''
9068        self.hostname = hostname if hostname is not None else ''
9069        '''
9070         The host to dial to initiate a connection from the egress node to this resource.
9071        '''
9072        self.id = id if id is not None else ''
9073        '''
9074         Unique identifier of the Resource.
9075        '''
9076        self.name = name if name is not None else ''
9077        '''
9078         Unique human-readable name of the Resource.
9079        '''
9080        self.password = password if password is not None else ''
9081        '''
9082         The password to authenticate with.
9083        '''
9084        self.port = port if port is not None else 0
9085        '''
9086         The port to dial to initiate a connection from the egress node to this resource.
9087        '''
9088        self.port_override = port_override if port_override is not None else 0
9089        '''
9090         The local port used by clients to connect to this resource.
9091        '''
9092        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9093        '''
9094         ID of the proxy cluster for this resource, if any.
9095        '''
9096        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9097        '''
9098         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9099        '''
9100        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9101        '''
9102         ID of the secret store containing credentials for this resource, if any.
9103        '''
9104        self.subdomain = subdomain if subdomain is not None else ''
9105        '''
9106         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9107        '''
9108        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9109        '''
9110         Tags is a map of key, value pairs.
9111        '''
9112        self.username = username if username is not None else ''
9113        '''
9114         The username to authenticate with.
9115        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
9137    def to_dict(self):
9138        return {
9139            'bind_interface': self.bind_interface,
9140            'database': self.database,
9141            'egress_filter': self.egress_filter,
9142            'healthy': self.healthy,
9143            'hostname': self.hostname,
9144            'id': self.id,
9145            'name': self.name,
9146            'password': self.password,
9147            'port': self.port,
9148            'port_override': self.port_override,
9149            'proxy_cluster_id': self.proxy_cluster_id,
9150            'require_native_auth': self.require_native_auth,
9151            'secret_store_id': self.secret_store_id,
9152            'subdomain': self.subdomain,
9153            'tags': self.tags,
9154            'username': self.username,
9155        }
@classmethod
def from_dict(cls, d)
9157    @classmethod
9158    def from_dict(cls, d):
9159        return cls(
9160            bind_interface=d.get('bind_interface'),
9161            database=d.get('database'),
9162            egress_filter=d.get('egress_filter'),
9163            healthy=d.get('healthy'),
9164            hostname=d.get('hostname'),
9165            id=d.get('id'),
9166            name=d.get('name'),
9167            password=d.get('password'),
9168            port=d.get('port'),
9169            port_override=d.get('port_override'),
9170            proxy_cluster_id=d.get('proxy_cluster_id'),
9171            require_native_auth=d.get('require_native_auth'),
9172            secret_store_id=d.get('secret_store_id'),
9173            subdomain=d.get('subdomain'),
9174            tags=d.get('tags'),
9175            username=d.get('username'),
9176        )
class ClickHouseTCP:
9179class ClickHouseTCP:
9180    __slots__ = [
9181        'bind_interface',
9182        'database',
9183        'egress_filter',
9184        'healthy',
9185        'hostname',
9186        'id',
9187        'name',
9188        'password',
9189        'port',
9190        'port_override',
9191        'proxy_cluster_id',
9192        'secret_store_id',
9193        'subdomain',
9194        'tags',
9195        'tls_required',
9196        'username',
9197    ]
9198
9199    def __init__(
9200        self,
9201        bind_interface=None,
9202        database=None,
9203        egress_filter=None,
9204        healthy=None,
9205        hostname=None,
9206        id=None,
9207        name=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        tls_required=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.
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.password = password if password is not None else ''
9247        '''
9248         The password to authenticate with.
9249        '''
9250        self.port = port if port is not None else 0
9251        '''
9252         The port to dial to initiate a connection from the egress node to this resource.
9253        '''
9254        self.port_override = port_override if port_override is not None else 0
9255        '''
9256         The local port used by clients to connect to this resource.
9257        '''
9258        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9259        '''
9260         ID of the proxy cluster for this resource, if any.
9261        '''
9262        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9263        '''
9264         ID of the secret store containing credentials for this resource, if any.
9265        '''
9266        self.subdomain = subdomain if subdomain is not None else ''
9267        '''
9268         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9269        '''
9270        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9271        '''
9272         Tags is a map of key, value pairs.
9273        '''
9274        self.tls_required = tls_required if tls_required is not None else False
9275        '''
9276         If set, TLS must be used to connect to this resource.
9277        '''
9278        self.username = username if username is not None else ''
9279        '''
9280         The username to authenticate with.
9281        '''
9282
9283    def __repr__(self):
9284        return '<sdm.ClickHouseTCP ' + \
9285            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9286            'database: ' + repr(self.database) + ' ' +\
9287            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9288            'healthy: ' + repr(self.healthy) + ' ' +\
9289            'hostname: ' + repr(self.hostname) + ' ' +\
9290            'id: ' + repr(self.id) + ' ' +\
9291            'name: ' + repr(self.name) + ' ' +\
9292            'password: ' + repr(self.password) + ' ' +\
9293            'port: ' + repr(self.port) + ' ' +\
9294            'port_override: ' + repr(self.port_override) + ' ' +\
9295            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9296            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9297            'subdomain: ' + repr(self.subdomain) + ' ' +\
9298            'tags: ' + repr(self.tags) + ' ' +\
9299            'tls_required: ' + repr(self.tls_required) + ' ' +\
9300            'username: ' + repr(self.username) + ' ' +\
9301            '>'
9302
9303    def to_dict(self):
9304        return {
9305            'bind_interface': self.bind_interface,
9306            'database': self.database,
9307            'egress_filter': self.egress_filter,
9308            'healthy': self.healthy,
9309            'hostname': self.hostname,
9310            'id': self.id,
9311            'name': self.name,
9312            'password': self.password,
9313            'port': self.port,
9314            'port_override': self.port_override,
9315            'proxy_cluster_id': self.proxy_cluster_id,
9316            'secret_store_id': self.secret_store_id,
9317            'subdomain': self.subdomain,
9318            'tags': self.tags,
9319            'tls_required': self.tls_required,
9320            'username': self.username,
9321        }
9322
9323    @classmethod
9324    def from_dict(cls, d):
9325        return cls(
9326            bind_interface=d.get('bind_interface'),
9327            database=d.get('database'),
9328            egress_filter=d.get('egress_filter'),
9329            healthy=d.get('healthy'),
9330            hostname=d.get('hostname'),
9331            id=d.get('id'),
9332            name=d.get('name'),
9333            password=d.get('password'),
9334            port=d.get('port'),
9335            port_override=d.get('port_override'),
9336            proxy_cluster_id=d.get('proxy_cluster_id'),
9337            secret_store_id=d.get('secret_store_id'),
9338            subdomain=d.get('subdomain'),
9339            tags=d.get('tags'),
9340            tls_required=d.get('tls_required'),
9341            username=d.get('username'),
9342        )
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)
9199    def __init__(
9200        self,
9201        bind_interface=None,
9202        database=None,
9203        egress_filter=None,
9204        healthy=None,
9205        hostname=None,
9206        id=None,
9207        name=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        tls_required=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.
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.password = password if password is not None else ''
9247        '''
9248         The password to authenticate with.
9249        '''
9250        self.port = port if port is not None else 0
9251        '''
9252         The port to dial to initiate a connection from the egress node to this resource.
9253        '''
9254        self.port_override = port_override if port_override is not None else 0
9255        '''
9256         The local port used by clients to connect to this resource.
9257        '''
9258        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9259        '''
9260         ID of the proxy cluster for this resource, if any.
9261        '''
9262        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9263        '''
9264         ID of the secret store containing credentials for this resource, if any.
9265        '''
9266        self.subdomain = subdomain if subdomain is not None else ''
9267        '''
9268         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9269        '''
9270        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9271        '''
9272         Tags is a map of key, value pairs.
9273        '''
9274        self.tls_required = tls_required if tls_required is not None else False
9275        '''
9276         If set, TLS must be used to connect to this resource.
9277        '''
9278        self.username = username if username is not None else ''
9279        '''
9280         The username to authenticate with.
9281        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
9303    def to_dict(self):
9304        return {
9305            'bind_interface': self.bind_interface,
9306            'database': self.database,
9307            'egress_filter': self.egress_filter,
9308            'healthy': self.healthy,
9309            'hostname': self.hostname,
9310            'id': self.id,
9311            'name': self.name,
9312            'password': self.password,
9313            'port': self.port,
9314            'port_override': self.port_override,
9315            'proxy_cluster_id': self.proxy_cluster_id,
9316            'secret_store_id': self.secret_store_id,
9317            'subdomain': self.subdomain,
9318            'tags': self.tags,
9319            'tls_required': self.tls_required,
9320            'username': self.username,
9321        }
@classmethod
def from_dict(cls, d)
9323    @classmethod
9324    def from_dict(cls, d):
9325        return cls(
9326            bind_interface=d.get('bind_interface'),
9327            database=d.get('database'),
9328            egress_filter=d.get('egress_filter'),
9329            healthy=d.get('healthy'),
9330            hostname=d.get('hostname'),
9331            id=d.get('id'),
9332            name=d.get('name'),
9333            password=d.get('password'),
9334            port=d.get('port'),
9335            port_override=d.get('port_override'),
9336            proxy_cluster_id=d.get('proxy_cluster_id'),
9337            secret_store_id=d.get('secret_store_id'),
9338            subdomain=d.get('subdomain'),
9339            tags=d.get('tags'),
9340            tls_required=d.get('tls_required'),
9341            username=d.get('username'),
9342        )
class Clustrix:
9345class Clustrix:
9346    __slots__ = [
9347        'bind_interface',
9348        'database',
9349        'egress_filter',
9350        'healthy',
9351        'hostname',
9352        'id',
9353        'name',
9354        'password',
9355        'port',
9356        'port_override',
9357        'proxy_cluster_id',
9358        'require_native_auth',
9359        'secret_store_id',
9360        'subdomain',
9361        'tags',
9362        'use_azure_single_server_usernames',
9363        'username',
9364    ]
9365
9366    def __init__(
9367        self,
9368        bind_interface=None,
9369        database=None,
9370        egress_filter=None,
9371        healthy=None,
9372        hostname=None,
9373        id=None,
9374        name=None,
9375        password=None,
9376        port=None,
9377        port_override=None,
9378        proxy_cluster_id=None,
9379        require_native_auth=None,
9380        secret_store_id=None,
9381        subdomain=None,
9382        tags=None,
9383        use_azure_single_server_usernames=None,
9384        username=None,
9385    ):
9386        self.bind_interface = bind_interface if bind_interface is not None else ''
9387        '''
9388         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9389        '''
9390        self.database = database if database is not None else ''
9391        '''
9392         The database for healthchecks. Does not affect client requests.
9393        '''
9394        self.egress_filter = egress_filter if egress_filter is not None else ''
9395        '''
9396         A filter applied to the routing logic to pin datasource to nodes.
9397        '''
9398        self.healthy = healthy if healthy is not None else False
9399        '''
9400         True if the datasource is reachable and the credentials are valid.
9401        '''
9402        self.hostname = hostname if hostname is not None else ''
9403        '''
9404         The host to dial to initiate a connection from the egress node to this resource.
9405        '''
9406        self.id = id if id is not None else ''
9407        '''
9408         Unique identifier of the Resource.
9409        '''
9410        self.name = name if name is not None else ''
9411        '''
9412         Unique human-readable name of the Resource.
9413        '''
9414        self.password = password if password is not None else ''
9415        '''
9416         The password to authenticate with.
9417        '''
9418        self.port = port if port is not None else 0
9419        '''
9420         The port to dial to initiate a connection from the egress node to this resource.
9421        '''
9422        self.port_override = port_override if port_override is not None else 0
9423        '''
9424         The local port used by clients to connect to this resource.
9425        '''
9426        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9427        '''
9428         ID of the proxy cluster for this resource, if any.
9429        '''
9430        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9431        '''
9432         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9433        '''
9434        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9435        '''
9436         ID of the secret store containing credentials for this resource, if any.
9437        '''
9438        self.subdomain = subdomain if subdomain is not None else ''
9439        '''
9440         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9441        '''
9442        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9443        '''
9444         Tags is a map of key, value pairs.
9445        '''
9446        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
9447        '''
9448         If true, appends the hostname to the username when hitting a database.azure.com address
9449        '''
9450        self.username = username if username is not None else ''
9451        '''
9452         The username to authenticate with.
9453        '''
9454
9455    def __repr__(self):
9456        return '<sdm.Clustrix ' + \
9457            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9458            'database: ' + repr(self.database) + ' ' +\
9459            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9460            'healthy: ' + repr(self.healthy) + ' ' +\
9461            'hostname: ' + repr(self.hostname) + ' ' +\
9462            'id: ' + repr(self.id) + ' ' +\
9463            'name: ' + repr(self.name) + ' ' +\
9464            'password: ' + repr(self.password) + ' ' +\
9465            'port: ' + repr(self.port) + ' ' +\
9466            'port_override: ' + repr(self.port_override) + ' ' +\
9467            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9468            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
9469            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9470            'subdomain: ' + repr(self.subdomain) + ' ' +\
9471            'tags: ' + repr(self.tags) + ' ' +\
9472            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
9473            'username: ' + repr(self.username) + ' ' +\
9474            '>'
9475
9476    def to_dict(self):
9477        return {
9478            'bind_interface': self.bind_interface,
9479            'database': self.database,
9480            'egress_filter': self.egress_filter,
9481            'healthy': self.healthy,
9482            'hostname': self.hostname,
9483            'id': self.id,
9484            'name': self.name,
9485            'password': self.password,
9486            'port': self.port,
9487            'port_override': self.port_override,
9488            'proxy_cluster_id': self.proxy_cluster_id,
9489            'require_native_auth': self.require_native_auth,
9490            'secret_store_id': self.secret_store_id,
9491            'subdomain': self.subdomain,
9492            'tags': self.tags,
9493            'use_azure_single_server_usernames':
9494            self.use_azure_single_server_usernames,
9495            'username': self.username,
9496        }
9497
9498    @classmethod
9499    def from_dict(cls, d):
9500        return cls(
9501            bind_interface=d.get('bind_interface'),
9502            database=d.get('database'),
9503            egress_filter=d.get('egress_filter'),
9504            healthy=d.get('healthy'),
9505            hostname=d.get('hostname'),
9506            id=d.get('id'),
9507            name=d.get('name'),
9508            password=d.get('password'),
9509            port=d.get('port'),
9510            port_override=d.get('port_override'),
9511            proxy_cluster_id=d.get('proxy_cluster_id'),
9512            require_native_auth=d.get('require_native_auth'),
9513            secret_store_id=d.get('secret_store_id'),
9514            subdomain=d.get('subdomain'),
9515            tags=d.get('tags'),
9516            use_azure_single_server_usernames=d.get(
9517                'use_azure_single_server_usernames'),
9518            username=d.get('username'),
9519        )
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)
9366    def __init__(
9367        self,
9368        bind_interface=None,
9369        database=None,
9370        egress_filter=None,
9371        healthy=None,
9372        hostname=None,
9373        id=None,
9374        name=None,
9375        password=None,
9376        port=None,
9377        port_override=None,
9378        proxy_cluster_id=None,
9379        require_native_auth=None,
9380        secret_store_id=None,
9381        subdomain=None,
9382        tags=None,
9383        use_azure_single_server_usernames=None,
9384        username=None,
9385    ):
9386        self.bind_interface = bind_interface if bind_interface is not None else ''
9387        '''
9388         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9389        '''
9390        self.database = database if database is not None else ''
9391        '''
9392         The database for healthchecks. Does not affect client requests.
9393        '''
9394        self.egress_filter = egress_filter if egress_filter is not None else ''
9395        '''
9396         A filter applied to the routing logic to pin datasource to nodes.
9397        '''
9398        self.healthy = healthy if healthy is not None else False
9399        '''
9400         True if the datasource is reachable and the credentials are valid.
9401        '''
9402        self.hostname = hostname if hostname is not None else ''
9403        '''
9404         The host to dial to initiate a connection from the egress node to this resource.
9405        '''
9406        self.id = id if id is not None else ''
9407        '''
9408         Unique identifier of the Resource.
9409        '''
9410        self.name = name if name is not None else ''
9411        '''
9412         Unique human-readable name of the Resource.
9413        '''
9414        self.password = password if password is not None else ''
9415        '''
9416         The password to authenticate with.
9417        '''
9418        self.port = port if port is not None else 0
9419        '''
9420         The port to dial to initiate a connection from the egress node to this resource.
9421        '''
9422        self.port_override = port_override if port_override is not None else 0
9423        '''
9424         The local port used by clients to connect to this resource.
9425        '''
9426        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9427        '''
9428         ID of the proxy cluster for this resource, if any.
9429        '''
9430        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9431        '''
9432         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9433        '''
9434        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9435        '''
9436         ID of the secret store containing credentials for this resource, if any.
9437        '''
9438        self.subdomain = subdomain if subdomain is not None else ''
9439        '''
9440         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9441        '''
9442        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9443        '''
9444         Tags is a map of key, value pairs.
9445        '''
9446        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
9447        '''
9448         If true, appends the hostname to the username when hitting a database.azure.com address
9449        '''
9450        self.username = username if username is not None else ''
9451        '''
9452         The username to authenticate with.
9453        '''
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.

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.

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

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_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)
9476    def to_dict(self):
9477        return {
9478            'bind_interface': self.bind_interface,
9479            'database': self.database,
9480            'egress_filter': self.egress_filter,
9481            'healthy': self.healthy,
9482            'hostname': self.hostname,
9483            'id': self.id,
9484            'name': self.name,
9485            'password': self.password,
9486            'port': self.port,
9487            'port_override': self.port_override,
9488            'proxy_cluster_id': self.proxy_cluster_id,
9489            'require_native_auth': self.require_native_auth,
9490            'secret_store_id': self.secret_store_id,
9491            'subdomain': self.subdomain,
9492            'tags': self.tags,
9493            'use_azure_single_server_usernames':
9494            self.use_azure_single_server_usernames,
9495            'username': self.username,
9496        }
@classmethod
def from_dict(cls, d)
9498    @classmethod
9499    def from_dict(cls, d):
9500        return cls(
9501            bind_interface=d.get('bind_interface'),
9502            database=d.get('database'),
9503            egress_filter=d.get('egress_filter'),
9504            healthy=d.get('healthy'),
9505            hostname=d.get('hostname'),
9506            id=d.get('id'),
9507            name=d.get('name'),
9508            password=d.get('password'),
9509            port=d.get('port'),
9510            port_override=d.get('port_override'),
9511            proxy_cluster_id=d.get('proxy_cluster_id'),
9512            require_native_auth=d.get('require_native_auth'),
9513            secret_store_id=d.get('secret_store_id'),
9514            subdomain=d.get('subdomain'),
9515            tags=d.get('tags'),
9516            use_azure_single_server_usernames=d.get(
9517                'use_azure_single_server_usernames'),
9518            username=d.get('username'),
9519        )
class Cockroach:
9522class Cockroach:
9523    __slots__ = [
9524        'bind_interface',
9525        'database',
9526        'egress_filter',
9527        'healthy',
9528        'hostname',
9529        'id',
9530        'name',
9531        'override_database',
9532        'password',
9533        'port',
9534        'port_override',
9535        'proxy_cluster_id',
9536        'secret_store_id',
9537        'subdomain',
9538        'tags',
9539        'username',
9540    ]
9541
9542    def __init__(
9543        self,
9544        bind_interface=None,
9545        database=None,
9546        egress_filter=None,
9547        healthy=None,
9548        hostname=None,
9549        id=None,
9550        name=None,
9551        override_database=None,
9552        password=None,
9553        port=None,
9554        port_override=None,
9555        proxy_cluster_id=None,
9556        secret_store_id=None,
9557        subdomain=None,
9558        tags=None,
9559        username=None,
9560    ):
9561        self.bind_interface = bind_interface if bind_interface is not None else ''
9562        '''
9563         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9564        '''
9565        self.database = database if database is not None else ''
9566        '''
9567         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9568        '''
9569        self.egress_filter = egress_filter if egress_filter is not None else ''
9570        '''
9571         A filter applied to the routing logic to pin datasource to nodes.
9572        '''
9573        self.healthy = healthy if healthy is not None else False
9574        '''
9575         True if the datasource is reachable and the credentials are valid.
9576        '''
9577        self.hostname = hostname if hostname is not None else ''
9578        '''
9579         The host to dial to initiate a connection from the egress node to this resource.
9580        '''
9581        self.id = id if id is not None else ''
9582        '''
9583         Unique identifier of the Resource.
9584        '''
9585        self.name = name if name is not None else ''
9586        '''
9587         Unique human-readable name of the Resource.
9588        '''
9589        self.override_database = override_database if override_database is not None else False
9590        '''
9591         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.
9592        '''
9593        self.password = password if password is not None else ''
9594        '''
9595         The password to authenticate with.
9596        '''
9597        self.port = port if port is not None else 0
9598        '''
9599         The port to dial to initiate a connection from the egress node to this resource.
9600        '''
9601        self.port_override = port_override if port_override is not None else 0
9602        '''
9603         The local port used by clients to connect to this resource.
9604        '''
9605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9606        '''
9607         ID of the proxy cluster for this resource, if any.
9608        '''
9609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9610        '''
9611         ID of the secret store containing credentials for this resource, if any.
9612        '''
9613        self.subdomain = subdomain if subdomain is not None else ''
9614        '''
9615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9616        '''
9617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9618        '''
9619         Tags is a map of key, value pairs.
9620        '''
9621        self.username = username if username is not None else ''
9622        '''
9623         The username to authenticate with.
9624        '''
9625
9626    def __repr__(self):
9627        return '<sdm.Cockroach ' + \
9628            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9629            'database: ' + repr(self.database) + ' ' +\
9630            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9631            'healthy: ' + repr(self.healthy) + ' ' +\
9632            'hostname: ' + repr(self.hostname) + ' ' +\
9633            'id: ' + repr(self.id) + ' ' +\
9634            'name: ' + repr(self.name) + ' ' +\
9635            'override_database: ' + repr(self.override_database) + ' ' +\
9636            'password: ' + repr(self.password) + ' ' +\
9637            'port: ' + repr(self.port) + ' ' +\
9638            'port_override: ' + repr(self.port_override) + ' ' +\
9639            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9640            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9641            'subdomain: ' + repr(self.subdomain) + ' ' +\
9642            'tags: ' + repr(self.tags) + ' ' +\
9643            'username: ' + repr(self.username) + ' ' +\
9644            '>'
9645
9646    def to_dict(self):
9647        return {
9648            'bind_interface': self.bind_interface,
9649            'database': self.database,
9650            'egress_filter': self.egress_filter,
9651            'healthy': self.healthy,
9652            'hostname': self.hostname,
9653            'id': self.id,
9654            'name': self.name,
9655            'override_database': self.override_database,
9656            'password': self.password,
9657            'port': self.port,
9658            'port_override': self.port_override,
9659            'proxy_cluster_id': self.proxy_cluster_id,
9660            'secret_store_id': self.secret_store_id,
9661            'subdomain': self.subdomain,
9662            'tags': self.tags,
9663            'username': self.username,
9664        }
9665
9666    @classmethod
9667    def from_dict(cls, d):
9668        return cls(
9669            bind_interface=d.get('bind_interface'),
9670            database=d.get('database'),
9671            egress_filter=d.get('egress_filter'),
9672            healthy=d.get('healthy'),
9673            hostname=d.get('hostname'),
9674            id=d.get('id'),
9675            name=d.get('name'),
9676            override_database=d.get('override_database'),
9677            password=d.get('password'),
9678            port=d.get('port'),
9679            port_override=d.get('port_override'),
9680            proxy_cluster_id=d.get('proxy_cluster_id'),
9681            secret_store_id=d.get('secret_store_id'),
9682            subdomain=d.get('subdomain'),
9683            tags=d.get('tags'),
9684            username=d.get('username'),
9685        )
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)
9542    def __init__(
9543        self,
9544        bind_interface=None,
9545        database=None,
9546        egress_filter=None,
9547        healthy=None,
9548        hostname=None,
9549        id=None,
9550        name=None,
9551        override_database=None,
9552        password=None,
9553        port=None,
9554        port_override=None,
9555        proxy_cluster_id=None,
9556        secret_store_id=None,
9557        subdomain=None,
9558        tags=None,
9559        username=None,
9560    ):
9561        self.bind_interface = bind_interface if bind_interface is not None else ''
9562        '''
9563         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9564        '''
9565        self.database = database if database is not None else ''
9566        '''
9567         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9568        '''
9569        self.egress_filter = egress_filter if egress_filter is not None else ''
9570        '''
9571         A filter applied to the routing logic to pin datasource to nodes.
9572        '''
9573        self.healthy = healthy if healthy is not None else False
9574        '''
9575         True if the datasource is reachable and the credentials are valid.
9576        '''
9577        self.hostname = hostname if hostname is not None else ''
9578        '''
9579         The host to dial to initiate a connection from the egress node to this resource.
9580        '''
9581        self.id = id if id is not None else ''
9582        '''
9583         Unique identifier of the Resource.
9584        '''
9585        self.name = name if name is not None else ''
9586        '''
9587         Unique human-readable name of the Resource.
9588        '''
9589        self.override_database = override_database if override_database is not None else False
9590        '''
9591         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.
9592        '''
9593        self.password = password if password is not None else ''
9594        '''
9595         The password to authenticate with.
9596        '''
9597        self.port = port if port is not None else 0
9598        '''
9599         The port to dial to initiate a connection from the egress node to this resource.
9600        '''
9601        self.port_override = port_override if port_override is not None else 0
9602        '''
9603         The local port used by clients to connect to this resource.
9604        '''
9605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9606        '''
9607         ID of the proxy cluster for this resource, if any.
9608        '''
9609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9610        '''
9611         ID of the secret store containing credentials for this resource, if any.
9612        '''
9613        self.subdomain = subdomain if subdomain is not None else ''
9614        '''
9615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9616        '''
9617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9618        '''
9619         Tags is a map of key, value pairs.
9620        '''
9621        self.username = username if username is not None else ''
9622        '''
9623         The username to authenticate with.
9624        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
9646    def to_dict(self):
9647        return {
9648            'bind_interface': self.bind_interface,
9649            'database': self.database,
9650            'egress_filter': self.egress_filter,
9651            'healthy': self.healthy,
9652            'hostname': self.hostname,
9653            'id': self.id,
9654            'name': self.name,
9655            'override_database': self.override_database,
9656            'password': self.password,
9657            'port': self.port,
9658            'port_override': self.port_override,
9659            'proxy_cluster_id': self.proxy_cluster_id,
9660            'secret_store_id': self.secret_store_id,
9661            'subdomain': self.subdomain,
9662            'tags': self.tags,
9663            'username': self.username,
9664        }
@classmethod
def from_dict(cls, d)
9666    @classmethod
9667    def from_dict(cls, d):
9668        return cls(
9669            bind_interface=d.get('bind_interface'),
9670            database=d.get('database'),
9671            egress_filter=d.get('egress_filter'),
9672            healthy=d.get('healthy'),
9673            hostname=d.get('hostname'),
9674            id=d.get('id'),
9675            name=d.get('name'),
9676            override_database=d.get('override_database'),
9677            password=d.get('password'),
9678            port=d.get('port'),
9679            port_override=d.get('port_override'),
9680            proxy_cluster_id=d.get('proxy_cluster_id'),
9681            secret_store_id=d.get('secret_store_id'),
9682            subdomain=d.get('subdomain'),
9683            tags=d.get('tags'),
9684            username=d.get('username'),
9685        )
class ControlPanelGetRDPCAPublicKeyResponse:
9688class ControlPanelGetRDPCAPublicKeyResponse:
9689    '''
9690         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
9691     organization's RDP Certificate Authority public key.
9692    '''
9693    __slots__ = [
9694        'meta',
9695        'public_key',
9696        'rate_limit',
9697    ]
9698
9699    def __init__(
9700        self,
9701        meta=None,
9702        public_key=None,
9703        rate_limit=None,
9704    ):
9705        self.meta = meta if meta is not None else None
9706        '''
9707         Reserved for future use.
9708        '''
9709        self.public_key = public_key if public_key is not None else ''
9710        '''
9711         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9712         key format.
9713        '''
9714        self.rate_limit = rate_limit if rate_limit is not None else None
9715        '''
9716         Rate limit information.
9717        '''
9718
9719    def __repr__(self):
9720        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
9721            'meta: ' + repr(self.meta) + ' ' +\
9722            'public_key: ' + repr(self.public_key) + ' ' +\
9723            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9724            '>'
9725
9726    def to_dict(self):
9727        return {
9728            'meta': self.meta,
9729            'public_key': self.public_key,
9730            'rate_limit': self.rate_limit,
9731        }
9732
9733    @classmethod
9734    def from_dict(cls, d):
9735        return cls(
9736            meta=d.get('meta'),
9737            public_key=d.get('public_key'),
9738            rate_limit=d.get('rate_limit'),
9739        )

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

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9699    def __init__(
9700        self,
9701        meta=None,
9702        public_key=None,
9703        rate_limit=None,
9704    ):
9705        self.meta = meta if meta is not None else None
9706        '''
9707         Reserved for future use.
9708        '''
9709        self.public_key = public_key if public_key is not None else ''
9710        '''
9711         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9712         key format.
9713        '''
9714        self.rate_limit = rate_limit if rate_limit is not None else None
9715        '''
9716         Rate limit information.
9717        '''
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)
9726    def to_dict(self):
9727        return {
9728            'meta': self.meta,
9729            'public_key': self.public_key,
9730            'rate_limit': self.rate_limit,
9731        }
@classmethod
def from_dict(cls, d)
9733    @classmethod
9734    def from_dict(cls, d):
9735        return cls(
9736            meta=d.get('meta'),
9737            public_key=d.get('public_key'),
9738            rate_limit=d.get('rate_limit'),
9739        )
class ControlPanelGetSSHCAPublicKeyResponse:
9742class ControlPanelGetSSHCAPublicKeyResponse:
9743    '''
9744         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
9745     organization's SSH Certificate Authority public key.
9746    '''
9747    __slots__ = [
9748        'meta',
9749        'public_key',
9750        'rate_limit',
9751    ]
9752
9753    def __init__(
9754        self,
9755        meta=None,
9756        public_key=None,
9757        rate_limit=None,
9758    ):
9759        self.meta = meta if meta is not None else None
9760        '''
9761         Reserved for future use.
9762        '''
9763        self.public_key = public_key if public_key is not None else ''
9764        '''
9765         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9766         key format.
9767        '''
9768        self.rate_limit = rate_limit if rate_limit is not None else None
9769        '''
9770         Rate limit information.
9771        '''
9772
9773    def __repr__(self):
9774        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
9775            'meta: ' + repr(self.meta) + ' ' +\
9776            'public_key: ' + repr(self.public_key) + ' ' +\
9777            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9778            '>'
9779
9780    def to_dict(self):
9781        return {
9782            'meta': self.meta,
9783            'public_key': self.public_key,
9784            'rate_limit': self.rate_limit,
9785        }
9786
9787    @classmethod
9788    def from_dict(cls, d):
9789        return cls(
9790            meta=d.get('meta'),
9791            public_key=d.get('public_key'),
9792            rate_limit=d.get('rate_limit'),
9793        )

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

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9753    def __init__(
9754        self,
9755        meta=None,
9756        public_key=None,
9757        rate_limit=None,
9758    ):
9759        self.meta = meta if meta is not None else None
9760        '''
9761         Reserved for future use.
9762        '''
9763        self.public_key = public_key if public_key is not None else ''
9764        '''
9765         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9766         key format.
9767        '''
9768        self.rate_limit = rate_limit if rate_limit is not None else None
9769        '''
9770         Rate limit information.
9771        '''
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)
9780    def to_dict(self):
9781        return {
9782            'meta': self.meta,
9783            'public_key': self.public_key,
9784            'rate_limit': self.rate_limit,
9785        }
@classmethod
def from_dict(cls, d)
9787    @classmethod
9788    def from_dict(cls, d):
9789        return cls(
9790            meta=d.get('meta'),
9791            public_key=d.get('public_key'),
9792            rate_limit=d.get('rate_limit'),
9793        )
class ControlPanelVerifyJWTResponse:
9796class ControlPanelVerifyJWTResponse:
9797    '''
9798         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
9799    '''
9800    __slots__ = [
9801        'meta',
9802        'rate_limit',
9803        'valid',
9804    ]
9805
9806    def __init__(
9807        self,
9808        meta=None,
9809        rate_limit=None,
9810        valid=None,
9811    ):
9812        self.meta = meta if meta is not None else None
9813        '''
9814         Reserved for future use.
9815        '''
9816        self.rate_limit = rate_limit if rate_limit is not None else None
9817        '''
9818         Rate limit information.
9819        '''
9820        self.valid = valid if valid is not None else False
9821        '''
9822         Reports if the given token is valid.
9823        '''
9824
9825    def __repr__(self):
9826        return '<sdm.ControlPanelVerifyJWTResponse ' + \
9827            'meta: ' + repr(self.meta) + ' ' +\
9828            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9829            'valid: ' + repr(self.valid) + ' ' +\
9830            '>'
9831
9832    def to_dict(self):
9833        return {
9834            'meta': self.meta,
9835            'rate_limit': self.rate_limit,
9836            'valid': self.valid,
9837        }
9838
9839    @classmethod
9840    def from_dict(cls, d):
9841        return cls(
9842            meta=d.get('meta'),
9843            rate_limit=d.get('rate_limit'),
9844            valid=d.get('valid'),
9845        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

ControlPanelVerifyJWTResponse(meta=None, rate_limit=None, valid=None)
9806    def __init__(
9807        self,
9808        meta=None,
9809        rate_limit=None,
9810        valid=None,
9811    ):
9812        self.meta = meta if meta is not None else None
9813        '''
9814         Reserved for future use.
9815        '''
9816        self.rate_limit = rate_limit if rate_limit is not None else None
9817        '''
9818         Rate limit information.
9819        '''
9820        self.valid = valid if valid is not None else False
9821        '''
9822         Reports if the given token is valid.
9823        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

def to_dict(self)
9832    def to_dict(self):
9833        return {
9834            'meta': self.meta,
9835            'rate_limit': self.rate_limit,
9836            'valid': self.valid,
9837        }
@classmethod
def from_dict(cls, d)
9839    @classmethod
9840    def from_dict(cls, d):
9841        return cls(
9842            meta=d.get('meta'),
9843            rate_limit=d.get('rate_limit'),
9844            valid=d.get('valid'),
9845        )
class CouchbaseDatabase:
 9848class CouchbaseDatabase:
 9849    __slots__ = [
 9850        'bind_interface',
 9851        'egress_filter',
 9852        'healthy',
 9853        'hostname',
 9854        'id',
 9855        'n1ql_port',
 9856        'name',
 9857        'password',
 9858        'port',
 9859        'port_override',
 9860        'proxy_cluster_id',
 9861        'secret_store_id',
 9862        'subdomain',
 9863        'tags',
 9864        'tls_required',
 9865        'username',
 9866    ]
 9867
 9868    def __init__(
 9869        self,
 9870        bind_interface=None,
 9871        egress_filter=None,
 9872        healthy=None,
 9873        hostname=None,
 9874        id=None,
 9875        n1ql_port=None,
 9876        name=None,
 9877        password=None,
 9878        port=None,
 9879        port_override=None,
 9880        proxy_cluster_id=None,
 9881        secret_store_id=None,
 9882        subdomain=None,
 9883        tags=None,
 9884        tls_required=None,
 9885        username=None,
 9886    ):
 9887        self.bind_interface = bind_interface if bind_interface is not None else ''
 9888        '''
 9889         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9890        '''
 9891        self.egress_filter = egress_filter if egress_filter is not None else ''
 9892        '''
 9893         A filter applied to the routing logic to pin datasource to nodes.
 9894        '''
 9895        self.healthy = healthy if healthy is not None else False
 9896        '''
 9897         True if the datasource is reachable and the credentials are valid.
 9898        '''
 9899        self.hostname = hostname if hostname is not None else ''
 9900        '''
 9901         The host to dial to initiate a connection from the egress node to this resource.
 9902        '''
 9903        self.id = id if id is not None else ''
 9904        '''
 9905         Unique identifier of the Resource.
 9906        '''
 9907        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
 9908        '''
 9909         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
 9910        '''
 9911        self.name = name if name is not None else ''
 9912        '''
 9913         Unique human-readable name of the Resource.
 9914        '''
 9915        self.password = password if password is not None else ''
 9916        '''
 9917         The password to authenticate with.
 9918        '''
 9919        self.port = port if port is not None else 0
 9920        '''
 9921         The port to dial to initiate a connection from the egress node to this resource.
 9922        '''
 9923        self.port_override = port_override if port_override is not None else 0
 9924        '''
 9925         The local port used by clients to connect to this resource.
 9926        '''
 9927        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9928        '''
 9929         ID of the proxy cluster for this resource, if any.
 9930        '''
 9931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9932        '''
 9933         ID of the secret store containing credentials for this resource, if any.
 9934        '''
 9935        self.subdomain = subdomain if subdomain is not None else ''
 9936        '''
 9937         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9938        '''
 9939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9940        '''
 9941         Tags is a map of key, value pairs.
 9942        '''
 9943        self.tls_required = tls_required if tls_required is not None else False
 9944        '''
 9945         If set, TLS must be used to connect to this resource.
 9946        '''
 9947        self.username = username if username is not None else ''
 9948        '''
 9949         The username to authenticate with.
 9950        '''
 9951
 9952    def __repr__(self):
 9953        return '<sdm.CouchbaseDatabase ' + \
 9954            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9955            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9956            'healthy: ' + repr(self.healthy) + ' ' +\
 9957            'hostname: ' + repr(self.hostname) + ' ' +\
 9958            'id: ' + repr(self.id) + ' ' +\
 9959            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
 9960            'name: ' + repr(self.name) + ' ' +\
 9961            'password: ' + repr(self.password) + ' ' +\
 9962            'port: ' + repr(self.port) + ' ' +\
 9963            'port_override: ' + repr(self.port_override) + ' ' +\
 9964            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9965            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9966            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9967            'tags: ' + repr(self.tags) + ' ' +\
 9968            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9969            'username: ' + repr(self.username) + ' ' +\
 9970            '>'
 9971
 9972    def to_dict(self):
 9973        return {
 9974            'bind_interface': self.bind_interface,
 9975            'egress_filter': self.egress_filter,
 9976            'healthy': self.healthy,
 9977            'hostname': self.hostname,
 9978            'id': self.id,
 9979            'n1ql_port': self.n1ql_port,
 9980            'name': self.name,
 9981            'password': self.password,
 9982            'port': self.port,
 9983            'port_override': self.port_override,
 9984            'proxy_cluster_id': self.proxy_cluster_id,
 9985            'secret_store_id': self.secret_store_id,
 9986            'subdomain': self.subdomain,
 9987            'tags': self.tags,
 9988            'tls_required': self.tls_required,
 9989            'username': self.username,
 9990        }
 9991
 9992    @classmethod
 9993    def from_dict(cls, d):
 9994        return cls(
 9995            bind_interface=d.get('bind_interface'),
 9996            egress_filter=d.get('egress_filter'),
 9997            healthy=d.get('healthy'),
 9998            hostname=d.get('hostname'),
 9999            id=d.get('id'),
10000            n1ql_port=d.get('n1ql_port'),
10001            name=d.get('name'),
10002            password=d.get('password'),
10003            port=d.get('port'),
10004            port_override=d.get('port_override'),
10005            proxy_cluster_id=d.get('proxy_cluster_id'),
10006            secret_store_id=d.get('secret_store_id'),
10007            subdomain=d.get('subdomain'),
10008            tags=d.get('tags'),
10009            tls_required=d.get('tls_required'),
10010            username=d.get('username'),
10011        )
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)
9868    def __init__(
9869        self,
9870        bind_interface=None,
9871        egress_filter=None,
9872        healthy=None,
9873        hostname=None,
9874        id=None,
9875        n1ql_port=None,
9876        name=None,
9877        password=None,
9878        port=None,
9879        port_override=None,
9880        proxy_cluster_id=None,
9881        secret_store_id=None,
9882        subdomain=None,
9883        tags=None,
9884        tls_required=None,
9885        username=None,
9886    ):
9887        self.bind_interface = bind_interface if bind_interface is not None else ''
9888        '''
9889         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9890        '''
9891        self.egress_filter = egress_filter if egress_filter is not None else ''
9892        '''
9893         A filter applied to the routing logic to pin datasource to nodes.
9894        '''
9895        self.healthy = healthy if healthy is not None else False
9896        '''
9897         True if the datasource is reachable and the credentials are valid.
9898        '''
9899        self.hostname = hostname if hostname is not None else ''
9900        '''
9901         The host to dial to initiate a connection from the egress node to this resource.
9902        '''
9903        self.id = id if id is not None else ''
9904        '''
9905         Unique identifier of the Resource.
9906        '''
9907        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
9908        '''
9909         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
9910        '''
9911        self.name = name if name is not None else ''
9912        '''
9913         Unique human-readable name of the Resource.
9914        '''
9915        self.password = password if password is not None else ''
9916        '''
9917         The password to authenticate with.
9918        '''
9919        self.port = port if port is not None else 0
9920        '''
9921         The port to dial to initiate a connection from the egress node to this resource.
9922        '''
9923        self.port_override = port_override if port_override is not None else 0
9924        '''
9925         The local port used by clients to connect to this resource.
9926        '''
9927        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9928        '''
9929         ID of the proxy cluster for this resource, if any.
9930        '''
9931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9932        '''
9933         ID of the secret store containing credentials for this resource, if any.
9934        '''
9935        self.subdomain = subdomain if subdomain is not None else ''
9936        '''
9937         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9938        '''
9939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9940        '''
9941         Tags is a map of key, value pairs.
9942        '''
9943        self.tls_required = tls_required if tls_required is not None else False
9944        '''
9945         If set, TLS must be used to connect to this resource.
9946        '''
9947        self.username = username if username is not None else ''
9948        '''
9949         The username to authenticate with.
9950        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
9972    def to_dict(self):
9973        return {
9974            'bind_interface': self.bind_interface,
9975            'egress_filter': self.egress_filter,
9976            'healthy': self.healthy,
9977            'hostname': self.hostname,
9978            'id': self.id,
9979            'n1ql_port': self.n1ql_port,
9980            'name': self.name,
9981            'password': self.password,
9982            'port': self.port,
9983            'port_override': self.port_override,
9984            'proxy_cluster_id': self.proxy_cluster_id,
9985            'secret_store_id': self.secret_store_id,
9986            'subdomain': self.subdomain,
9987            'tags': self.tags,
9988            'tls_required': self.tls_required,
9989            'username': self.username,
9990        }
@classmethod
def from_dict(cls, d)
 9992    @classmethod
 9993    def from_dict(cls, d):
 9994        return cls(
 9995            bind_interface=d.get('bind_interface'),
 9996            egress_filter=d.get('egress_filter'),
 9997            healthy=d.get('healthy'),
 9998            hostname=d.get('hostname'),
 9999            id=d.get('id'),
10000            n1ql_port=d.get('n1ql_port'),
10001            name=d.get('name'),
10002            password=d.get('password'),
10003            port=d.get('port'),
10004            port_override=d.get('port_override'),
10005            proxy_cluster_id=d.get('proxy_cluster_id'),
10006            secret_store_id=d.get('secret_store_id'),
10007            subdomain=d.get('subdomain'),
10008            tags=d.get('tags'),
10009            tls_required=d.get('tls_required'),
10010            username=d.get('username'),
10011        )
class CouchbaseWebUI:
10014class CouchbaseWebUI:
10015    __slots__ = [
10016        'bind_interface',
10017        'egress_filter',
10018        'healthy',
10019        'id',
10020        'name',
10021        'password',
10022        'port_override',
10023        'proxy_cluster_id',
10024        'secret_store_id',
10025        'subdomain',
10026        'tags',
10027        'url',
10028        'username',
10029    ]
10030
10031    def __init__(
10032        self,
10033        bind_interface=None,
10034        egress_filter=None,
10035        healthy=None,
10036        id=None,
10037        name=None,
10038        password=None,
10039        port_override=None,
10040        proxy_cluster_id=None,
10041        secret_store_id=None,
10042        subdomain=None,
10043        tags=None,
10044        url=None,
10045        username=None,
10046    ):
10047        self.bind_interface = bind_interface if bind_interface is not None else ''
10048        '''
10049         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10050        '''
10051        self.egress_filter = egress_filter if egress_filter is not None else ''
10052        '''
10053         A filter applied to the routing logic to pin datasource to nodes.
10054        '''
10055        self.healthy = healthy if healthy is not None else False
10056        '''
10057         True if the datasource is reachable and the credentials are valid.
10058        '''
10059        self.id = id if id is not None else ''
10060        '''
10061         Unique identifier of the Resource.
10062        '''
10063        self.name = name if name is not None else ''
10064        '''
10065         Unique human-readable name of the Resource.
10066        '''
10067        self.password = password if password is not None else ''
10068        '''
10069         The password to authenticate with.
10070        '''
10071        self.port_override = port_override if port_override is not None else 0
10072        '''
10073         The local port used by clients to connect to this resource.
10074        '''
10075        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10076        '''
10077         ID of the proxy cluster for this resource, if any.
10078        '''
10079        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10080        '''
10081         ID of the secret store containing credentials for this resource, if any.
10082        '''
10083        self.subdomain = subdomain if subdomain is not None else ''
10084        '''
10085         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10086        '''
10087        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10088        '''
10089         Tags is a map of key, value pairs.
10090        '''
10091        self.url = url if url is not None else ''
10092        '''
10093         The base address of your website without the path.
10094        '''
10095        self.username = username if username is not None else ''
10096        '''
10097         The username to authenticate with.
10098        '''
10099
10100    def __repr__(self):
10101        return '<sdm.CouchbaseWebUI ' + \
10102            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10103            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10104            'healthy: ' + repr(self.healthy) + ' ' +\
10105            'id: ' + repr(self.id) + ' ' +\
10106            'name: ' + repr(self.name) + ' ' +\
10107            'password: ' + repr(self.password) + ' ' +\
10108            'port_override: ' + repr(self.port_override) + ' ' +\
10109            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10110            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10111            'subdomain: ' + repr(self.subdomain) + ' ' +\
10112            'tags: ' + repr(self.tags) + ' ' +\
10113            'url: ' + repr(self.url) + ' ' +\
10114            'username: ' + repr(self.username) + ' ' +\
10115            '>'
10116
10117    def to_dict(self):
10118        return {
10119            'bind_interface': self.bind_interface,
10120            'egress_filter': self.egress_filter,
10121            'healthy': self.healthy,
10122            'id': self.id,
10123            'name': self.name,
10124            'password': self.password,
10125            'port_override': self.port_override,
10126            'proxy_cluster_id': self.proxy_cluster_id,
10127            'secret_store_id': self.secret_store_id,
10128            'subdomain': self.subdomain,
10129            'tags': self.tags,
10130            'url': self.url,
10131            'username': self.username,
10132        }
10133
10134    @classmethod
10135    def from_dict(cls, d):
10136        return cls(
10137            bind_interface=d.get('bind_interface'),
10138            egress_filter=d.get('egress_filter'),
10139            healthy=d.get('healthy'),
10140            id=d.get('id'),
10141            name=d.get('name'),
10142            password=d.get('password'),
10143            port_override=d.get('port_override'),
10144            proxy_cluster_id=d.get('proxy_cluster_id'),
10145            secret_store_id=d.get('secret_store_id'),
10146            subdomain=d.get('subdomain'),
10147            tags=d.get('tags'),
10148            url=d.get('url'),
10149            username=d.get('username'),
10150        )
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)
10031    def __init__(
10032        self,
10033        bind_interface=None,
10034        egress_filter=None,
10035        healthy=None,
10036        id=None,
10037        name=None,
10038        password=None,
10039        port_override=None,
10040        proxy_cluster_id=None,
10041        secret_store_id=None,
10042        subdomain=None,
10043        tags=None,
10044        url=None,
10045        username=None,
10046    ):
10047        self.bind_interface = bind_interface if bind_interface is not None else ''
10048        '''
10049         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10050        '''
10051        self.egress_filter = egress_filter if egress_filter is not None else ''
10052        '''
10053         A filter applied to the routing logic to pin datasource to nodes.
10054        '''
10055        self.healthy = healthy if healthy is not None else False
10056        '''
10057         True if the datasource is reachable and the credentials are valid.
10058        '''
10059        self.id = id if id is not None else ''
10060        '''
10061         Unique identifier of the Resource.
10062        '''
10063        self.name = name if name is not None else ''
10064        '''
10065         Unique human-readable name of the Resource.
10066        '''
10067        self.password = password if password is not None else ''
10068        '''
10069         The password to authenticate with.
10070        '''
10071        self.port_override = port_override if port_override is not None else 0
10072        '''
10073         The local port used by clients to connect to this resource.
10074        '''
10075        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10076        '''
10077         ID of the proxy cluster for this resource, if any.
10078        '''
10079        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10080        '''
10081         ID of the secret store containing credentials for this resource, if any.
10082        '''
10083        self.subdomain = subdomain if subdomain is not None else ''
10084        '''
10085         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10086        '''
10087        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10088        '''
10089         Tags is a map of key, value pairs.
10090        '''
10091        self.url = url if url is not None else ''
10092        '''
10093         The base address of your website without the path.
10094        '''
10095        self.username = username if username is not None else ''
10096        '''
10097         The username to authenticate with.
10098        '''
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.

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.

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)
10117    def to_dict(self):
10118        return {
10119            'bind_interface': self.bind_interface,
10120            'egress_filter': self.egress_filter,
10121            'healthy': self.healthy,
10122            'id': self.id,
10123            'name': self.name,
10124            'password': self.password,
10125            'port_override': self.port_override,
10126            'proxy_cluster_id': self.proxy_cluster_id,
10127            'secret_store_id': self.secret_store_id,
10128            'subdomain': self.subdomain,
10129            'tags': self.tags,
10130            'url': self.url,
10131            'username': self.username,
10132        }
@classmethod
def from_dict(cls, d)
10134    @classmethod
10135    def from_dict(cls, d):
10136        return cls(
10137            bind_interface=d.get('bind_interface'),
10138            egress_filter=d.get('egress_filter'),
10139            healthy=d.get('healthy'),
10140            id=d.get('id'),
10141            name=d.get('name'),
10142            password=d.get('password'),
10143            port_override=d.get('port_override'),
10144            proxy_cluster_id=d.get('proxy_cluster_id'),
10145            secret_store_id=d.get('secret_store_id'),
10146            subdomain=d.get('subdomain'),
10147            tags=d.get('tags'),
10148            url=d.get('url'),
10149            username=d.get('username'),
10150        )
class CreateResponseMetadata:
10153class CreateResponseMetadata:
10154    '''
10155         CreateResponseMetadata is reserved for future use.
10156    '''
10157    __slots__ = []
10158
10159    def __init__(self, ):
10160        pass
10161
10162    def __repr__(self):
10163        return '<sdm.CreateResponseMetadata ' + \
10164            '>'
10165
10166    def to_dict(self):
10167        return {}
10168
10169    @classmethod
10170    def from_dict(cls, d):
10171        return cls()

CreateResponseMetadata is reserved for future use.

CreateResponseMetadata()
10159    def __init__(self, ):
10160        pass
def to_dict(self)
10166    def to_dict(self):
10167        return {}
@classmethod
def from_dict(cls, d)
10169    @classmethod
10170    def from_dict(cls, d):
10171        return cls()
class CyberarkConjurStore:
10174class CyberarkConjurStore:
10175    __slots__ = [
10176        'appurl',
10177        'id',
10178        'name',
10179        'tags',
10180    ]
10181
10182    def __init__(
10183        self,
10184        appurl=None,
10185        id=None,
10186        name=None,
10187        tags=None,
10188    ):
10189        self.appurl = appurl if appurl is not None else ''
10190        '''
10191         The URL of the Cyberark instance
10192        '''
10193        self.id = id if id is not None else ''
10194        '''
10195         Unique identifier of the SecretStore.
10196        '''
10197        self.name = name if name is not None else ''
10198        '''
10199         Unique human-readable name of the SecretStore.
10200        '''
10201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10202        '''
10203         Tags is a map of key, value pairs.
10204        '''
10205
10206    def __repr__(self):
10207        return '<sdm.CyberarkConjurStore ' + \
10208            'appurl: ' + repr(self.appurl) + ' ' +\
10209            'id: ' + repr(self.id) + ' ' +\
10210            'name: ' + repr(self.name) + ' ' +\
10211            'tags: ' + repr(self.tags) + ' ' +\
10212            '>'
10213
10214    def to_dict(self):
10215        return {
10216            'appurl': self.appurl,
10217            'id': self.id,
10218            'name': self.name,
10219            'tags': self.tags,
10220        }
10221
10222    @classmethod
10223    def from_dict(cls, d):
10224        return cls(
10225            appurl=d.get('appurl'),
10226            id=d.get('id'),
10227            name=d.get('name'),
10228            tags=d.get('tags'),
10229        )
CyberarkConjurStore(appurl=None, id=None, name=None, tags=None)
10182    def __init__(
10183        self,
10184        appurl=None,
10185        id=None,
10186        name=None,
10187        tags=None,
10188    ):
10189        self.appurl = appurl if appurl is not None else ''
10190        '''
10191         The URL of the Cyberark instance
10192        '''
10193        self.id = id if id is not None else ''
10194        '''
10195         Unique identifier of the SecretStore.
10196        '''
10197        self.name = name if name is not None else ''
10198        '''
10199         Unique human-readable name of the SecretStore.
10200        '''
10201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10202        '''
10203         Tags is a map of key, value pairs.
10204        '''
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)
10214    def to_dict(self):
10215        return {
10216            'appurl': self.appurl,
10217            'id': self.id,
10218            'name': self.name,
10219            'tags': self.tags,
10220        }
@classmethod
def from_dict(cls, d)
10222    @classmethod
10223    def from_dict(cls, d):
10224        return cls(
10225            appurl=d.get('appurl'),
10226            id=d.get('id'),
10227            name=d.get('name'),
10228            tags=d.get('tags'),
10229        )
class CyberarkPAMExperimentalStore:
10232class CyberarkPAMExperimentalStore:
10233    '''
10234    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10235    without a major version bump.
10236    '''
10237    __slots__ = [
10238        'appurl',
10239        'id',
10240        'name',
10241        'tags',
10242    ]
10243
10244    def __init__(
10245        self,
10246        appurl=None,
10247        id=None,
10248        name=None,
10249        tags=None,
10250    ):
10251        self.appurl = appurl if appurl is not None else ''
10252        '''
10253         The URL of the Cyberark instance
10254        '''
10255        self.id = id if id is not None else ''
10256        '''
10257         Unique identifier of the SecretStore.
10258        '''
10259        self.name = name if name is not None else ''
10260        '''
10261         Unique human-readable name of the SecretStore.
10262        '''
10263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10264        '''
10265         Tags is a map of key, value pairs.
10266        '''
10267
10268    def __repr__(self):
10269        return '<sdm.CyberarkPAMExperimentalStore ' + \
10270            'appurl: ' + repr(self.appurl) + ' ' +\
10271            'id: ' + repr(self.id) + ' ' +\
10272            'name: ' + repr(self.name) + ' ' +\
10273            'tags: ' + repr(self.tags) + ' ' +\
10274            '>'
10275
10276    def to_dict(self):
10277        return {
10278            'appurl': self.appurl,
10279            'id': self.id,
10280            'name': self.name,
10281            'tags': self.tags,
10282        }
10283
10284    @classmethod
10285    def from_dict(cls, d):
10286        return cls(
10287            appurl=d.get('appurl'),
10288            id=d.get('id'),
10289            name=d.get('name'),
10290            tags=d.get('tags'),
10291        )

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)
10244    def __init__(
10245        self,
10246        appurl=None,
10247        id=None,
10248        name=None,
10249        tags=None,
10250    ):
10251        self.appurl = appurl if appurl is not None else ''
10252        '''
10253         The URL of the Cyberark instance
10254        '''
10255        self.id = id if id is not None else ''
10256        '''
10257         Unique identifier of the SecretStore.
10258        '''
10259        self.name = name if name is not None else ''
10260        '''
10261         Unique human-readable name of the SecretStore.
10262        '''
10263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10264        '''
10265         Tags is a map of key, value pairs.
10266        '''
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)
10276    def to_dict(self):
10277        return {
10278            'appurl': self.appurl,
10279            'id': self.id,
10280            'name': self.name,
10281            'tags': self.tags,
10282        }
@classmethod
def from_dict(cls, d)
10284    @classmethod
10285    def from_dict(cls, d):
10286        return cls(
10287            appurl=d.get('appurl'),
10288            id=d.get('id'),
10289            name=d.get('name'),
10290            tags=d.get('tags'),
10291        )
class CyberarkPAMStore:
10294class CyberarkPAMStore:
10295    __slots__ = [
10296        'appurl',
10297        'id',
10298        'name',
10299        'tags',
10300    ]
10301
10302    def __init__(
10303        self,
10304        appurl=None,
10305        id=None,
10306        name=None,
10307        tags=None,
10308    ):
10309        self.appurl = appurl if appurl is not None else ''
10310        '''
10311         The URL of the Cyberark instance
10312        '''
10313        self.id = id if id is not None else ''
10314        '''
10315         Unique identifier of the SecretStore.
10316        '''
10317        self.name = name if name is not None else ''
10318        '''
10319         Unique human-readable name of the SecretStore.
10320        '''
10321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10322        '''
10323         Tags is a map of key, value pairs.
10324        '''
10325
10326    def __repr__(self):
10327        return '<sdm.CyberarkPAMStore ' + \
10328            'appurl: ' + repr(self.appurl) + ' ' +\
10329            'id: ' + repr(self.id) + ' ' +\
10330            'name: ' + repr(self.name) + ' ' +\
10331            'tags: ' + repr(self.tags) + ' ' +\
10332            '>'
10333
10334    def to_dict(self):
10335        return {
10336            'appurl': self.appurl,
10337            'id': self.id,
10338            'name': self.name,
10339            'tags': self.tags,
10340        }
10341
10342    @classmethod
10343    def from_dict(cls, d):
10344        return cls(
10345            appurl=d.get('appurl'),
10346            id=d.get('id'),
10347            name=d.get('name'),
10348            tags=d.get('tags'),
10349        )
CyberarkPAMStore(appurl=None, id=None, name=None, tags=None)
10302    def __init__(
10303        self,
10304        appurl=None,
10305        id=None,
10306        name=None,
10307        tags=None,
10308    ):
10309        self.appurl = appurl if appurl is not None else ''
10310        '''
10311         The URL of the Cyberark instance
10312        '''
10313        self.id = id if id is not None else ''
10314        '''
10315         Unique identifier of the SecretStore.
10316        '''
10317        self.name = name if name is not None else ''
10318        '''
10319         Unique human-readable name of the SecretStore.
10320        '''
10321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10322        '''
10323         Tags is a map of key, value pairs.
10324        '''
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)
10334    def to_dict(self):
10335        return {
10336            'appurl': self.appurl,
10337            'id': self.id,
10338            'name': self.name,
10339            'tags': self.tags,
10340        }
@classmethod
def from_dict(cls, d)
10342    @classmethod
10343    def from_dict(cls, d):
10344        return cls(
10345            appurl=d.get('appurl'),
10346            id=d.get('id'),
10347            name=d.get('name'),
10348            tags=d.get('tags'),
10349        )
class DB2I:
10352class DB2I:
10353    __slots__ = [
10354        'bind_interface',
10355        'egress_filter',
10356        'healthy',
10357        'hostname',
10358        'id',
10359        'name',
10360        'password',
10361        'port',
10362        'port_override',
10363        'proxy_cluster_id',
10364        'secret_store_id',
10365        'subdomain',
10366        'tags',
10367        'tls_required',
10368        'username',
10369    ]
10370
10371    def __init__(
10372        self,
10373        bind_interface=None,
10374        egress_filter=None,
10375        healthy=None,
10376        hostname=None,
10377        id=None,
10378        name=None,
10379        password=None,
10380        port=None,
10381        port_override=None,
10382        proxy_cluster_id=None,
10383        secret_store_id=None,
10384        subdomain=None,
10385        tags=None,
10386        tls_required=None,
10387        username=None,
10388    ):
10389        self.bind_interface = bind_interface if bind_interface is not None else ''
10390        '''
10391         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10392        '''
10393        self.egress_filter = egress_filter if egress_filter is not None else ''
10394        '''
10395         A filter applied to the routing logic to pin datasource to nodes.
10396        '''
10397        self.healthy = healthy if healthy is not None else False
10398        '''
10399         True if the datasource is reachable and the credentials are valid.
10400        '''
10401        self.hostname = hostname if hostname is not None else ''
10402        '''
10403         The host to dial to initiate a connection from the egress node to this resource.
10404        '''
10405        self.id = id if id is not None else ''
10406        '''
10407         Unique identifier of the Resource.
10408        '''
10409        self.name = name if name is not None else ''
10410        '''
10411         Unique human-readable name of the Resource.
10412        '''
10413        self.password = password if password is not None else ''
10414        '''
10415         The password to authenticate with.
10416        '''
10417        self.port = port if port is not None else 0
10418        '''
10419         The port to dial to initiate a connection from the egress node to this resource.
10420        '''
10421        self.port_override = port_override if port_override is not None else 0
10422        '''
10423         The local port used by clients to connect to this resource.
10424        '''
10425        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10426        '''
10427         ID of the proxy cluster for this resource, if any.
10428        '''
10429        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10430        '''
10431         ID of the secret store containing credentials for this resource, if any.
10432        '''
10433        self.subdomain = subdomain if subdomain is not None else ''
10434        '''
10435         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10436        '''
10437        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10438        '''
10439         Tags is a map of key, value pairs.
10440        '''
10441        self.tls_required = tls_required if tls_required is not None else False
10442        '''
10443         If set, TLS must be used to connect to this resource.
10444        '''
10445        self.username = username if username is not None else ''
10446        '''
10447         The username to authenticate with.
10448        '''
10449
10450    def __repr__(self):
10451        return '<sdm.DB2I ' + \
10452            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10453            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10454            'healthy: ' + repr(self.healthy) + ' ' +\
10455            'hostname: ' + repr(self.hostname) + ' ' +\
10456            'id: ' + repr(self.id) + ' ' +\
10457            'name: ' + repr(self.name) + ' ' +\
10458            'password: ' + repr(self.password) + ' ' +\
10459            'port: ' + repr(self.port) + ' ' +\
10460            'port_override: ' + repr(self.port_override) + ' ' +\
10461            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10462            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10463            'subdomain: ' + repr(self.subdomain) + ' ' +\
10464            'tags: ' + repr(self.tags) + ' ' +\
10465            'tls_required: ' + repr(self.tls_required) + ' ' +\
10466            'username: ' + repr(self.username) + ' ' +\
10467            '>'
10468
10469    def to_dict(self):
10470        return {
10471            'bind_interface': self.bind_interface,
10472            'egress_filter': self.egress_filter,
10473            'healthy': self.healthy,
10474            'hostname': self.hostname,
10475            'id': self.id,
10476            'name': self.name,
10477            'password': self.password,
10478            'port': self.port,
10479            'port_override': self.port_override,
10480            'proxy_cluster_id': self.proxy_cluster_id,
10481            'secret_store_id': self.secret_store_id,
10482            'subdomain': self.subdomain,
10483            'tags': self.tags,
10484            'tls_required': self.tls_required,
10485            'username': self.username,
10486        }
10487
10488    @classmethod
10489    def from_dict(cls, d):
10490        return cls(
10491            bind_interface=d.get('bind_interface'),
10492            egress_filter=d.get('egress_filter'),
10493            healthy=d.get('healthy'),
10494            hostname=d.get('hostname'),
10495            id=d.get('id'),
10496            name=d.get('name'),
10497            password=d.get('password'),
10498            port=d.get('port'),
10499            port_override=d.get('port_override'),
10500            proxy_cluster_id=d.get('proxy_cluster_id'),
10501            secret_store_id=d.get('secret_store_id'),
10502            subdomain=d.get('subdomain'),
10503            tags=d.get('tags'),
10504            tls_required=d.get('tls_required'),
10505            username=d.get('username'),
10506        )
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)
10371    def __init__(
10372        self,
10373        bind_interface=None,
10374        egress_filter=None,
10375        healthy=None,
10376        hostname=None,
10377        id=None,
10378        name=None,
10379        password=None,
10380        port=None,
10381        port_override=None,
10382        proxy_cluster_id=None,
10383        secret_store_id=None,
10384        subdomain=None,
10385        tags=None,
10386        tls_required=None,
10387        username=None,
10388    ):
10389        self.bind_interface = bind_interface if bind_interface is not None else ''
10390        '''
10391         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10392        '''
10393        self.egress_filter = egress_filter if egress_filter is not None else ''
10394        '''
10395         A filter applied to the routing logic to pin datasource to nodes.
10396        '''
10397        self.healthy = healthy if healthy is not None else False
10398        '''
10399         True if the datasource is reachable and the credentials are valid.
10400        '''
10401        self.hostname = hostname if hostname is not None else ''
10402        '''
10403         The host to dial to initiate a connection from the egress node to this resource.
10404        '''
10405        self.id = id if id is not None else ''
10406        '''
10407         Unique identifier of the Resource.
10408        '''
10409        self.name = name if name is not None else ''
10410        '''
10411         Unique human-readable name of the Resource.
10412        '''
10413        self.password = password if password is not None else ''
10414        '''
10415         The password to authenticate with.
10416        '''
10417        self.port = port if port is not None else 0
10418        '''
10419         The port to dial to initiate a connection from the egress node to this resource.
10420        '''
10421        self.port_override = port_override if port_override is not None else 0
10422        '''
10423         The local port used by clients to connect to this resource.
10424        '''
10425        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10426        '''
10427         ID of the proxy cluster for this resource, if any.
10428        '''
10429        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10430        '''
10431         ID of the secret store containing credentials for this resource, if any.
10432        '''
10433        self.subdomain = subdomain if subdomain is not None else ''
10434        '''
10435         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10436        '''
10437        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10438        '''
10439         Tags is a map of key, value pairs.
10440        '''
10441        self.tls_required = tls_required if tls_required is not None else False
10442        '''
10443         If set, TLS must be used to connect to this resource.
10444        '''
10445        self.username = username if username is not None else ''
10446        '''
10447         The username to authenticate with.
10448        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
10469    def to_dict(self):
10470        return {
10471            'bind_interface': self.bind_interface,
10472            'egress_filter': self.egress_filter,
10473            'healthy': self.healthy,
10474            'hostname': self.hostname,
10475            'id': self.id,
10476            'name': self.name,
10477            'password': self.password,
10478            'port': self.port,
10479            'port_override': self.port_override,
10480            'proxy_cluster_id': self.proxy_cluster_id,
10481            'secret_store_id': self.secret_store_id,
10482            'subdomain': self.subdomain,
10483            'tags': self.tags,
10484            'tls_required': self.tls_required,
10485            'username': self.username,
10486        }
@classmethod
def from_dict(cls, d)
10488    @classmethod
10489    def from_dict(cls, d):
10490        return cls(
10491            bind_interface=d.get('bind_interface'),
10492            egress_filter=d.get('egress_filter'),
10493            healthy=d.get('healthy'),
10494            hostname=d.get('hostname'),
10495            id=d.get('id'),
10496            name=d.get('name'),
10497            password=d.get('password'),
10498            port=d.get('port'),
10499            port_override=d.get('port_override'),
10500            proxy_cluster_id=d.get('proxy_cluster_id'),
10501            secret_store_id=d.get('secret_store_id'),
10502            subdomain=d.get('subdomain'),
10503            tags=d.get('tags'),
10504            tls_required=d.get('tls_required'),
10505            username=d.get('username'),
10506        )
class DB2LUW:
10509class DB2LUW:
10510    __slots__ = [
10511        'bind_interface',
10512        'database',
10513        'egress_filter',
10514        'healthy',
10515        'hostname',
10516        'id',
10517        'name',
10518        'password',
10519        'port',
10520        'port_override',
10521        'proxy_cluster_id',
10522        'secret_store_id',
10523        'subdomain',
10524        'tags',
10525        'tls_required',
10526        'username',
10527    ]
10528
10529    def __init__(
10530        self,
10531        bind_interface=None,
10532        database=None,
10533        egress_filter=None,
10534        healthy=None,
10535        hostname=None,
10536        id=None,
10537        name=None,
10538        password=None,
10539        port=None,
10540        port_override=None,
10541        proxy_cluster_id=None,
10542        secret_store_id=None,
10543        subdomain=None,
10544        tags=None,
10545        tls_required=None,
10546        username=None,
10547    ):
10548        self.bind_interface = bind_interface if bind_interface is not None else ''
10549        '''
10550         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10551        '''
10552        self.database = database if database is not None else ''
10553        '''
10554         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10555        '''
10556        self.egress_filter = egress_filter if egress_filter is not None else ''
10557        '''
10558         A filter applied to the routing logic to pin datasource to nodes.
10559        '''
10560        self.healthy = healthy if healthy is not None else False
10561        '''
10562         True if the datasource is reachable and the credentials are valid.
10563        '''
10564        self.hostname = hostname if hostname is not None else ''
10565        '''
10566         The host to dial to initiate a connection from the egress node to this resource.
10567        '''
10568        self.id = id if id is not None else ''
10569        '''
10570         Unique identifier of the Resource.
10571        '''
10572        self.name = name if name is not None else ''
10573        '''
10574         Unique human-readable name of the Resource.
10575        '''
10576        self.password = password if password is not None else ''
10577        '''
10578         The password to authenticate with.
10579        '''
10580        self.port = port if port is not None else 0
10581        '''
10582         The port to dial to initiate a connection from the egress node to this resource.
10583        '''
10584        self.port_override = port_override if port_override is not None else 0
10585        '''
10586         The local port used by clients to connect to this resource.
10587        '''
10588        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10589        '''
10590         ID of the proxy cluster for this resource, if any.
10591        '''
10592        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10593        '''
10594         ID of the secret store containing credentials for this resource, if any.
10595        '''
10596        self.subdomain = subdomain if subdomain is not None else ''
10597        '''
10598         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10599        '''
10600        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10601        '''
10602         Tags is a map of key, value pairs.
10603        '''
10604        self.tls_required = tls_required if tls_required is not None else False
10605        '''
10606         If set, TLS must be used to connect to this resource.
10607        '''
10608        self.username = username if username is not None else ''
10609        '''
10610         The username to authenticate with.
10611        '''
10612
10613    def __repr__(self):
10614        return '<sdm.DB2LUW ' + \
10615            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10616            'database: ' + repr(self.database) + ' ' +\
10617            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10618            'healthy: ' + repr(self.healthy) + ' ' +\
10619            'hostname: ' + repr(self.hostname) + ' ' +\
10620            'id: ' + repr(self.id) + ' ' +\
10621            'name: ' + repr(self.name) + ' ' +\
10622            'password: ' + repr(self.password) + ' ' +\
10623            'port: ' + repr(self.port) + ' ' +\
10624            'port_override: ' + repr(self.port_override) + ' ' +\
10625            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10626            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10627            'subdomain: ' + repr(self.subdomain) + ' ' +\
10628            'tags: ' + repr(self.tags) + ' ' +\
10629            'tls_required: ' + repr(self.tls_required) + ' ' +\
10630            'username: ' + repr(self.username) + ' ' +\
10631            '>'
10632
10633    def to_dict(self):
10634        return {
10635            'bind_interface': self.bind_interface,
10636            'database': self.database,
10637            'egress_filter': self.egress_filter,
10638            'healthy': self.healthy,
10639            'hostname': self.hostname,
10640            'id': self.id,
10641            'name': self.name,
10642            'password': self.password,
10643            'port': self.port,
10644            'port_override': self.port_override,
10645            'proxy_cluster_id': self.proxy_cluster_id,
10646            'secret_store_id': self.secret_store_id,
10647            'subdomain': self.subdomain,
10648            'tags': self.tags,
10649            'tls_required': self.tls_required,
10650            'username': self.username,
10651        }
10652
10653    @classmethod
10654    def from_dict(cls, d):
10655        return cls(
10656            bind_interface=d.get('bind_interface'),
10657            database=d.get('database'),
10658            egress_filter=d.get('egress_filter'),
10659            healthy=d.get('healthy'),
10660            hostname=d.get('hostname'),
10661            id=d.get('id'),
10662            name=d.get('name'),
10663            password=d.get('password'),
10664            port=d.get('port'),
10665            port_override=d.get('port_override'),
10666            proxy_cluster_id=d.get('proxy_cluster_id'),
10667            secret_store_id=d.get('secret_store_id'),
10668            subdomain=d.get('subdomain'),
10669            tags=d.get('tags'),
10670            tls_required=d.get('tls_required'),
10671            username=d.get('username'),
10672        )
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)
10529    def __init__(
10530        self,
10531        bind_interface=None,
10532        database=None,
10533        egress_filter=None,
10534        healthy=None,
10535        hostname=None,
10536        id=None,
10537        name=None,
10538        password=None,
10539        port=None,
10540        port_override=None,
10541        proxy_cluster_id=None,
10542        secret_store_id=None,
10543        subdomain=None,
10544        tags=None,
10545        tls_required=None,
10546        username=None,
10547    ):
10548        self.bind_interface = bind_interface if bind_interface is not None else ''
10549        '''
10550         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10551        '''
10552        self.database = database if database is not None else ''
10553        '''
10554         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10555        '''
10556        self.egress_filter = egress_filter if egress_filter is not None else ''
10557        '''
10558         A filter applied to the routing logic to pin datasource to nodes.
10559        '''
10560        self.healthy = healthy if healthy is not None else False
10561        '''
10562         True if the datasource is reachable and the credentials are valid.
10563        '''
10564        self.hostname = hostname if hostname is not None else ''
10565        '''
10566         The host to dial to initiate a connection from the egress node to this resource.
10567        '''
10568        self.id = id if id is not None else ''
10569        '''
10570         Unique identifier of the Resource.
10571        '''
10572        self.name = name if name is not None else ''
10573        '''
10574         Unique human-readable name of the Resource.
10575        '''
10576        self.password = password if password is not None else ''
10577        '''
10578         The password to authenticate with.
10579        '''
10580        self.port = port if port is not None else 0
10581        '''
10582         The port to dial to initiate a connection from the egress node to this resource.
10583        '''
10584        self.port_override = port_override if port_override is not None else 0
10585        '''
10586         The local port used by clients to connect to this resource.
10587        '''
10588        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10589        '''
10590         ID of the proxy cluster for this resource, if any.
10591        '''
10592        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10593        '''
10594         ID of the secret store containing credentials for this resource, if any.
10595        '''
10596        self.subdomain = subdomain if subdomain is not None else ''
10597        '''
10598         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10599        '''
10600        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10601        '''
10602         Tags is a map of key, value pairs.
10603        '''
10604        self.tls_required = tls_required if tls_required is not None else False
10605        '''
10606         If set, TLS must be used to connect to this resource.
10607        '''
10608        self.username = username if username is not None else ''
10609        '''
10610         The username to authenticate with.
10611        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
10633    def to_dict(self):
10634        return {
10635            'bind_interface': self.bind_interface,
10636            'database': self.database,
10637            'egress_filter': self.egress_filter,
10638            'healthy': self.healthy,
10639            'hostname': self.hostname,
10640            'id': self.id,
10641            'name': self.name,
10642            'password': self.password,
10643            'port': self.port,
10644            'port_override': self.port_override,
10645            'proxy_cluster_id': self.proxy_cluster_id,
10646            'secret_store_id': self.secret_store_id,
10647            'subdomain': self.subdomain,
10648            'tags': self.tags,
10649            'tls_required': self.tls_required,
10650            'username': self.username,
10651        }
@classmethod
def from_dict(cls, d)
10653    @classmethod
10654    def from_dict(cls, d):
10655        return cls(
10656            bind_interface=d.get('bind_interface'),
10657            database=d.get('database'),
10658            egress_filter=d.get('egress_filter'),
10659            healthy=d.get('healthy'),
10660            hostname=d.get('hostname'),
10661            id=d.get('id'),
10662            name=d.get('name'),
10663            password=d.get('password'),
10664            port=d.get('port'),
10665            port_override=d.get('port_override'),
10666            proxy_cluster_id=d.get('proxy_cluster_id'),
10667            secret_store_id=d.get('secret_store_id'),
10668            subdomain=d.get('subdomain'),
10669            tags=d.get('tags'),
10670            tls_required=d.get('tls_required'),
10671            username=d.get('username'),
10672        )
class DeleteResponseMetadata:
10675class DeleteResponseMetadata:
10676    '''
10677         DeleteResponseMetadata is reserved for future use.
10678    '''
10679    __slots__ = []
10680
10681    def __init__(self, ):
10682        pass
10683
10684    def __repr__(self):
10685        return '<sdm.DeleteResponseMetadata ' + \
10686            '>'
10687
10688    def to_dict(self):
10689        return {}
10690
10691    @classmethod
10692    def from_dict(cls, d):
10693        return cls()

DeleteResponseMetadata is reserved for future use.

DeleteResponseMetadata()
10681    def __init__(self, ):
10682        pass
def to_dict(self)
10688    def to_dict(self):
10689        return {}
@classmethod
def from_dict(cls, d)
10691    @classmethod
10692    def from_dict(cls, d):
10693        return cls()
class DelineaStore:
10696class DelineaStore:
10697    __slots__ = [
10698        'id',
10699        'name',
10700        'server_url',
10701        'tags',
10702        'tenant_name',
10703    ]
10704
10705    def __init__(
10706        self,
10707        id=None,
10708        name=None,
10709        server_url=None,
10710        tags=None,
10711        tenant_name=None,
10712    ):
10713        self.id = id if id is not None else ''
10714        '''
10715         Unique identifier of the SecretStore.
10716        '''
10717        self.name = name if name is not None else ''
10718        '''
10719         Unique human-readable name of the SecretStore.
10720        '''
10721        self.server_url = server_url if server_url is not None else ''
10722        '''
10723         The URL of the Delinea instance
10724        '''
10725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10726        '''
10727         Tags is a map of key, value pairs.
10728        '''
10729        self.tenant_name = tenant_name if tenant_name is not None else ''
10730        '''
10731         The tenant name to target
10732        '''
10733
10734    def __repr__(self):
10735        return '<sdm.DelineaStore ' + \
10736            'id: ' + repr(self.id) + ' ' +\
10737            'name: ' + repr(self.name) + ' ' +\
10738            'server_url: ' + repr(self.server_url) + ' ' +\
10739            'tags: ' + repr(self.tags) + ' ' +\
10740            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10741            '>'
10742
10743    def to_dict(self):
10744        return {
10745            'id': self.id,
10746            'name': self.name,
10747            'server_url': self.server_url,
10748            'tags': self.tags,
10749            'tenant_name': self.tenant_name,
10750        }
10751
10752    @classmethod
10753    def from_dict(cls, d):
10754        return cls(
10755            id=d.get('id'),
10756            name=d.get('name'),
10757            server_url=d.get('server_url'),
10758            tags=d.get('tags'),
10759            tenant_name=d.get('tenant_name'),
10760        )
DelineaStore(id=None, name=None, server_url=None, tags=None, tenant_name=None)
10705    def __init__(
10706        self,
10707        id=None,
10708        name=None,
10709        server_url=None,
10710        tags=None,
10711        tenant_name=None,
10712    ):
10713        self.id = id if id is not None else ''
10714        '''
10715         Unique identifier of the SecretStore.
10716        '''
10717        self.name = name if name is not None else ''
10718        '''
10719         Unique human-readable name of the SecretStore.
10720        '''
10721        self.server_url = server_url if server_url is not None else ''
10722        '''
10723         The URL of the Delinea instance
10724        '''
10725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10726        '''
10727         Tags is a map of key, value pairs.
10728        '''
10729        self.tenant_name = tenant_name if tenant_name is not None else ''
10730        '''
10731         The tenant name to target
10732        '''
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)
10743    def to_dict(self):
10744        return {
10745            'id': self.id,
10746            'name': self.name,
10747            'server_url': self.server_url,
10748            'tags': self.tags,
10749            'tenant_name': self.tenant_name,
10750        }
@classmethod
def from_dict(cls, d)
10752    @classmethod
10753    def from_dict(cls, d):
10754        return cls(
10755            id=d.get('id'),
10756            name=d.get('name'),
10757            server_url=d.get('server_url'),
10758            tags=d.get('tags'),
10759            tenant_name=d.get('tenant_name'),
10760        )
class DocumentDBHost:
10763class DocumentDBHost:
10764    __slots__ = [
10765        'auth_database',
10766        'bind_interface',
10767        'egress_filter',
10768        'healthy',
10769        'hostname',
10770        'id',
10771        'name',
10772        'password',
10773        'port',
10774        'port_override',
10775        'proxy_cluster_id',
10776        'secret_store_id',
10777        'subdomain',
10778        'tags',
10779        'username',
10780    ]
10781
10782    def __init__(
10783        self,
10784        auth_database=None,
10785        bind_interface=None,
10786        egress_filter=None,
10787        healthy=None,
10788        hostname=None,
10789        id=None,
10790        name=None,
10791        password=None,
10792        port=None,
10793        port_override=None,
10794        proxy_cluster_id=None,
10795        secret_store_id=None,
10796        subdomain=None,
10797        tags=None,
10798        username=None,
10799    ):
10800        self.auth_database = auth_database if auth_database is not None else ''
10801        '''
10802         The authentication database to use.
10803        '''
10804        self.bind_interface = bind_interface if bind_interface is not None else ''
10805        '''
10806         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10807        '''
10808        self.egress_filter = egress_filter if egress_filter is not None else ''
10809        '''
10810         A filter applied to the routing logic to pin datasource to nodes.
10811        '''
10812        self.healthy = healthy if healthy is not None else False
10813        '''
10814         True if the datasource is reachable and the credentials are valid.
10815        '''
10816        self.hostname = hostname if hostname is not None else ''
10817        '''
10818         The host to dial to initiate a connection from the egress node to this resource.
10819        '''
10820        self.id = id if id is not None else ''
10821        '''
10822         Unique identifier of the Resource.
10823        '''
10824        self.name = name if name is not None else ''
10825        '''
10826         Unique human-readable name of the Resource.
10827        '''
10828        self.password = password if password is not None else ''
10829        '''
10830         The password to authenticate with.
10831        '''
10832        self.port = port if port is not None else 0
10833        '''
10834         The port to dial to initiate a connection from the egress node to this resource.
10835        '''
10836        self.port_override = port_override if port_override is not None else 0
10837        '''
10838         The local port used by clients to connect to this resource.
10839        '''
10840        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10841        '''
10842         ID of the proxy cluster for this resource, if any.
10843        '''
10844        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10845        '''
10846         ID of the secret store containing credentials for this resource, if any.
10847        '''
10848        self.subdomain = subdomain if subdomain is not None else ''
10849        '''
10850         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10851        '''
10852        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10853        '''
10854         Tags is a map of key, value pairs.
10855        '''
10856        self.username = username if username is not None else ''
10857        '''
10858         The username to authenticate with.
10859        '''
10860
10861    def __repr__(self):
10862        return '<sdm.DocumentDBHost ' + \
10863            'auth_database: ' + repr(self.auth_database) + ' ' +\
10864            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10865            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10866            'healthy: ' + repr(self.healthy) + ' ' +\
10867            'hostname: ' + repr(self.hostname) + ' ' +\
10868            'id: ' + repr(self.id) + ' ' +\
10869            'name: ' + repr(self.name) + ' ' +\
10870            'password: ' + repr(self.password) + ' ' +\
10871            'port: ' + repr(self.port) + ' ' +\
10872            'port_override: ' + repr(self.port_override) + ' ' +\
10873            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10874            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10875            'subdomain: ' + repr(self.subdomain) + ' ' +\
10876            'tags: ' + repr(self.tags) + ' ' +\
10877            'username: ' + repr(self.username) + ' ' +\
10878            '>'
10879
10880    def to_dict(self):
10881        return {
10882            'auth_database': self.auth_database,
10883            'bind_interface': self.bind_interface,
10884            'egress_filter': self.egress_filter,
10885            'healthy': self.healthy,
10886            'hostname': self.hostname,
10887            'id': self.id,
10888            'name': self.name,
10889            'password': self.password,
10890            'port': self.port,
10891            'port_override': self.port_override,
10892            'proxy_cluster_id': self.proxy_cluster_id,
10893            'secret_store_id': self.secret_store_id,
10894            'subdomain': self.subdomain,
10895            'tags': self.tags,
10896            'username': self.username,
10897        }
10898
10899    @classmethod
10900    def from_dict(cls, d):
10901        return cls(
10902            auth_database=d.get('auth_database'),
10903            bind_interface=d.get('bind_interface'),
10904            egress_filter=d.get('egress_filter'),
10905            healthy=d.get('healthy'),
10906            hostname=d.get('hostname'),
10907            id=d.get('id'),
10908            name=d.get('name'),
10909            password=d.get('password'),
10910            port=d.get('port'),
10911            port_override=d.get('port_override'),
10912            proxy_cluster_id=d.get('proxy_cluster_id'),
10913            secret_store_id=d.get('secret_store_id'),
10914            subdomain=d.get('subdomain'),
10915            tags=d.get('tags'),
10916            username=d.get('username'),
10917        )
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)
10782    def __init__(
10783        self,
10784        auth_database=None,
10785        bind_interface=None,
10786        egress_filter=None,
10787        healthy=None,
10788        hostname=None,
10789        id=None,
10790        name=None,
10791        password=None,
10792        port=None,
10793        port_override=None,
10794        proxy_cluster_id=None,
10795        secret_store_id=None,
10796        subdomain=None,
10797        tags=None,
10798        username=None,
10799    ):
10800        self.auth_database = auth_database if auth_database is not None else ''
10801        '''
10802         The authentication database to use.
10803        '''
10804        self.bind_interface = bind_interface if bind_interface is not None else ''
10805        '''
10806         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10807        '''
10808        self.egress_filter = egress_filter if egress_filter is not None else ''
10809        '''
10810         A filter applied to the routing logic to pin datasource to nodes.
10811        '''
10812        self.healthy = healthy if healthy is not None else False
10813        '''
10814         True if the datasource is reachable and the credentials are valid.
10815        '''
10816        self.hostname = hostname if hostname is not None else ''
10817        '''
10818         The host to dial to initiate a connection from the egress node to this resource.
10819        '''
10820        self.id = id if id is not None else ''
10821        '''
10822         Unique identifier of the Resource.
10823        '''
10824        self.name = name if name is not None else ''
10825        '''
10826         Unique human-readable name of the Resource.
10827        '''
10828        self.password = password if password is not None else ''
10829        '''
10830         The password to authenticate with.
10831        '''
10832        self.port = port if port is not None else 0
10833        '''
10834         The port to dial to initiate a connection from the egress node to this resource.
10835        '''
10836        self.port_override = port_override if port_override is not None else 0
10837        '''
10838         The local port used by clients to connect to this resource.
10839        '''
10840        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10841        '''
10842         ID of the proxy cluster for this resource, if any.
10843        '''
10844        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10845        '''
10846         ID of the secret store containing credentials for this resource, if any.
10847        '''
10848        self.subdomain = subdomain if subdomain is not None else ''
10849        '''
10850         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10851        '''
10852        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10853        '''
10854         Tags is a map of key, value pairs.
10855        '''
10856        self.username = username if username is not None else ''
10857        '''
10858         The username to authenticate with.
10859        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
10880    def to_dict(self):
10881        return {
10882            'auth_database': self.auth_database,
10883            'bind_interface': self.bind_interface,
10884            'egress_filter': self.egress_filter,
10885            'healthy': self.healthy,
10886            'hostname': self.hostname,
10887            'id': self.id,
10888            'name': self.name,
10889            'password': self.password,
10890            'port': self.port,
10891            'port_override': self.port_override,
10892            'proxy_cluster_id': self.proxy_cluster_id,
10893            'secret_store_id': self.secret_store_id,
10894            'subdomain': self.subdomain,
10895            'tags': self.tags,
10896            'username': self.username,
10897        }
@classmethod
def from_dict(cls, d)
10899    @classmethod
10900    def from_dict(cls, d):
10901        return cls(
10902            auth_database=d.get('auth_database'),
10903            bind_interface=d.get('bind_interface'),
10904            egress_filter=d.get('egress_filter'),
10905            healthy=d.get('healthy'),
10906            hostname=d.get('hostname'),
10907            id=d.get('id'),
10908            name=d.get('name'),
10909            password=d.get('password'),
10910            port=d.get('port'),
10911            port_override=d.get('port_override'),
10912            proxy_cluster_id=d.get('proxy_cluster_id'),
10913            secret_store_id=d.get('secret_store_id'),
10914            subdomain=d.get('subdomain'),
10915            tags=d.get('tags'),
10916            username=d.get('username'),
10917        )
class DocumentDBHostIAM:
10920class DocumentDBHostIAM:
10921    __slots__ = [
10922        'bind_interface',
10923        'egress_filter',
10924        'healthy',
10925        'hostname',
10926        'id',
10927        'name',
10928        'port',
10929        'port_override',
10930        'proxy_cluster_id',
10931        'region',
10932        'secret_store_id',
10933        'subdomain',
10934        'tags',
10935    ]
10936
10937    def __init__(
10938        self,
10939        bind_interface=None,
10940        egress_filter=None,
10941        healthy=None,
10942        hostname=None,
10943        id=None,
10944        name=None,
10945        port=None,
10946        port_override=None,
10947        proxy_cluster_id=None,
10948        region=None,
10949        secret_store_id=None,
10950        subdomain=None,
10951        tags=None,
10952    ):
10953        self.bind_interface = bind_interface if bind_interface is not None else ''
10954        '''
10955         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10956        '''
10957        self.egress_filter = egress_filter if egress_filter is not None else ''
10958        '''
10959         A filter applied to the routing logic to pin datasource to nodes.
10960        '''
10961        self.healthy = healthy if healthy is not None else False
10962        '''
10963         True if the datasource is reachable and the credentials are valid.
10964        '''
10965        self.hostname = hostname if hostname is not None else ''
10966        '''
10967         The host to dial to initiate a connection from the egress node to this resource.
10968        '''
10969        self.id = id if id is not None else ''
10970        '''
10971         Unique identifier of the Resource.
10972        '''
10973        self.name = name if name is not None else ''
10974        '''
10975         Unique human-readable name of the Resource.
10976        '''
10977        self.port = port if port is not None else 0
10978        '''
10979         The port to dial to initiate a connection from the egress node to this resource.
10980        '''
10981        self.port_override = port_override if port_override is not None else 0
10982        '''
10983         The local port used by clients to connect to this resource.
10984        '''
10985        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10986        '''
10987         ID of the proxy cluster for this resource, if any.
10988        '''
10989        self.region = region if region is not None else ''
10990        '''
10991         The AWS region to connect to.
10992        '''
10993        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10994        '''
10995         ID of the secret store containing credentials for this resource, if any.
10996        '''
10997        self.subdomain = subdomain if subdomain is not None else ''
10998        '''
10999         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11000        '''
11001        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11002        '''
11003         Tags is a map of key, value pairs.
11004        '''
11005
11006    def __repr__(self):
11007        return '<sdm.DocumentDBHostIAM ' + \
11008            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11009            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11010            'healthy: ' + repr(self.healthy) + ' ' +\
11011            'hostname: ' + repr(self.hostname) + ' ' +\
11012            'id: ' + repr(self.id) + ' ' +\
11013            'name: ' + repr(self.name) + ' ' +\
11014            'port: ' + repr(self.port) + ' ' +\
11015            'port_override: ' + repr(self.port_override) + ' ' +\
11016            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11017            'region: ' + repr(self.region) + ' ' +\
11018            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11019            'subdomain: ' + repr(self.subdomain) + ' ' +\
11020            'tags: ' + repr(self.tags) + ' ' +\
11021            '>'
11022
11023    def to_dict(self):
11024        return {
11025            'bind_interface': self.bind_interface,
11026            'egress_filter': self.egress_filter,
11027            'healthy': self.healthy,
11028            'hostname': self.hostname,
11029            'id': self.id,
11030            'name': self.name,
11031            'port': self.port,
11032            'port_override': self.port_override,
11033            'proxy_cluster_id': self.proxy_cluster_id,
11034            'region': self.region,
11035            'secret_store_id': self.secret_store_id,
11036            'subdomain': self.subdomain,
11037            'tags': self.tags,
11038        }
11039
11040    @classmethod
11041    def from_dict(cls, d):
11042        return cls(
11043            bind_interface=d.get('bind_interface'),
11044            egress_filter=d.get('egress_filter'),
11045            healthy=d.get('healthy'),
11046            hostname=d.get('hostname'),
11047            id=d.get('id'),
11048            name=d.get('name'),
11049            port=d.get('port'),
11050            port_override=d.get('port_override'),
11051            proxy_cluster_id=d.get('proxy_cluster_id'),
11052            region=d.get('region'),
11053            secret_store_id=d.get('secret_store_id'),
11054            subdomain=d.get('subdomain'),
11055            tags=d.get('tags'),
11056        )
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)
10937    def __init__(
10938        self,
10939        bind_interface=None,
10940        egress_filter=None,
10941        healthy=None,
10942        hostname=None,
10943        id=None,
10944        name=None,
10945        port=None,
10946        port_override=None,
10947        proxy_cluster_id=None,
10948        region=None,
10949        secret_store_id=None,
10950        subdomain=None,
10951        tags=None,
10952    ):
10953        self.bind_interface = bind_interface if bind_interface is not None else ''
10954        '''
10955         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10956        '''
10957        self.egress_filter = egress_filter if egress_filter is not None else ''
10958        '''
10959         A filter applied to the routing logic to pin datasource to nodes.
10960        '''
10961        self.healthy = healthy if healthy is not None else False
10962        '''
10963         True if the datasource is reachable and the credentials are valid.
10964        '''
10965        self.hostname = hostname if hostname is not None else ''
10966        '''
10967         The host to dial to initiate a connection from the egress node to this resource.
10968        '''
10969        self.id = id if id is not None else ''
10970        '''
10971         Unique identifier of the Resource.
10972        '''
10973        self.name = name if name is not None else ''
10974        '''
10975         Unique human-readable name of the Resource.
10976        '''
10977        self.port = port if port is not None else 0
10978        '''
10979         The port to dial to initiate a connection from the egress node to this resource.
10980        '''
10981        self.port_override = port_override if port_override is not None else 0
10982        '''
10983         The local port used by clients to connect to this resource.
10984        '''
10985        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10986        '''
10987         ID of the proxy cluster for this resource, if any.
10988        '''
10989        self.region = region if region is not None else ''
10990        '''
10991         The AWS region to connect to.
10992        '''
10993        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10994        '''
10995         ID of the secret store containing credentials for this resource, if any.
10996        '''
10997        self.subdomain = subdomain if subdomain is not None else ''
10998        '''
10999         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11000        '''
11001        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11002        '''
11003         Tags is a map of key, value pairs.
11004        '''
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.

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.

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

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.

def to_dict(self)
11023    def to_dict(self):
11024        return {
11025            'bind_interface': self.bind_interface,
11026            'egress_filter': self.egress_filter,
11027            'healthy': self.healthy,
11028            'hostname': self.hostname,
11029            'id': self.id,
11030            'name': self.name,
11031            'port': self.port,
11032            'port_override': self.port_override,
11033            'proxy_cluster_id': self.proxy_cluster_id,
11034            'region': self.region,
11035            'secret_store_id': self.secret_store_id,
11036            'subdomain': self.subdomain,
11037            'tags': self.tags,
11038        }
@classmethod
def from_dict(cls, d)
11040    @classmethod
11041    def from_dict(cls, d):
11042        return cls(
11043            bind_interface=d.get('bind_interface'),
11044            egress_filter=d.get('egress_filter'),
11045            healthy=d.get('healthy'),
11046            hostname=d.get('hostname'),
11047            id=d.get('id'),
11048            name=d.get('name'),
11049            port=d.get('port'),
11050            port_override=d.get('port_override'),
11051            proxy_cluster_id=d.get('proxy_cluster_id'),
11052            region=d.get('region'),
11053            secret_store_id=d.get('secret_store_id'),
11054            subdomain=d.get('subdomain'),
11055            tags=d.get('tags'),
11056        )
class DocumentDBReplicaSet:
11059class DocumentDBReplicaSet:
11060    __slots__ = [
11061        'auth_database',
11062        'bind_interface',
11063        'connect_to_replica',
11064        'egress_filter',
11065        'healthy',
11066        'hostname',
11067        'id',
11068        'name',
11069        'password',
11070        'port_override',
11071        'proxy_cluster_id',
11072        'replica_set',
11073        'secret_store_id',
11074        'subdomain',
11075        'tags',
11076        'username',
11077    ]
11078
11079    def __init__(
11080        self,
11081        auth_database=None,
11082        bind_interface=None,
11083        connect_to_replica=None,
11084        egress_filter=None,
11085        healthy=None,
11086        hostname=None,
11087        id=None,
11088        name=None,
11089        password=None,
11090        port_override=None,
11091        proxy_cluster_id=None,
11092        replica_set=None,
11093        secret_store_id=None,
11094        subdomain=None,
11095        tags=None,
11096        username=None,
11097    ):
11098        self.auth_database = auth_database if auth_database is not None else ''
11099        '''
11100         The authentication database to use.
11101        '''
11102        self.bind_interface = bind_interface if bind_interface is not None else ''
11103        '''
11104         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11105        '''
11106        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11107        '''
11108         Set to connect to a replica instead of the primary node.
11109        '''
11110        self.egress_filter = egress_filter if egress_filter is not None else ''
11111        '''
11112         A filter applied to the routing logic to pin datasource to nodes.
11113        '''
11114        self.healthy = healthy if healthy is not None else False
11115        '''
11116         True if the datasource is reachable and the credentials are valid.
11117        '''
11118        self.hostname = hostname if hostname is not None else ''
11119        '''
11120         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11121        '''
11122        self.id = id if id is not None else ''
11123        '''
11124         Unique identifier of the Resource.
11125        '''
11126        self.name = name if name is not None else ''
11127        '''
11128         Unique human-readable name of the Resource.
11129        '''
11130        self.password = password if password is not None else ''
11131        '''
11132         The password to authenticate with.
11133        '''
11134        self.port_override = port_override if port_override is not None else 0
11135        '''
11136         The local port used by clients to connect to this resource.
11137        '''
11138        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11139        '''
11140         ID of the proxy cluster for this resource, if any.
11141        '''
11142        self.replica_set = replica_set if replica_set is not None else ''
11143        '''
11144         The name of the mongo replicaset.
11145        '''
11146        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11147        '''
11148         ID of the secret store containing credentials for this resource, if any.
11149        '''
11150        self.subdomain = subdomain if subdomain is not None else ''
11151        '''
11152         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11153        '''
11154        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11155        '''
11156         Tags is a map of key, value pairs.
11157        '''
11158        self.username = username if username is not None else ''
11159        '''
11160         The username to authenticate with.
11161        '''
11162
11163    def __repr__(self):
11164        return '<sdm.DocumentDBReplicaSet ' + \
11165            'auth_database: ' + repr(self.auth_database) + ' ' +\
11166            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11167            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11168            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11169            'healthy: ' + repr(self.healthy) + ' ' +\
11170            'hostname: ' + repr(self.hostname) + ' ' +\
11171            'id: ' + repr(self.id) + ' ' +\
11172            'name: ' + repr(self.name) + ' ' +\
11173            'password: ' + repr(self.password) + ' ' +\
11174            'port_override: ' + repr(self.port_override) + ' ' +\
11175            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11176            'replica_set: ' + repr(self.replica_set) + ' ' +\
11177            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11178            'subdomain: ' + repr(self.subdomain) + ' ' +\
11179            'tags: ' + repr(self.tags) + ' ' +\
11180            'username: ' + repr(self.username) + ' ' +\
11181            '>'
11182
11183    def to_dict(self):
11184        return {
11185            'auth_database': self.auth_database,
11186            'bind_interface': self.bind_interface,
11187            'connect_to_replica': self.connect_to_replica,
11188            'egress_filter': self.egress_filter,
11189            'healthy': self.healthy,
11190            'hostname': self.hostname,
11191            'id': self.id,
11192            'name': self.name,
11193            'password': self.password,
11194            'port_override': self.port_override,
11195            'proxy_cluster_id': self.proxy_cluster_id,
11196            'replica_set': self.replica_set,
11197            'secret_store_id': self.secret_store_id,
11198            'subdomain': self.subdomain,
11199            'tags': self.tags,
11200            'username': self.username,
11201        }
11202
11203    @classmethod
11204    def from_dict(cls, d):
11205        return cls(
11206            auth_database=d.get('auth_database'),
11207            bind_interface=d.get('bind_interface'),
11208            connect_to_replica=d.get('connect_to_replica'),
11209            egress_filter=d.get('egress_filter'),
11210            healthy=d.get('healthy'),
11211            hostname=d.get('hostname'),
11212            id=d.get('id'),
11213            name=d.get('name'),
11214            password=d.get('password'),
11215            port_override=d.get('port_override'),
11216            proxy_cluster_id=d.get('proxy_cluster_id'),
11217            replica_set=d.get('replica_set'),
11218            secret_store_id=d.get('secret_store_id'),
11219            subdomain=d.get('subdomain'),
11220            tags=d.get('tags'),
11221            username=d.get('username'),
11222        )
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, replica_set=None, secret_store_id=None, subdomain=None, tags=None, username=None)
11079    def __init__(
11080        self,
11081        auth_database=None,
11082        bind_interface=None,
11083        connect_to_replica=None,
11084        egress_filter=None,
11085        healthy=None,
11086        hostname=None,
11087        id=None,
11088        name=None,
11089        password=None,
11090        port_override=None,
11091        proxy_cluster_id=None,
11092        replica_set=None,
11093        secret_store_id=None,
11094        subdomain=None,
11095        tags=None,
11096        username=None,
11097    ):
11098        self.auth_database = auth_database if auth_database is not None else ''
11099        '''
11100         The authentication database to use.
11101        '''
11102        self.bind_interface = bind_interface if bind_interface is not None else ''
11103        '''
11104         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11105        '''
11106        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11107        '''
11108         Set to connect to a replica instead of the primary node.
11109        '''
11110        self.egress_filter = egress_filter if egress_filter is not None else ''
11111        '''
11112         A filter applied to the routing logic to pin datasource to nodes.
11113        '''
11114        self.healthy = healthy if healthy is not None else False
11115        '''
11116         True if the datasource is reachable and the credentials are valid.
11117        '''
11118        self.hostname = hostname if hostname is not None else ''
11119        '''
11120         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11121        '''
11122        self.id = id if id is not None else ''
11123        '''
11124         Unique identifier of the Resource.
11125        '''
11126        self.name = name if name is not None else ''
11127        '''
11128         Unique human-readable name of the Resource.
11129        '''
11130        self.password = password if password is not None else ''
11131        '''
11132         The password to authenticate with.
11133        '''
11134        self.port_override = port_override if port_override is not None else 0
11135        '''
11136         The local port used by clients to connect to this resource.
11137        '''
11138        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11139        '''
11140         ID of the proxy cluster for this resource, if any.
11141        '''
11142        self.replica_set = replica_set if replica_set is not None else ''
11143        '''
11144         The name of the mongo replicaset.
11145        '''
11146        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11147        '''
11148         ID of the secret store containing credentials for this resource, if any.
11149        '''
11150        self.subdomain = subdomain if subdomain is not None else ''
11151        '''
11152         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11153        '''
11154        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11155        '''
11156         Tags is a map of key, value pairs.
11157        '''
11158        self.username = username if username is not None else ''
11159        '''
11160         The username to authenticate with.
11161        '''
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.

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.

proxy_cluster_id

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

replica_set

The name of the mongo replicaset.

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.

username

The username to authenticate with.

def to_dict(self)
11183    def to_dict(self):
11184        return {
11185            'auth_database': self.auth_database,
11186            'bind_interface': self.bind_interface,
11187            'connect_to_replica': self.connect_to_replica,
11188            'egress_filter': self.egress_filter,
11189            'healthy': self.healthy,
11190            'hostname': self.hostname,
11191            'id': self.id,
11192            'name': self.name,
11193            'password': self.password,
11194            'port_override': self.port_override,
11195            'proxy_cluster_id': self.proxy_cluster_id,
11196            'replica_set': self.replica_set,
11197            'secret_store_id': self.secret_store_id,
11198            'subdomain': self.subdomain,
11199            'tags': self.tags,
11200            'username': self.username,
11201        }
@classmethod
def from_dict(cls, d)
11203    @classmethod
11204    def from_dict(cls, d):
11205        return cls(
11206            auth_database=d.get('auth_database'),
11207            bind_interface=d.get('bind_interface'),
11208            connect_to_replica=d.get('connect_to_replica'),
11209            egress_filter=d.get('egress_filter'),
11210            healthy=d.get('healthy'),
11211            hostname=d.get('hostname'),
11212            id=d.get('id'),
11213            name=d.get('name'),
11214            password=d.get('password'),
11215            port_override=d.get('port_override'),
11216            proxy_cluster_id=d.get('proxy_cluster_id'),
11217            replica_set=d.get('replica_set'),
11218            secret_store_id=d.get('secret_store_id'),
11219            subdomain=d.get('subdomain'),
11220            tags=d.get('tags'),
11221            username=d.get('username'),
11222        )
class DocumentDBReplicaSetIAM:
11225class DocumentDBReplicaSetIAM:
11226    '''
11227    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
11228    without a major version bump.
11229    '''
11230    __slots__ = [
11231        'bind_interface',
11232        'connect_to_replica',
11233        'egress_filter',
11234        'healthy',
11235        'hostname',
11236        'id',
11237        'name',
11238        'port_override',
11239        'proxy_cluster_id',
11240        'region',
11241        'secret_store_id',
11242        'subdomain',
11243        'tags',
11244    ]
11245
11246    def __init__(
11247        self,
11248        bind_interface=None,
11249        connect_to_replica=None,
11250        egress_filter=None,
11251        healthy=None,
11252        hostname=None,
11253        id=None,
11254        name=None,
11255        port_override=None,
11256        proxy_cluster_id=None,
11257        region=None,
11258        secret_store_id=None,
11259        subdomain=None,
11260        tags=None,
11261    ):
11262        self.bind_interface = bind_interface if bind_interface is not None else ''
11263        '''
11264         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11265        '''
11266        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11267        '''
11268         Set to connect to a replica instead of the primary node.
11269        '''
11270        self.egress_filter = egress_filter if egress_filter is not None else ''
11271        '''
11272         A filter applied to the routing logic to pin datasource to nodes.
11273        '''
11274        self.healthy = healthy if healthy is not None else False
11275        '''
11276         True if the datasource is reachable and the credentials are valid.
11277        '''
11278        self.hostname = hostname if hostname is not None else ''
11279        '''
11280         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11281        '''
11282        self.id = id if id is not None else ''
11283        '''
11284         Unique identifier of the Resource.
11285        '''
11286        self.name = name if name is not None else ''
11287        '''
11288         Unique human-readable name of the Resource.
11289        '''
11290        self.port_override = port_override if port_override is not None else 0
11291        '''
11292         The local port used by clients to connect to this resource.
11293        '''
11294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11295        '''
11296         ID of the proxy cluster for this resource, if any.
11297        '''
11298        self.region = region if region is not None else ''
11299        '''
11300         The region of the document db cluster
11301        '''
11302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11303        '''
11304         ID of the secret store containing credentials for this resource, if any.
11305        '''
11306        self.subdomain = subdomain if subdomain is not None else ''
11307        '''
11308         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11309        '''
11310        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11311        '''
11312         Tags is a map of key, value pairs.
11313        '''
11314
11315    def __repr__(self):
11316        return '<sdm.DocumentDBReplicaSetIAM ' + \
11317            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11318            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11319            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11320            'healthy: ' + repr(self.healthy) + ' ' +\
11321            'hostname: ' + repr(self.hostname) + ' ' +\
11322            'id: ' + repr(self.id) + ' ' +\
11323            'name: ' + repr(self.name) + ' ' +\
11324            'port_override: ' + repr(self.port_override) + ' ' +\
11325            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11326            'region: ' + repr(self.region) + ' ' +\
11327            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11328            'subdomain: ' + repr(self.subdomain) + ' ' +\
11329            'tags: ' + repr(self.tags) + ' ' +\
11330            '>'
11331
11332    def to_dict(self):
11333        return {
11334            'bind_interface': self.bind_interface,
11335            'connect_to_replica': self.connect_to_replica,
11336            'egress_filter': self.egress_filter,
11337            'healthy': self.healthy,
11338            'hostname': self.hostname,
11339            'id': self.id,
11340            'name': self.name,
11341            'port_override': self.port_override,
11342            'proxy_cluster_id': self.proxy_cluster_id,
11343            'region': self.region,
11344            'secret_store_id': self.secret_store_id,
11345            'subdomain': self.subdomain,
11346            'tags': self.tags,
11347        }
11348
11349    @classmethod
11350    def from_dict(cls, d):
11351        return cls(
11352            bind_interface=d.get('bind_interface'),
11353            connect_to_replica=d.get('connect_to_replica'),
11354            egress_filter=d.get('egress_filter'),
11355            healthy=d.get('healthy'),
11356            hostname=d.get('hostname'),
11357            id=d.get('id'),
11358            name=d.get('name'),
11359            port_override=d.get('port_override'),
11360            proxy_cluster_id=d.get('proxy_cluster_id'),
11361            region=d.get('region'),
11362            secret_store_id=d.get('secret_store_id'),
11363            subdomain=d.get('subdomain'),
11364            tags=d.get('tags'),
11365        )

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)
11246    def __init__(
11247        self,
11248        bind_interface=None,
11249        connect_to_replica=None,
11250        egress_filter=None,
11251        healthy=None,
11252        hostname=None,
11253        id=None,
11254        name=None,
11255        port_override=None,
11256        proxy_cluster_id=None,
11257        region=None,
11258        secret_store_id=None,
11259        subdomain=None,
11260        tags=None,
11261    ):
11262        self.bind_interface = bind_interface if bind_interface is not None else ''
11263        '''
11264         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11265        '''
11266        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11267        '''
11268         Set to connect to a replica instead of the primary node.
11269        '''
11270        self.egress_filter = egress_filter if egress_filter is not None else ''
11271        '''
11272         A filter applied to the routing logic to pin datasource to nodes.
11273        '''
11274        self.healthy = healthy if healthy is not None else False
11275        '''
11276         True if the datasource is reachable and the credentials are valid.
11277        '''
11278        self.hostname = hostname if hostname is not None else ''
11279        '''
11280         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11281        '''
11282        self.id = id if id is not None else ''
11283        '''
11284         Unique identifier of the Resource.
11285        '''
11286        self.name = name if name is not None else ''
11287        '''
11288         Unique human-readable name of the Resource.
11289        '''
11290        self.port_override = port_override if port_override is not None else 0
11291        '''
11292         The local port used by clients to connect to this resource.
11293        '''
11294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11295        '''
11296         ID of the proxy cluster for this resource, if any.
11297        '''
11298        self.region = region if region is not None else ''
11299        '''
11300         The region of the document db cluster
11301        '''
11302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11303        '''
11304         ID of the secret store containing credentials for this resource, if any.
11305        '''
11306        self.subdomain = subdomain if subdomain is not None else ''
11307        '''
11308         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11309        '''
11310        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11311        '''
11312         Tags is a map of key, value pairs.
11313        '''
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.

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.

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

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.

def to_dict(self)
11332    def to_dict(self):
11333        return {
11334            'bind_interface': self.bind_interface,
11335            'connect_to_replica': self.connect_to_replica,
11336            'egress_filter': self.egress_filter,
11337            'healthy': self.healthy,
11338            'hostname': self.hostname,
11339            'id': self.id,
11340            'name': self.name,
11341            'port_override': self.port_override,
11342            'proxy_cluster_id': self.proxy_cluster_id,
11343            'region': self.region,
11344            'secret_store_id': self.secret_store_id,
11345            'subdomain': self.subdomain,
11346            'tags': self.tags,
11347        }
@classmethod
def from_dict(cls, d)
11349    @classmethod
11350    def from_dict(cls, d):
11351        return cls(
11352            bind_interface=d.get('bind_interface'),
11353            connect_to_replica=d.get('connect_to_replica'),
11354            egress_filter=d.get('egress_filter'),
11355            healthy=d.get('healthy'),
11356            hostname=d.get('hostname'),
11357            id=d.get('id'),
11358            name=d.get('name'),
11359            port_override=d.get('port_override'),
11360            proxy_cluster_id=d.get('proxy_cluster_id'),
11361            region=d.get('region'),
11362            secret_store_id=d.get('secret_store_id'),
11363            subdomain=d.get('subdomain'),
11364            tags=d.get('tags'),
11365        )
class Druid:
11368class Druid:
11369    __slots__ = [
11370        'bind_interface',
11371        'egress_filter',
11372        'healthy',
11373        'hostname',
11374        'id',
11375        'name',
11376        'password',
11377        'port',
11378        'port_override',
11379        'proxy_cluster_id',
11380        'secret_store_id',
11381        'subdomain',
11382        'tags',
11383        'username',
11384    ]
11385
11386    def __init__(
11387        self,
11388        bind_interface=None,
11389        egress_filter=None,
11390        healthy=None,
11391        hostname=None,
11392        id=None,
11393        name=None,
11394        password=None,
11395        port=None,
11396        port_override=None,
11397        proxy_cluster_id=None,
11398        secret_store_id=None,
11399        subdomain=None,
11400        tags=None,
11401        username=None,
11402    ):
11403        self.bind_interface = bind_interface if bind_interface is not None else ''
11404        '''
11405         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11406        '''
11407        self.egress_filter = egress_filter if egress_filter is not None else ''
11408        '''
11409         A filter applied to the routing logic to pin datasource to nodes.
11410        '''
11411        self.healthy = healthy if healthy is not None else False
11412        '''
11413         True if the datasource is reachable and the credentials are valid.
11414        '''
11415        self.hostname = hostname if hostname is not None else ''
11416        '''
11417         The host to dial to initiate a connection from the egress node to this resource.
11418        '''
11419        self.id = id if id is not None else ''
11420        '''
11421         Unique identifier of the Resource.
11422        '''
11423        self.name = name if name is not None else ''
11424        '''
11425         Unique human-readable name of the Resource.
11426        '''
11427        self.password = password if password is not None else ''
11428        '''
11429         The password to authenticate with.
11430        '''
11431        self.port = port if port is not None else 0
11432        '''
11433         The port to dial to initiate a connection from the egress node to this resource.
11434        '''
11435        self.port_override = port_override if port_override is not None else 0
11436        '''
11437         The local port used by clients to connect to this resource.
11438        '''
11439        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11440        '''
11441         ID of the proxy cluster for this resource, if any.
11442        '''
11443        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11444        '''
11445         ID of the secret store containing credentials for this resource, if any.
11446        '''
11447        self.subdomain = subdomain if subdomain is not None else ''
11448        '''
11449         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11450        '''
11451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11452        '''
11453         Tags is a map of key, value pairs.
11454        '''
11455        self.username = username if username is not None else ''
11456        '''
11457         The username to authenticate with.
11458        '''
11459
11460    def __repr__(self):
11461        return '<sdm.Druid ' + \
11462            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11463            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11464            'healthy: ' + repr(self.healthy) + ' ' +\
11465            'hostname: ' + repr(self.hostname) + ' ' +\
11466            'id: ' + repr(self.id) + ' ' +\
11467            'name: ' + repr(self.name) + ' ' +\
11468            'password: ' + repr(self.password) + ' ' +\
11469            'port: ' + repr(self.port) + ' ' +\
11470            'port_override: ' + repr(self.port_override) + ' ' +\
11471            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11472            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11473            'subdomain: ' + repr(self.subdomain) + ' ' +\
11474            'tags: ' + repr(self.tags) + ' ' +\
11475            'username: ' + repr(self.username) + ' ' +\
11476            '>'
11477
11478    def to_dict(self):
11479        return {
11480            'bind_interface': self.bind_interface,
11481            'egress_filter': self.egress_filter,
11482            'healthy': self.healthy,
11483            'hostname': self.hostname,
11484            'id': self.id,
11485            'name': self.name,
11486            'password': self.password,
11487            'port': self.port,
11488            'port_override': self.port_override,
11489            'proxy_cluster_id': self.proxy_cluster_id,
11490            'secret_store_id': self.secret_store_id,
11491            'subdomain': self.subdomain,
11492            'tags': self.tags,
11493            'username': self.username,
11494        }
11495
11496    @classmethod
11497    def from_dict(cls, d):
11498        return cls(
11499            bind_interface=d.get('bind_interface'),
11500            egress_filter=d.get('egress_filter'),
11501            healthy=d.get('healthy'),
11502            hostname=d.get('hostname'),
11503            id=d.get('id'),
11504            name=d.get('name'),
11505            password=d.get('password'),
11506            port=d.get('port'),
11507            port_override=d.get('port_override'),
11508            proxy_cluster_id=d.get('proxy_cluster_id'),
11509            secret_store_id=d.get('secret_store_id'),
11510            subdomain=d.get('subdomain'),
11511            tags=d.get('tags'),
11512            username=d.get('username'),
11513        )
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)
11386    def __init__(
11387        self,
11388        bind_interface=None,
11389        egress_filter=None,
11390        healthy=None,
11391        hostname=None,
11392        id=None,
11393        name=None,
11394        password=None,
11395        port=None,
11396        port_override=None,
11397        proxy_cluster_id=None,
11398        secret_store_id=None,
11399        subdomain=None,
11400        tags=None,
11401        username=None,
11402    ):
11403        self.bind_interface = bind_interface if bind_interface is not None else ''
11404        '''
11405         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11406        '''
11407        self.egress_filter = egress_filter if egress_filter is not None else ''
11408        '''
11409         A filter applied to the routing logic to pin datasource to nodes.
11410        '''
11411        self.healthy = healthy if healthy is not None else False
11412        '''
11413         True if the datasource is reachable and the credentials are valid.
11414        '''
11415        self.hostname = hostname if hostname is not None else ''
11416        '''
11417         The host to dial to initiate a connection from the egress node to this resource.
11418        '''
11419        self.id = id if id is not None else ''
11420        '''
11421         Unique identifier of the Resource.
11422        '''
11423        self.name = name if name is not None else ''
11424        '''
11425         Unique human-readable name of the Resource.
11426        '''
11427        self.password = password if password is not None else ''
11428        '''
11429         The password to authenticate with.
11430        '''
11431        self.port = port if port is not None else 0
11432        '''
11433         The port to dial to initiate a connection from the egress node to this resource.
11434        '''
11435        self.port_override = port_override if port_override is not None else 0
11436        '''
11437         The local port used by clients to connect to this resource.
11438        '''
11439        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11440        '''
11441         ID of the proxy cluster for this resource, if any.
11442        '''
11443        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11444        '''
11445         ID of the secret store containing credentials for this resource, if any.
11446        '''
11447        self.subdomain = subdomain if subdomain is not None else ''
11448        '''
11449         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11450        '''
11451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11452        '''
11453         Tags is a map of key, value pairs.
11454        '''
11455        self.username = username if username is not None else ''
11456        '''
11457         The username to authenticate with.
11458        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
11478    def to_dict(self):
11479        return {
11480            'bind_interface': self.bind_interface,
11481            'egress_filter': self.egress_filter,
11482            'healthy': self.healthy,
11483            'hostname': self.hostname,
11484            'id': self.id,
11485            'name': self.name,
11486            'password': self.password,
11487            'port': self.port,
11488            'port_override': self.port_override,
11489            'proxy_cluster_id': self.proxy_cluster_id,
11490            'secret_store_id': self.secret_store_id,
11491            'subdomain': self.subdomain,
11492            'tags': self.tags,
11493            'username': self.username,
11494        }
@classmethod
def from_dict(cls, d)
11496    @classmethod
11497    def from_dict(cls, d):
11498        return cls(
11499            bind_interface=d.get('bind_interface'),
11500            egress_filter=d.get('egress_filter'),
11501            healthy=d.get('healthy'),
11502            hostname=d.get('hostname'),
11503            id=d.get('id'),
11504            name=d.get('name'),
11505            password=d.get('password'),
11506            port=d.get('port'),
11507            port_override=d.get('port_override'),
11508            proxy_cluster_id=d.get('proxy_cluster_id'),
11509            secret_store_id=d.get('secret_store_id'),
11510            subdomain=d.get('subdomain'),
11511            tags=d.get('tags'),
11512            username=d.get('username'),
11513        )
class DynamoDB:
11516class DynamoDB:
11517    __slots__ = [
11518        'access_key',
11519        'bind_interface',
11520        'egress_filter',
11521        'endpoint',
11522        'healthy',
11523        'id',
11524        'name',
11525        'port_override',
11526        'proxy_cluster_id',
11527        'region',
11528        'role_arn',
11529        'role_external_id',
11530        'secret_access_key',
11531        'secret_store_id',
11532        'subdomain',
11533        'tags',
11534    ]
11535
11536    def __init__(
11537        self,
11538        access_key=None,
11539        bind_interface=None,
11540        egress_filter=None,
11541        endpoint=None,
11542        healthy=None,
11543        id=None,
11544        name=None,
11545        port_override=None,
11546        proxy_cluster_id=None,
11547        region=None,
11548        role_arn=None,
11549        role_external_id=None,
11550        secret_access_key=None,
11551        secret_store_id=None,
11552        subdomain=None,
11553        tags=None,
11554    ):
11555        self.access_key = access_key if access_key is not None else ''
11556        '''
11557         The Access Key ID to use to authenticate.
11558        '''
11559        self.bind_interface = bind_interface if bind_interface is not None else ''
11560        '''
11561         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11562        '''
11563        self.egress_filter = egress_filter if egress_filter is not None else ''
11564        '''
11565         A filter applied to the routing logic to pin datasource to nodes.
11566        '''
11567        self.endpoint = endpoint if endpoint is not None else ''
11568        '''
11569         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11570        '''
11571        self.healthy = healthy if healthy is not None else False
11572        '''
11573         True if the datasource is reachable and the credentials are valid.
11574        '''
11575        self.id = id if id is not None else ''
11576        '''
11577         Unique identifier of the Resource.
11578        '''
11579        self.name = name if name is not None else ''
11580        '''
11581         Unique human-readable name of the Resource.
11582        '''
11583        self.port_override = port_override if port_override is not None else 0
11584        '''
11585         The local port used by clients to connect to this resource.
11586        '''
11587        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11588        '''
11589         ID of the proxy cluster for this resource, if any.
11590        '''
11591        self.region = region if region is not None else ''
11592        '''
11593         The region to authenticate requests against e.g. us-east-1
11594        '''
11595        self.role_arn = role_arn if role_arn is not None else ''
11596        '''
11597         The role to assume after logging in.
11598        '''
11599        self.role_external_id = role_external_id if role_external_id is not None else ''
11600        '''
11601         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11602        '''
11603        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11604        '''
11605         The Secret Access Key to use to authenticate.
11606        '''
11607        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11608        '''
11609         ID of the secret store containing credentials for this resource, if any.
11610        '''
11611        self.subdomain = subdomain if subdomain is not None else ''
11612        '''
11613         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11614        '''
11615        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11616        '''
11617         Tags is a map of key, value pairs.
11618        '''
11619
11620    def __repr__(self):
11621        return '<sdm.DynamoDB ' + \
11622            'access_key: ' + repr(self.access_key) + ' ' +\
11623            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11624            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11625            'endpoint: ' + repr(self.endpoint) + ' ' +\
11626            'healthy: ' + repr(self.healthy) + ' ' +\
11627            'id: ' + repr(self.id) + ' ' +\
11628            'name: ' + repr(self.name) + ' ' +\
11629            'port_override: ' + repr(self.port_override) + ' ' +\
11630            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11631            'region: ' + repr(self.region) + ' ' +\
11632            'role_arn: ' + repr(self.role_arn) + ' ' +\
11633            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11634            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
11635            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11636            'subdomain: ' + repr(self.subdomain) + ' ' +\
11637            'tags: ' + repr(self.tags) + ' ' +\
11638            '>'
11639
11640    def to_dict(self):
11641        return {
11642            'access_key': self.access_key,
11643            'bind_interface': self.bind_interface,
11644            'egress_filter': self.egress_filter,
11645            'endpoint': self.endpoint,
11646            'healthy': self.healthy,
11647            'id': self.id,
11648            'name': self.name,
11649            'port_override': self.port_override,
11650            'proxy_cluster_id': self.proxy_cluster_id,
11651            'region': self.region,
11652            'role_arn': self.role_arn,
11653            'role_external_id': self.role_external_id,
11654            'secret_access_key': self.secret_access_key,
11655            'secret_store_id': self.secret_store_id,
11656            'subdomain': self.subdomain,
11657            'tags': self.tags,
11658        }
11659
11660    @classmethod
11661    def from_dict(cls, d):
11662        return cls(
11663            access_key=d.get('access_key'),
11664            bind_interface=d.get('bind_interface'),
11665            egress_filter=d.get('egress_filter'),
11666            endpoint=d.get('endpoint'),
11667            healthy=d.get('healthy'),
11668            id=d.get('id'),
11669            name=d.get('name'),
11670            port_override=d.get('port_override'),
11671            proxy_cluster_id=d.get('proxy_cluster_id'),
11672            region=d.get('region'),
11673            role_arn=d.get('role_arn'),
11674            role_external_id=d.get('role_external_id'),
11675            secret_access_key=d.get('secret_access_key'),
11676            secret_store_id=d.get('secret_store_id'),
11677            subdomain=d.get('subdomain'),
11678            tags=d.get('tags'),
11679        )
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)
11536    def __init__(
11537        self,
11538        access_key=None,
11539        bind_interface=None,
11540        egress_filter=None,
11541        endpoint=None,
11542        healthy=None,
11543        id=None,
11544        name=None,
11545        port_override=None,
11546        proxy_cluster_id=None,
11547        region=None,
11548        role_arn=None,
11549        role_external_id=None,
11550        secret_access_key=None,
11551        secret_store_id=None,
11552        subdomain=None,
11553        tags=None,
11554    ):
11555        self.access_key = access_key if access_key is not None else ''
11556        '''
11557         The Access Key ID to use to authenticate.
11558        '''
11559        self.bind_interface = bind_interface if bind_interface is not None else ''
11560        '''
11561         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11562        '''
11563        self.egress_filter = egress_filter if egress_filter is not None else ''
11564        '''
11565         A filter applied to the routing logic to pin datasource to nodes.
11566        '''
11567        self.endpoint = endpoint if endpoint is not None else ''
11568        '''
11569         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11570        '''
11571        self.healthy = healthy if healthy is not None else False
11572        '''
11573         True if the datasource is reachable and the credentials are valid.
11574        '''
11575        self.id = id if id is not None else ''
11576        '''
11577         Unique identifier of the Resource.
11578        '''
11579        self.name = name if name is not None else ''
11580        '''
11581         Unique human-readable name of the Resource.
11582        '''
11583        self.port_override = port_override if port_override is not None else 0
11584        '''
11585         The local port used by clients to connect to this resource.
11586        '''
11587        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11588        '''
11589         ID of the proxy cluster for this resource, if any.
11590        '''
11591        self.region = region if region is not None else ''
11592        '''
11593         The region to authenticate requests against e.g. us-east-1
11594        '''
11595        self.role_arn = role_arn if role_arn is not None else ''
11596        '''
11597         The role to assume after logging in.
11598        '''
11599        self.role_external_id = role_external_id if role_external_id is not None else ''
11600        '''
11601         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11602        '''
11603        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11604        '''
11605         The Secret Access Key to use to authenticate.
11606        '''
11607        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11608        '''
11609         ID of the secret store containing credentials for this resource, if any.
11610        '''
11611        self.subdomain = subdomain if subdomain is not None else ''
11612        '''
11613         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11614        '''
11615        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11616        '''
11617         Tags is a map of key, value pairs.
11618        '''
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.

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.

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

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.

def to_dict(self)
11640    def to_dict(self):
11641        return {
11642            'access_key': self.access_key,
11643            'bind_interface': self.bind_interface,
11644            'egress_filter': self.egress_filter,
11645            'endpoint': self.endpoint,
11646            'healthy': self.healthy,
11647            'id': self.id,
11648            'name': self.name,
11649            'port_override': self.port_override,
11650            'proxy_cluster_id': self.proxy_cluster_id,
11651            'region': self.region,
11652            'role_arn': self.role_arn,
11653            'role_external_id': self.role_external_id,
11654            'secret_access_key': self.secret_access_key,
11655            'secret_store_id': self.secret_store_id,
11656            'subdomain': self.subdomain,
11657            'tags': self.tags,
11658        }
@classmethod
def from_dict(cls, d)
11660    @classmethod
11661    def from_dict(cls, d):
11662        return cls(
11663            access_key=d.get('access_key'),
11664            bind_interface=d.get('bind_interface'),
11665            egress_filter=d.get('egress_filter'),
11666            endpoint=d.get('endpoint'),
11667            healthy=d.get('healthy'),
11668            id=d.get('id'),
11669            name=d.get('name'),
11670            port_override=d.get('port_override'),
11671            proxy_cluster_id=d.get('proxy_cluster_id'),
11672            region=d.get('region'),
11673            role_arn=d.get('role_arn'),
11674            role_external_id=d.get('role_external_id'),
11675            secret_access_key=d.get('secret_access_key'),
11676            secret_store_id=d.get('secret_store_id'),
11677            subdomain=d.get('subdomain'),
11678            tags=d.get('tags'),
11679        )
class DynamoDBIAM:
11682class DynamoDBIAM:
11683    __slots__ = [
11684        'bind_interface',
11685        'egress_filter',
11686        'endpoint',
11687        'healthy',
11688        'id',
11689        'name',
11690        'port_override',
11691        'proxy_cluster_id',
11692        'region',
11693        'role_arn',
11694        'role_external_id',
11695        'secret_store_id',
11696        'subdomain',
11697        'tags',
11698    ]
11699
11700    def __init__(
11701        self,
11702        bind_interface=None,
11703        egress_filter=None,
11704        endpoint=None,
11705        healthy=None,
11706        id=None,
11707        name=None,
11708        port_override=None,
11709        proxy_cluster_id=None,
11710        region=None,
11711        role_arn=None,
11712        role_external_id=None,
11713        secret_store_id=None,
11714        subdomain=None,
11715        tags=None,
11716    ):
11717        self.bind_interface = bind_interface if bind_interface is not None else ''
11718        '''
11719         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11720        '''
11721        self.egress_filter = egress_filter if egress_filter is not None else ''
11722        '''
11723         A filter applied to the routing logic to pin datasource to nodes.
11724        '''
11725        self.endpoint = endpoint if endpoint is not None else ''
11726        '''
11727         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11728        '''
11729        self.healthy = healthy if healthy is not None else False
11730        '''
11731         True if the datasource is reachable and the credentials are valid.
11732        '''
11733        self.id = id if id is not None else ''
11734        '''
11735         Unique identifier of the Resource.
11736        '''
11737        self.name = name if name is not None else ''
11738        '''
11739         Unique human-readable name of the Resource.
11740        '''
11741        self.port_override = port_override if port_override is not None else 0
11742        '''
11743         The local port used by clients to connect to this resource.
11744        '''
11745        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11746        '''
11747         ID of the proxy cluster for this resource, if any.
11748        '''
11749        self.region = region if region is not None else ''
11750        '''
11751         The region to authenticate requests against e.g. us-east-1
11752        '''
11753        self.role_arn = role_arn if role_arn is not None else ''
11754        '''
11755         The role to assume after logging in.
11756        '''
11757        self.role_external_id = role_external_id if role_external_id is not None else ''
11758        '''
11759         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11760        '''
11761        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11762        '''
11763         ID of the secret store containing credentials for this resource, if any.
11764        '''
11765        self.subdomain = subdomain if subdomain is not None else ''
11766        '''
11767         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11768        '''
11769        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11770        '''
11771         Tags is a map of key, value pairs.
11772        '''
11773
11774    def __repr__(self):
11775        return '<sdm.DynamoDBIAM ' + \
11776            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11777            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11778            'endpoint: ' + repr(self.endpoint) + ' ' +\
11779            'healthy: ' + repr(self.healthy) + ' ' +\
11780            'id: ' + repr(self.id) + ' ' +\
11781            'name: ' + repr(self.name) + ' ' +\
11782            'port_override: ' + repr(self.port_override) + ' ' +\
11783            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11784            'region: ' + repr(self.region) + ' ' +\
11785            'role_arn: ' + repr(self.role_arn) + ' ' +\
11786            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11787            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11788            'subdomain: ' + repr(self.subdomain) + ' ' +\
11789            'tags: ' + repr(self.tags) + ' ' +\
11790            '>'
11791
11792    def to_dict(self):
11793        return {
11794            'bind_interface': self.bind_interface,
11795            'egress_filter': self.egress_filter,
11796            'endpoint': self.endpoint,
11797            'healthy': self.healthy,
11798            'id': self.id,
11799            'name': self.name,
11800            'port_override': self.port_override,
11801            'proxy_cluster_id': self.proxy_cluster_id,
11802            'region': self.region,
11803            'role_arn': self.role_arn,
11804            'role_external_id': self.role_external_id,
11805            'secret_store_id': self.secret_store_id,
11806            'subdomain': self.subdomain,
11807            'tags': self.tags,
11808        }
11809
11810    @classmethod
11811    def from_dict(cls, d):
11812        return cls(
11813            bind_interface=d.get('bind_interface'),
11814            egress_filter=d.get('egress_filter'),
11815            endpoint=d.get('endpoint'),
11816            healthy=d.get('healthy'),
11817            id=d.get('id'),
11818            name=d.get('name'),
11819            port_override=d.get('port_override'),
11820            proxy_cluster_id=d.get('proxy_cluster_id'),
11821            region=d.get('region'),
11822            role_arn=d.get('role_arn'),
11823            role_external_id=d.get('role_external_id'),
11824            secret_store_id=d.get('secret_store_id'),
11825            subdomain=d.get('subdomain'),
11826            tags=d.get('tags'),
11827        )
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)
11700    def __init__(
11701        self,
11702        bind_interface=None,
11703        egress_filter=None,
11704        endpoint=None,
11705        healthy=None,
11706        id=None,
11707        name=None,
11708        port_override=None,
11709        proxy_cluster_id=None,
11710        region=None,
11711        role_arn=None,
11712        role_external_id=None,
11713        secret_store_id=None,
11714        subdomain=None,
11715        tags=None,
11716    ):
11717        self.bind_interface = bind_interface if bind_interface is not None else ''
11718        '''
11719         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11720        '''
11721        self.egress_filter = egress_filter if egress_filter is not None else ''
11722        '''
11723         A filter applied to the routing logic to pin datasource to nodes.
11724        '''
11725        self.endpoint = endpoint if endpoint is not None else ''
11726        '''
11727         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11728        '''
11729        self.healthy = healthy if healthy is not None else False
11730        '''
11731         True if the datasource is reachable and the credentials are valid.
11732        '''
11733        self.id = id if id is not None else ''
11734        '''
11735         Unique identifier of the Resource.
11736        '''
11737        self.name = name if name is not None else ''
11738        '''
11739         Unique human-readable name of the Resource.
11740        '''
11741        self.port_override = port_override if port_override is not None else 0
11742        '''
11743         The local port used by clients to connect to this resource.
11744        '''
11745        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11746        '''
11747         ID of the proxy cluster for this resource, if any.
11748        '''
11749        self.region = region if region is not None else ''
11750        '''
11751         The region to authenticate requests against e.g. us-east-1
11752        '''
11753        self.role_arn = role_arn if role_arn is not None else ''
11754        '''
11755         The role to assume after logging in.
11756        '''
11757        self.role_external_id = role_external_id if role_external_id is not None else ''
11758        '''
11759         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11760        '''
11761        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11762        '''
11763         ID of the secret store containing credentials for this resource, if any.
11764        '''
11765        self.subdomain = subdomain if subdomain is not None else ''
11766        '''
11767         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11768        '''
11769        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11770        '''
11771         Tags is a map of key, value pairs.
11772        '''
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.

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.

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

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.

def to_dict(self)
11792    def to_dict(self):
11793        return {
11794            'bind_interface': self.bind_interface,
11795            'egress_filter': self.egress_filter,
11796            'endpoint': self.endpoint,
11797            'healthy': self.healthy,
11798            'id': self.id,
11799            'name': self.name,
11800            'port_override': self.port_override,
11801            'proxy_cluster_id': self.proxy_cluster_id,
11802            'region': self.region,
11803            'role_arn': self.role_arn,
11804            'role_external_id': self.role_external_id,
11805            'secret_store_id': self.secret_store_id,
11806            'subdomain': self.subdomain,
11807            'tags': self.tags,
11808        }
@classmethod
def from_dict(cls, d)
11810    @classmethod
11811    def from_dict(cls, d):
11812        return cls(
11813            bind_interface=d.get('bind_interface'),
11814            egress_filter=d.get('egress_filter'),
11815            endpoint=d.get('endpoint'),
11816            healthy=d.get('healthy'),
11817            id=d.get('id'),
11818            name=d.get('name'),
11819            port_override=d.get('port_override'),
11820            proxy_cluster_id=d.get('proxy_cluster_id'),
11821            region=d.get('region'),
11822            role_arn=d.get('role_arn'),
11823            role_external_id=d.get('role_external_id'),
11824            secret_store_id=d.get('secret_store_id'),
11825            subdomain=d.get('subdomain'),
11826            tags=d.get('tags'),
11827        )
class Elastic:
11830class Elastic:
11831    __slots__ = [
11832        'bind_interface',
11833        'egress_filter',
11834        'healthy',
11835        'hostname',
11836        'id',
11837        'name',
11838        'password',
11839        'port',
11840        'port_override',
11841        'proxy_cluster_id',
11842        'secret_store_id',
11843        'subdomain',
11844        'tags',
11845        'tls_required',
11846        'username',
11847    ]
11848
11849    def __init__(
11850        self,
11851        bind_interface=None,
11852        egress_filter=None,
11853        healthy=None,
11854        hostname=None,
11855        id=None,
11856        name=None,
11857        password=None,
11858        port=None,
11859        port_override=None,
11860        proxy_cluster_id=None,
11861        secret_store_id=None,
11862        subdomain=None,
11863        tags=None,
11864        tls_required=None,
11865        username=None,
11866    ):
11867        self.bind_interface = bind_interface if bind_interface is not None else ''
11868        '''
11869         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11870        '''
11871        self.egress_filter = egress_filter if egress_filter is not None else ''
11872        '''
11873         A filter applied to the routing logic to pin datasource to nodes.
11874        '''
11875        self.healthy = healthy if healthy is not None else False
11876        '''
11877         True if the datasource is reachable and the credentials are valid.
11878        '''
11879        self.hostname = hostname if hostname is not None else ''
11880        '''
11881         The host to dial to initiate a connection from the egress node to this resource.
11882        '''
11883        self.id = id if id is not None else ''
11884        '''
11885         Unique identifier of the Resource.
11886        '''
11887        self.name = name if name is not None else ''
11888        '''
11889         Unique human-readable name of the Resource.
11890        '''
11891        self.password = password if password is not None else ''
11892        '''
11893         The password to authenticate with.
11894        '''
11895        self.port = port if port is not None else 0
11896        '''
11897         The port to dial to initiate a connection from the egress node to this resource.
11898        '''
11899        self.port_override = port_override if port_override is not None else 0
11900        '''
11901         The local port used by clients to connect to this resource.
11902        '''
11903        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11904        '''
11905         ID of the proxy cluster for this resource, if any.
11906        '''
11907        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11908        '''
11909         ID of the secret store containing credentials for this resource, if any.
11910        '''
11911        self.subdomain = subdomain if subdomain is not None else ''
11912        '''
11913         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11914        '''
11915        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11916        '''
11917         Tags is a map of key, value pairs.
11918        '''
11919        self.tls_required = tls_required if tls_required is not None else False
11920        '''
11921         If set, TLS must be used to connect to this resource.
11922        '''
11923        self.username = username if username is not None else ''
11924        '''
11925         The username to authenticate with.
11926        '''
11927
11928    def __repr__(self):
11929        return '<sdm.Elastic ' + \
11930            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11931            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11932            'healthy: ' + repr(self.healthy) + ' ' +\
11933            'hostname: ' + repr(self.hostname) + ' ' +\
11934            'id: ' + repr(self.id) + ' ' +\
11935            'name: ' + repr(self.name) + ' ' +\
11936            'password: ' + repr(self.password) + ' ' +\
11937            'port: ' + repr(self.port) + ' ' +\
11938            'port_override: ' + repr(self.port_override) + ' ' +\
11939            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11940            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11941            'subdomain: ' + repr(self.subdomain) + ' ' +\
11942            'tags: ' + repr(self.tags) + ' ' +\
11943            'tls_required: ' + repr(self.tls_required) + ' ' +\
11944            'username: ' + repr(self.username) + ' ' +\
11945            '>'
11946
11947    def to_dict(self):
11948        return {
11949            'bind_interface': self.bind_interface,
11950            'egress_filter': self.egress_filter,
11951            'healthy': self.healthy,
11952            'hostname': self.hostname,
11953            'id': self.id,
11954            'name': self.name,
11955            'password': self.password,
11956            'port': self.port,
11957            'port_override': self.port_override,
11958            'proxy_cluster_id': self.proxy_cluster_id,
11959            'secret_store_id': self.secret_store_id,
11960            'subdomain': self.subdomain,
11961            'tags': self.tags,
11962            'tls_required': self.tls_required,
11963            'username': self.username,
11964        }
11965
11966    @classmethod
11967    def from_dict(cls, d):
11968        return cls(
11969            bind_interface=d.get('bind_interface'),
11970            egress_filter=d.get('egress_filter'),
11971            healthy=d.get('healthy'),
11972            hostname=d.get('hostname'),
11973            id=d.get('id'),
11974            name=d.get('name'),
11975            password=d.get('password'),
11976            port=d.get('port'),
11977            port_override=d.get('port_override'),
11978            proxy_cluster_id=d.get('proxy_cluster_id'),
11979            secret_store_id=d.get('secret_store_id'),
11980            subdomain=d.get('subdomain'),
11981            tags=d.get('tags'),
11982            tls_required=d.get('tls_required'),
11983            username=d.get('username'),
11984        )
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)
11849    def __init__(
11850        self,
11851        bind_interface=None,
11852        egress_filter=None,
11853        healthy=None,
11854        hostname=None,
11855        id=None,
11856        name=None,
11857        password=None,
11858        port=None,
11859        port_override=None,
11860        proxy_cluster_id=None,
11861        secret_store_id=None,
11862        subdomain=None,
11863        tags=None,
11864        tls_required=None,
11865        username=None,
11866    ):
11867        self.bind_interface = bind_interface if bind_interface is not None else ''
11868        '''
11869         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11870        '''
11871        self.egress_filter = egress_filter if egress_filter is not None else ''
11872        '''
11873         A filter applied to the routing logic to pin datasource to nodes.
11874        '''
11875        self.healthy = healthy if healthy is not None else False
11876        '''
11877         True if the datasource is reachable and the credentials are valid.
11878        '''
11879        self.hostname = hostname if hostname is not None else ''
11880        '''
11881         The host to dial to initiate a connection from the egress node to this resource.
11882        '''
11883        self.id = id if id is not None else ''
11884        '''
11885         Unique identifier of the Resource.
11886        '''
11887        self.name = name if name is not None else ''
11888        '''
11889         Unique human-readable name of the Resource.
11890        '''
11891        self.password = password if password is not None else ''
11892        '''
11893         The password to authenticate with.
11894        '''
11895        self.port = port if port is not None else 0
11896        '''
11897         The port to dial to initiate a connection from the egress node to this resource.
11898        '''
11899        self.port_override = port_override if port_override is not None else 0
11900        '''
11901         The local port used by clients to connect to this resource.
11902        '''
11903        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11904        '''
11905         ID of the proxy cluster for this resource, if any.
11906        '''
11907        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11908        '''
11909         ID of the secret store containing credentials for this resource, if any.
11910        '''
11911        self.subdomain = subdomain if subdomain is not None else ''
11912        '''
11913         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11914        '''
11915        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11916        '''
11917         Tags is a map of key, value pairs.
11918        '''
11919        self.tls_required = tls_required if tls_required is not None else False
11920        '''
11921         If set, TLS must be used to connect to this resource.
11922        '''
11923        self.username = username if username is not None else ''
11924        '''
11925         The username to authenticate with.
11926        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
11947    def to_dict(self):
11948        return {
11949            'bind_interface': self.bind_interface,
11950            'egress_filter': self.egress_filter,
11951            'healthy': self.healthy,
11952            'hostname': self.hostname,
11953            'id': self.id,
11954            'name': self.name,
11955            'password': self.password,
11956            'port': self.port,
11957            'port_override': self.port_override,
11958            'proxy_cluster_id': self.proxy_cluster_id,
11959            'secret_store_id': self.secret_store_id,
11960            'subdomain': self.subdomain,
11961            'tags': self.tags,
11962            'tls_required': self.tls_required,
11963            'username': self.username,
11964        }
@classmethod
def from_dict(cls, d)
11966    @classmethod
11967    def from_dict(cls, d):
11968        return cls(
11969            bind_interface=d.get('bind_interface'),
11970            egress_filter=d.get('egress_filter'),
11971            healthy=d.get('healthy'),
11972            hostname=d.get('hostname'),
11973            id=d.get('id'),
11974            name=d.get('name'),
11975            password=d.get('password'),
11976            port=d.get('port'),
11977            port_override=d.get('port_override'),
11978            proxy_cluster_id=d.get('proxy_cluster_id'),
11979            secret_store_id=d.get('secret_store_id'),
11980            subdomain=d.get('subdomain'),
11981            tags=d.get('tags'),
11982            tls_required=d.get('tls_required'),
11983            username=d.get('username'),
11984        )
class ElasticacheRedis:
11987class ElasticacheRedis:
11988    __slots__ = [
11989        'bind_interface',
11990        'egress_filter',
11991        'healthy',
11992        'hostname',
11993        'id',
11994        'name',
11995        'password',
11996        'port',
11997        'port_override',
11998        'proxy_cluster_id',
11999        'secret_store_id',
12000        'subdomain',
12001        'tags',
12002        'tls_required',
12003        'username',
12004    ]
12005
12006    def __init__(
12007        self,
12008        bind_interface=None,
12009        egress_filter=None,
12010        healthy=None,
12011        hostname=None,
12012        id=None,
12013        name=None,
12014        password=None,
12015        port=None,
12016        port_override=None,
12017        proxy_cluster_id=None,
12018        secret_store_id=None,
12019        subdomain=None,
12020        tags=None,
12021        tls_required=None,
12022        username=None,
12023    ):
12024        self.bind_interface = bind_interface if bind_interface is not None else ''
12025        '''
12026         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12027        '''
12028        self.egress_filter = egress_filter if egress_filter is not None else ''
12029        '''
12030         A filter applied to the routing logic to pin datasource to nodes.
12031        '''
12032        self.healthy = healthy if healthy is not None else False
12033        '''
12034         True if the datasource is reachable and the credentials are valid.
12035        '''
12036        self.hostname = hostname if hostname is not None else ''
12037        '''
12038         The host to dial to initiate a connection from the egress node to this resource.
12039        '''
12040        self.id = id if id is not None else ''
12041        '''
12042         Unique identifier of the Resource.
12043        '''
12044        self.name = name if name is not None else ''
12045        '''
12046         Unique human-readable name of the Resource.
12047        '''
12048        self.password = password if password is not None else ''
12049        '''
12050         The password to authenticate with.
12051        '''
12052        self.port = port if port is not None else 0
12053        '''
12054         The port to dial to initiate a connection from the egress node to this resource.
12055        '''
12056        self.port_override = port_override if port_override is not None else 0
12057        '''
12058         The local port used by clients to connect to this resource.
12059        '''
12060        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12061        '''
12062         ID of the proxy cluster for this resource, if any.
12063        '''
12064        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12065        '''
12066         ID of the secret store containing credentials for this resource, if any.
12067        '''
12068        self.subdomain = subdomain if subdomain is not None else ''
12069        '''
12070         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12071        '''
12072        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12073        '''
12074         Tags is a map of key, value pairs.
12075        '''
12076        self.tls_required = tls_required if tls_required is not None else False
12077        '''
12078         If set, TLS must be used to connect to this resource.
12079        '''
12080        self.username = username if username is not None else ''
12081        '''
12082         The username to authenticate with.
12083        '''
12084
12085    def __repr__(self):
12086        return '<sdm.ElasticacheRedis ' + \
12087            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12088            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12089            'healthy: ' + repr(self.healthy) + ' ' +\
12090            'hostname: ' + repr(self.hostname) + ' ' +\
12091            'id: ' + repr(self.id) + ' ' +\
12092            'name: ' + repr(self.name) + ' ' +\
12093            'password: ' + repr(self.password) + ' ' +\
12094            'port: ' + repr(self.port) + ' ' +\
12095            'port_override: ' + repr(self.port_override) + ' ' +\
12096            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12097            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12098            'subdomain: ' + repr(self.subdomain) + ' ' +\
12099            'tags: ' + repr(self.tags) + ' ' +\
12100            'tls_required: ' + repr(self.tls_required) + ' ' +\
12101            'username: ' + repr(self.username) + ' ' +\
12102            '>'
12103
12104    def to_dict(self):
12105        return {
12106            'bind_interface': self.bind_interface,
12107            'egress_filter': self.egress_filter,
12108            'healthy': self.healthy,
12109            'hostname': self.hostname,
12110            'id': self.id,
12111            'name': self.name,
12112            'password': self.password,
12113            'port': self.port,
12114            'port_override': self.port_override,
12115            'proxy_cluster_id': self.proxy_cluster_id,
12116            'secret_store_id': self.secret_store_id,
12117            'subdomain': self.subdomain,
12118            'tags': self.tags,
12119            'tls_required': self.tls_required,
12120            'username': self.username,
12121        }
12122
12123    @classmethod
12124    def from_dict(cls, d):
12125        return cls(
12126            bind_interface=d.get('bind_interface'),
12127            egress_filter=d.get('egress_filter'),
12128            healthy=d.get('healthy'),
12129            hostname=d.get('hostname'),
12130            id=d.get('id'),
12131            name=d.get('name'),
12132            password=d.get('password'),
12133            port=d.get('port'),
12134            port_override=d.get('port_override'),
12135            proxy_cluster_id=d.get('proxy_cluster_id'),
12136            secret_store_id=d.get('secret_store_id'),
12137            subdomain=d.get('subdomain'),
12138            tags=d.get('tags'),
12139            tls_required=d.get('tls_required'),
12140            username=d.get('username'),
12141        )
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)
12006    def __init__(
12007        self,
12008        bind_interface=None,
12009        egress_filter=None,
12010        healthy=None,
12011        hostname=None,
12012        id=None,
12013        name=None,
12014        password=None,
12015        port=None,
12016        port_override=None,
12017        proxy_cluster_id=None,
12018        secret_store_id=None,
12019        subdomain=None,
12020        tags=None,
12021        tls_required=None,
12022        username=None,
12023    ):
12024        self.bind_interface = bind_interface if bind_interface is not None else ''
12025        '''
12026         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12027        '''
12028        self.egress_filter = egress_filter if egress_filter is not None else ''
12029        '''
12030         A filter applied to the routing logic to pin datasource to nodes.
12031        '''
12032        self.healthy = healthy if healthy is not None else False
12033        '''
12034         True if the datasource is reachable and the credentials are valid.
12035        '''
12036        self.hostname = hostname if hostname is not None else ''
12037        '''
12038         The host to dial to initiate a connection from the egress node to this resource.
12039        '''
12040        self.id = id if id is not None else ''
12041        '''
12042         Unique identifier of the Resource.
12043        '''
12044        self.name = name if name is not None else ''
12045        '''
12046         Unique human-readable name of the Resource.
12047        '''
12048        self.password = password if password is not None else ''
12049        '''
12050         The password to authenticate with.
12051        '''
12052        self.port = port if port is not None else 0
12053        '''
12054         The port to dial to initiate a connection from the egress node to this resource.
12055        '''
12056        self.port_override = port_override if port_override is not None else 0
12057        '''
12058         The local port used by clients to connect to this resource.
12059        '''
12060        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12061        '''
12062         ID of the proxy cluster for this resource, if any.
12063        '''
12064        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12065        '''
12066         ID of the secret store containing credentials for this resource, if any.
12067        '''
12068        self.subdomain = subdomain if subdomain is not None else ''
12069        '''
12070         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12071        '''
12072        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12073        '''
12074         Tags is a map of key, value pairs.
12075        '''
12076        self.tls_required = tls_required if tls_required is not None else False
12077        '''
12078         If set, TLS must be used to connect to this resource.
12079        '''
12080        self.username = username if username is not None else ''
12081        '''
12082         The username to authenticate with.
12083        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
12104    def to_dict(self):
12105        return {
12106            'bind_interface': self.bind_interface,
12107            'egress_filter': self.egress_filter,
12108            'healthy': self.healthy,
12109            'hostname': self.hostname,
12110            'id': self.id,
12111            'name': self.name,
12112            'password': self.password,
12113            'port': self.port,
12114            'port_override': self.port_override,
12115            'proxy_cluster_id': self.proxy_cluster_id,
12116            'secret_store_id': self.secret_store_id,
12117            'subdomain': self.subdomain,
12118            'tags': self.tags,
12119            'tls_required': self.tls_required,
12120            'username': self.username,
12121        }
@classmethod
def from_dict(cls, d)
12123    @classmethod
12124    def from_dict(cls, d):
12125        return cls(
12126            bind_interface=d.get('bind_interface'),
12127            egress_filter=d.get('egress_filter'),
12128            healthy=d.get('healthy'),
12129            hostname=d.get('hostname'),
12130            id=d.get('id'),
12131            name=d.get('name'),
12132            password=d.get('password'),
12133            port=d.get('port'),
12134            port_override=d.get('port_override'),
12135            proxy_cluster_id=d.get('proxy_cluster_id'),
12136            secret_store_id=d.get('secret_store_id'),
12137            subdomain=d.get('subdomain'),
12138            tags=d.get('tags'),
12139            tls_required=d.get('tls_required'),
12140            username=d.get('username'),
12141        )
class GCP:
12144class GCP:
12145    __slots__ = [
12146        'bind_interface',
12147        'egress_filter',
12148        'healthy',
12149        'id',
12150        'keyfile',
12151        'name',
12152        'port_override',
12153        'proxy_cluster_id',
12154        'scopes',
12155        'secret_store_id',
12156        'subdomain',
12157        'tags',
12158    ]
12159
12160    def __init__(
12161        self,
12162        bind_interface=None,
12163        egress_filter=None,
12164        healthy=None,
12165        id=None,
12166        keyfile=None,
12167        name=None,
12168        port_override=None,
12169        proxy_cluster_id=None,
12170        scopes=None,
12171        secret_store_id=None,
12172        subdomain=None,
12173        tags=None,
12174    ):
12175        self.bind_interface = bind_interface if bind_interface is not None else ''
12176        '''
12177         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12178        '''
12179        self.egress_filter = egress_filter if egress_filter is not None else ''
12180        '''
12181         A filter applied to the routing logic to pin datasource to nodes.
12182        '''
12183        self.healthy = healthy if healthy is not None else False
12184        '''
12185         True if the datasource is reachable and the credentials are valid.
12186        '''
12187        self.id = id if id is not None else ''
12188        '''
12189         Unique identifier of the Resource.
12190        '''
12191        self.keyfile = keyfile if keyfile is not None else ''
12192        '''
12193         The service account keyfile to authenticate with.
12194        '''
12195        self.name = name if name is not None else ''
12196        '''
12197         Unique human-readable name of the Resource.
12198        '''
12199        self.port_override = port_override if port_override is not None else 0
12200        '''
12201         The local port used by clients to connect to this resource.
12202        '''
12203        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12204        '''
12205         ID of the proxy cluster for this resource, if any.
12206        '''
12207        self.scopes = scopes if scopes is not None else ''
12208        '''
12209         Space separated scopes that this login should assume into when authenticating.
12210        '''
12211        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12212        '''
12213         ID of the secret store containing credentials for this resource, if any.
12214        '''
12215        self.subdomain = subdomain if subdomain is not None else ''
12216        '''
12217         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12218        '''
12219        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12220        '''
12221         Tags is a map of key, value pairs.
12222        '''
12223
12224    def __repr__(self):
12225        return '<sdm.GCP ' + \
12226            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12227            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12228            'healthy: ' + repr(self.healthy) + ' ' +\
12229            'id: ' + repr(self.id) + ' ' +\
12230            'keyfile: ' + repr(self.keyfile) + ' ' +\
12231            'name: ' + repr(self.name) + ' ' +\
12232            'port_override: ' + repr(self.port_override) + ' ' +\
12233            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12234            'scopes: ' + repr(self.scopes) + ' ' +\
12235            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12236            'subdomain: ' + repr(self.subdomain) + ' ' +\
12237            'tags: ' + repr(self.tags) + ' ' +\
12238            '>'
12239
12240    def to_dict(self):
12241        return {
12242            'bind_interface': self.bind_interface,
12243            'egress_filter': self.egress_filter,
12244            'healthy': self.healthy,
12245            'id': self.id,
12246            'keyfile': self.keyfile,
12247            'name': self.name,
12248            'port_override': self.port_override,
12249            'proxy_cluster_id': self.proxy_cluster_id,
12250            'scopes': self.scopes,
12251            'secret_store_id': self.secret_store_id,
12252            'subdomain': self.subdomain,
12253            'tags': self.tags,
12254        }
12255
12256    @classmethod
12257    def from_dict(cls, d):
12258        return cls(
12259            bind_interface=d.get('bind_interface'),
12260            egress_filter=d.get('egress_filter'),
12261            healthy=d.get('healthy'),
12262            id=d.get('id'),
12263            keyfile=d.get('keyfile'),
12264            name=d.get('name'),
12265            port_override=d.get('port_override'),
12266            proxy_cluster_id=d.get('proxy_cluster_id'),
12267            scopes=d.get('scopes'),
12268            secret_store_id=d.get('secret_store_id'),
12269            subdomain=d.get('subdomain'),
12270            tags=d.get('tags'),
12271        )
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)
12160    def __init__(
12161        self,
12162        bind_interface=None,
12163        egress_filter=None,
12164        healthy=None,
12165        id=None,
12166        keyfile=None,
12167        name=None,
12168        port_override=None,
12169        proxy_cluster_id=None,
12170        scopes=None,
12171        secret_store_id=None,
12172        subdomain=None,
12173        tags=None,
12174    ):
12175        self.bind_interface = bind_interface if bind_interface is not None else ''
12176        '''
12177         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12178        '''
12179        self.egress_filter = egress_filter if egress_filter is not None else ''
12180        '''
12181         A filter applied to the routing logic to pin datasource to nodes.
12182        '''
12183        self.healthy = healthy if healthy is not None else False
12184        '''
12185         True if the datasource is reachable and the credentials are valid.
12186        '''
12187        self.id = id if id is not None else ''
12188        '''
12189         Unique identifier of the Resource.
12190        '''
12191        self.keyfile = keyfile if keyfile is not None else ''
12192        '''
12193         The service account keyfile to authenticate with.
12194        '''
12195        self.name = name if name is not None else ''
12196        '''
12197         Unique human-readable name of the Resource.
12198        '''
12199        self.port_override = port_override if port_override is not None else 0
12200        '''
12201         The local port used by clients to connect to this resource.
12202        '''
12203        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12204        '''
12205         ID of the proxy cluster for this resource, if any.
12206        '''
12207        self.scopes = scopes if scopes is not None else ''
12208        '''
12209         Space separated scopes that this login should assume into when authenticating.
12210        '''
12211        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12212        '''
12213         ID of the secret store containing credentials for this resource, if any.
12214        '''
12215        self.subdomain = subdomain if subdomain is not None else ''
12216        '''
12217         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12218        '''
12219        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12220        '''
12221         Tags is a map of key, value pairs.
12222        '''
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.

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.

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

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.

def to_dict(self)
12240    def to_dict(self):
12241        return {
12242            'bind_interface': self.bind_interface,
12243            'egress_filter': self.egress_filter,
12244            'healthy': self.healthy,
12245            'id': self.id,
12246            'keyfile': self.keyfile,
12247            'name': self.name,
12248            'port_override': self.port_override,
12249            'proxy_cluster_id': self.proxy_cluster_id,
12250            'scopes': self.scopes,
12251            'secret_store_id': self.secret_store_id,
12252            'subdomain': self.subdomain,
12253            'tags': self.tags,
12254        }
@classmethod
def from_dict(cls, d)
12256    @classmethod
12257    def from_dict(cls, d):
12258        return cls(
12259            bind_interface=d.get('bind_interface'),
12260            egress_filter=d.get('egress_filter'),
12261            healthy=d.get('healthy'),
12262            id=d.get('id'),
12263            keyfile=d.get('keyfile'),
12264            name=d.get('name'),
12265            port_override=d.get('port_override'),
12266            proxy_cluster_id=d.get('proxy_cluster_id'),
12267            scopes=d.get('scopes'),
12268            secret_store_id=d.get('secret_store_id'),
12269            subdomain=d.get('subdomain'),
12270            tags=d.get('tags'),
12271        )
class GCPCertX509Store:
12274class GCPCertX509Store:
12275    __slots__ = [
12276        'caid',
12277        'capoolid',
12278        'id',
12279        'issuedcertttlminutes',
12280        'location',
12281        'name',
12282        'projectid',
12283        'tags',
12284    ]
12285
12286    def __init__(
12287        self,
12288        caid=None,
12289        capoolid=None,
12290        id=None,
12291        issuedcertttlminutes=None,
12292        location=None,
12293        name=None,
12294        projectid=None,
12295        tags=None,
12296    ):
12297        self.caid = caid if caid is not None else ''
12298        '''
12299         The ID of the target CA
12300        '''
12301        self.capoolid = capoolid if capoolid is not None else ''
12302        '''
12303         The ID of the target CA pool
12304        '''
12305        self.id = id if id is not None else ''
12306        '''
12307         Unique identifier of the SecretStore.
12308        '''
12309        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12310        '''
12311         The lifetime of certificates issued by this CA represented in minutes.
12312        '''
12313        self.location = location if location is not None else ''
12314        '''
12315         The Region for the CA in GCP format e.g. us-west1
12316        '''
12317        self.name = name if name is not None else ''
12318        '''
12319         Unique human-readable name of the SecretStore.
12320        '''
12321        self.projectid = projectid if projectid is not None else ''
12322        '''
12323         The GCP project ID to target.
12324        '''
12325        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12326        '''
12327         Tags is a map of key, value pairs.
12328        '''
12329
12330    def __repr__(self):
12331        return '<sdm.GCPCertX509Store ' + \
12332            'caid: ' + repr(self.caid) + ' ' +\
12333            'capoolid: ' + repr(self.capoolid) + ' ' +\
12334            'id: ' + repr(self.id) + ' ' +\
12335            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
12336            'location: ' + repr(self.location) + ' ' +\
12337            'name: ' + repr(self.name) + ' ' +\
12338            'projectid: ' + repr(self.projectid) + ' ' +\
12339            'tags: ' + repr(self.tags) + ' ' +\
12340            '>'
12341
12342    def to_dict(self):
12343        return {
12344            'caid': self.caid,
12345            'capoolid': self.capoolid,
12346            'id': self.id,
12347            'issuedcertttlminutes': self.issuedcertttlminutes,
12348            'location': self.location,
12349            'name': self.name,
12350            'projectid': self.projectid,
12351            'tags': self.tags,
12352        }
12353
12354    @classmethod
12355    def from_dict(cls, d):
12356        return cls(
12357            caid=d.get('caid'),
12358            capoolid=d.get('capoolid'),
12359            id=d.get('id'),
12360            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12361            location=d.get('location'),
12362            name=d.get('name'),
12363            projectid=d.get('projectid'),
12364            tags=d.get('tags'),
12365        )
GCPCertX509Store( caid=None, capoolid=None, id=None, issuedcertttlminutes=None, location=None, name=None, projectid=None, tags=None)
12286    def __init__(
12287        self,
12288        caid=None,
12289        capoolid=None,
12290        id=None,
12291        issuedcertttlminutes=None,
12292        location=None,
12293        name=None,
12294        projectid=None,
12295        tags=None,
12296    ):
12297        self.caid = caid if caid is not None else ''
12298        '''
12299         The ID of the target CA
12300        '''
12301        self.capoolid = capoolid if capoolid is not None else ''
12302        '''
12303         The ID of the target CA pool
12304        '''
12305        self.id = id if id is not None else ''
12306        '''
12307         Unique identifier of the SecretStore.
12308        '''
12309        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12310        '''
12311         The lifetime of certificates issued by this CA represented in minutes.
12312        '''
12313        self.location = location if location is not None else ''
12314        '''
12315         The Region for the CA in GCP format e.g. us-west1
12316        '''
12317        self.name = name if name is not None else ''
12318        '''
12319         Unique human-readable name of the SecretStore.
12320        '''
12321        self.projectid = projectid if projectid is not None else ''
12322        '''
12323         The GCP project ID to target.
12324        '''
12325        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12326        '''
12327         Tags is a map of key, value pairs.
12328        '''
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)
12342    def to_dict(self):
12343        return {
12344            'caid': self.caid,
12345            'capoolid': self.capoolid,
12346            'id': self.id,
12347            'issuedcertttlminutes': self.issuedcertttlminutes,
12348            'location': self.location,
12349            'name': self.name,
12350            'projectid': self.projectid,
12351            'tags': self.tags,
12352        }
@classmethod
def from_dict(cls, d)
12354    @classmethod
12355    def from_dict(cls, d):
12356        return cls(
12357            caid=d.get('caid'),
12358            capoolid=d.get('capoolid'),
12359            id=d.get('id'),
12360            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12361            location=d.get('location'),
12362            name=d.get('name'),
12363            projectid=d.get('projectid'),
12364            tags=d.get('tags'),
12365        )
class GCPConsole:
12368class GCPConsole:
12369    __slots__ = [
12370        'bind_interface',
12371        'egress_filter',
12372        'healthy',
12373        'id',
12374        'identity_alias_healthcheck_username',
12375        'identity_set_id',
12376        'name',
12377        'port_override',
12378        'proxy_cluster_id',
12379        'secret_store_id',
12380        'session_expiry',
12381        'subdomain',
12382        'tags',
12383        'workforce_pool_id',
12384        'workforce_provider_id',
12385    ]
12386
12387    def __init__(
12388        self,
12389        bind_interface=None,
12390        egress_filter=None,
12391        healthy=None,
12392        id=None,
12393        identity_alias_healthcheck_username=None,
12394        identity_set_id=None,
12395        name=None,
12396        port_override=None,
12397        proxy_cluster_id=None,
12398        secret_store_id=None,
12399        session_expiry=None,
12400        subdomain=None,
12401        tags=None,
12402        workforce_pool_id=None,
12403        workforce_provider_id=None,
12404    ):
12405        self.bind_interface = bind_interface if bind_interface is not None else ''
12406        '''
12407         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12408        '''
12409        self.egress_filter = egress_filter if egress_filter is not None else ''
12410        '''
12411         A filter applied to the routing logic to pin datasource to nodes.
12412        '''
12413        self.healthy = healthy if healthy is not None else False
12414        '''
12415         True if the datasource is reachable and the credentials are valid.
12416        '''
12417        self.id = id if id is not None else ''
12418        '''
12419         Unique identifier of the Resource.
12420        '''
12421        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12422        '''
12423         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12424        '''
12425        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12426        '''
12427         The ID of the identity set to use for identity connections.
12428        '''
12429        self.name = name if name is not None else ''
12430        '''
12431         Unique human-readable name of the Resource.
12432        '''
12433        self.port_override = port_override if port_override is not None else 0
12434        '''
12435         The local port used by clients to connect to this resource.
12436        '''
12437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12438        '''
12439         ID of the proxy cluster for this resource, if any.
12440        '''
12441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12442        '''
12443         ID of the secret store containing credentials for this resource, if any.
12444        '''
12445        self.session_expiry = session_expiry if session_expiry is not None else 0
12446        '''
12447         The length of time in seconds console sessions will live before needing to reauthenticate.
12448        '''
12449        self.subdomain = subdomain if subdomain is not None else ''
12450        '''
12451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12452        '''
12453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12454        '''
12455         Tags is a map of key, value pairs.
12456        '''
12457        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12458        '''
12459         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12460        '''
12461        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12462        '''
12463         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12464        '''
12465
12466    def __repr__(self):
12467        return '<sdm.GCPConsole ' + \
12468            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12469            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12470            'healthy: ' + repr(self.healthy) + ' ' +\
12471            'id: ' + repr(self.id) + ' ' +\
12472            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12473            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12474            'name: ' + repr(self.name) + ' ' +\
12475            'port_override: ' + repr(self.port_override) + ' ' +\
12476            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12477            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12478            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12479            'subdomain: ' + repr(self.subdomain) + ' ' +\
12480            'tags: ' + repr(self.tags) + ' ' +\
12481            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12482            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12483            '>'
12484
12485    def to_dict(self):
12486        return {
12487            'bind_interface': self.bind_interface,
12488            'egress_filter': self.egress_filter,
12489            'healthy': self.healthy,
12490            'id': self.id,
12491            'identity_alias_healthcheck_username':
12492            self.identity_alias_healthcheck_username,
12493            'identity_set_id': self.identity_set_id,
12494            'name': self.name,
12495            'port_override': self.port_override,
12496            'proxy_cluster_id': self.proxy_cluster_id,
12497            'secret_store_id': self.secret_store_id,
12498            'session_expiry': self.session_expiry,
12499            'subdomain': self.subdomain,
12500            'tags': self.tags,
12501            'workforce_pool_id': self.workforce_pool_id,
12502            'workforce_provider_id': self.workforce_provider_id,
12503        }
12504
12505    @classmethod
12506    def from_dict(cls, d):
12507        return cls(
12508            bind_interface=d.get('bind_interface'),
12509            egress_filter=d.get('egress_filter'),
12510            healthy=d.get('healthy'),
12511            id=d.get('id'),
12512            identity_alias_healthcheck_username=d.get(
12513                'identity_alias_healthcheck_username'),
12514            identity_set_id=d.get('identity_set_id'),
12515            name=d.get('name'),
12516            port_override=d.get('port_override'),
12517            proxy_cluster_id=d.get('proxy_cluster_id'),
12518            secret_store_id=d.get('secret_store_id'),
12519            session_expiry=d.get('session_expiry'),
12520            subdomain=d.get('subdomain'),
12521            tags=d.get('tags'),
12522            workforce_pool_id=d.get('workforce_pool_id'),
12523            workforce_provider_id=d.get('workforce_provider_id'),
12524        )
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)
12387    def __init__(
12388        self,
12389        bind_interface=None,
12390        egress_filter=None,
12391        healthy=None,
12392        id=None,
12393        identity_alias_healthcheck_username=None,
12394        identity_set_id=None,
12395        name=None,
12396        port_override=None,
12397        proxy_cluster_id=None,
12398        secret_store_id=None,
12399        session_expiry=None,
12400        subdomain=None,
12401        tags=None,
12402        workforce_pool_id=None,
12403        workforce_provider_id=None,
12404    ):
12405        self.bind_interface = bind_interface if bind_interface is not None else ''
12406        '''
12407         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12408        '''
12409        self.egress_filter = egress_filter if egress_filter is not None else ''
12410        '''
12411         A filter applied to the routing logic to pin datasource to nodes.
12412        '''
12413        self.healthy = healthy if healthy is not None else False
12414        '''
12415         True if the datasource is reachable and the credentials are valid.
12416        '''
12417        self.id = id if id is not None else ''
12418        '''
12419         Unique identifier of the Resource.
12420        '''
12421        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12422        '''
12423         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12424        '''
12425        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12426        '''
12427         The ID of the identity set to use for identity connections.
12428        '''
12429        self.name = name if name is not None else ''
12430        '''
12431         Unique human-readable name of the Resource.
12432        '''
12433        self.port_override = port_override if port_override is not None else 0
12434        '''
12435         The local port used by clients to connect to this resource.
12436        '''
12437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12438        '''
12439         ID of the proxy cluster for this resource, if any.
12440        '''
12441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12442        '''
12443         ID of the secret store containing credentials for this resource, if any.
12444        '''
12445        self.session_expiry = session_expiry if session_expiry is not None else 0
12446        '''
12447         The length of time in seconds console sessions will live before needing to reauthenticate.
12448        '''
12449        self.subdomain = subdomain if subdomain is not None else ''
12450        '''
12451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12452        '''
12453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12454        '''
12455         Tags is a map of key, value pairs.
12456        '''
12457        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12458        '''
12459         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12460        '''
12461        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12462        '''
12463         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12464        '''
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.

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.

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)
12485    def to_dict(self):
12486        return {
12487            'bind_interface': self.bind_interface,
12488            'egress_filter': self.egress_filter,
12489            'healthy': self.healthy,
12490            'id': self.id,
12491            'identity_alias_healthcheck_username':
12492            self.identity_alias_healthcheck_username,
12493            'identity_set_id': self.identity_set_id,
12494            'name': self.name,
12495            'port_override': self.port_override,
12496            'proxy_cluster_id': self.proxy_cluster_id,
12497            'secret_store_id': self.secret_store_id,
12498            'session_expiry': self.session_expiry,
12499            'subdomain': self.subdomain,
12500            'tags': self.tags,
12501            'workforce_pool_id': self.workforce_pool_id,
12502            'workforce_provider_id': self.workforce_provider_id,
12503        }
@classmethod
def from_dict(cls, d)
12505    @classmethod
12506    def from_dict(cls, d):
12507        return cls(
12508            bind_interface=d.get('bind_interface'),
12509            egress_filter=d.get('egress_filter'),
12510            healthy=d.get('healthy'),
12511            id=d.get('id'),
12512            identity_alias_healthcheck_username=d.get(
12513                'identity_alias_healthcheck_username'),
12514            identity_set_id=d.get('identity_set_id'),
12515            name=d.get('name'),
12516            port_override=d.get('port_override'),
12517            proxy_cluster_id=d.get('proxy_cluster_id'),
12518            secret_store_id=d.get('secret_store_id'),
12519            session_expiry=d.get('session_expiry'),
12520            subdomain=d.get('subdomain'),
12521            tags=d.get('tags'),
12522            workforce_pool_id=d.get('workforce_pool_id'),
12523            workforce_provider_id=d.get('workforce_provider_id'),
12524        )
class GCPStore:
12527class GCPStore:
12528    __slots__ = [
12529        'id',
12530        'name',
12531        'projectid',
12532        'tags',
12533    ]
12534
12535    def __init__(
12536        self,
12537        id=None,
12538        name=None,
12539        projectid=None,
12540        tags=None,
12541    ):
12542        self.id = id if id is not None else ''
12543        '''
12544         Unique identifier of the SecretStore.
12545        '''
12546        self.name = name if name is not None else ''
12547        '''
12548         Unique human-readable name of the SecretStore.
12549        '''
12550        self.projectid = projectid if projectid is not None else ''
12551        '''
12552         The GCP project ID to target.
12553        '''
12554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12555        '''
12556         Tags is a map of key, value pairs.
12557        '''
12558
12559    def __repr__(self):
12560        return '<sdm.GCPStore ' + \
12561            'id: ' + repr(self.id) + ' ' +\
12562            'name: ' + repr(self.name) + ' ' +\
12563            'projectid: ' + repr(self.projectid) + ' ' +\
12564            'tags: ' + repr(self.tags) + ' ' +\
12565            '>'
12566
12567    def to_dict(self):
12568        return {
12569            'id': self.id,
12570            'name': self.name,
12571            'projectid': self.projectid,
12572            'tags': self.tags,
12573        }
12574
12575    @classmethod
12576    def from_dict(cls, d):
12577        return cls(
12578            id=d.get('id'),
12579            name=d.get('name'),
12580            projectid=d.get('projectid'),
12581            tags=d.get('tags'),
12582        )
GCPStore(id=None, name=None, projectid=None, tags=None)
12535    def __init__(
12536        self,
12537        id=None,
12538        name=None,
12539        projectid=None,
12540        tags=None,
12541    ):
12542        self.id = id if id is not None else ''
12543        '''
12544         Unique identifier of the SecretStore.
12545        '''
12546        self.name = name if name is not None else ''
12547        '''
12548         Unique human-readable name of the SecretStore.
12549        '''
12550        self.projectid = projectid if projectid is not None else ''
12551        '''
12552         The GCP project ID to target.
12553        '''
12554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12555        '''
12556         Tags is a map of key, value pairs.
12557        '''
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)
12567    def to_dict(self):
12568        return {
12569            'id': self.id,
12570            'name': self.name,
12571            'projectid': self.projectid,
12572            'tags': self.tags,
12573        }
@classmethod
def from_dict(cls, d)
12575    @classmethod
12576    def from_dict(cls, d):
12577        return cls(
12578            id=d.get('id'),
12579            name=d.get('name'),
12580            projectid=d.get('projectid'),
12581            tags=d.get('tags'),
12582        )
class GCPWIF:
12585class GCPWIF:
12586    __slots__ = [
12587        'bind_interface',
12588        'egress_filter',
12589        'healthy',
12590        'id',
12591        'identity_alias_healthcheck_username',
12592        'identity_set_id',
12593        'name',
12594        'port_override',
12595        'project_id',
12596        'proxy_cluster_id',
12597        'scopes',
12598        'secret_store_id',
12599        'session_expiry',
12600        'subdomain',
12601        'tags',
12602        'workforce_pool_id',
12603        'workforce_provider_id',
12604    ]
12605
12606    def __init__(
12607        self,
12608        bind_interface=None,
12609        egress_filter=None,
12610        healthy=None,
12611        id=None,
12612        identity_alias_healthcheck_username=None,
12613        identity_set_id=None,
12614        name=None,
12615        port_override=None,
12616        project_id=None,
12617        proxy_cluster_id=None,
12618        scopes=None,
12619        secret_store_id=None,
12620        session_expiry=None,
12621        subdomain=None,
12622        tags=None,
12623        workforce_pool_id=None,
12624        workforce_provider_id=None,
12625    ):
12626        self.bind_interface = bind_interface if bind_interface is not None else ''
12627        '''
12628         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12629        '''
12630        self.egress_filter = egress_filter if egress_filter is not None else ''
12631        '''
12632         A filter applied to the routing logic to pin datasource to nodes.
12633        '''
12634        self.healthy = healthy if healthy is not None else False
12635        '''
12636         True if the datasource is reachable and the credentials are valid.
12637        '''
12638        self.id = id if id is not None else ''
12639        '''
12640         Unique identifier of the Resource.
12641        '''
12642        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12643        '''
12644         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12645        '''
12646        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12647        '''
12648         The ID of the identity set to use for identity connections.
12649        '''
12650        self.name = name if name is not None else ''
12651        '''
12652         Unique human-readable name of the Resource.
12653        '''
12654        self.port_override = port_override if port_override is not None else 0
12655        '''
12656         The local port used by clients to connect to this resource.
12657        '''
12658        self.project_id = project_id if project_id is not None else ''
12659        '''
12660         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12661        '''
12662        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12663        '''
12664         ID of the proxy cluster for this resource, if any.
12665        '''
12666        self.scopes = scopes if scopes is not None else ''
12667        '''
12668         Space separated scopes that this login should assume into when authenticating.
12669        '''
12670        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12671        '''
12672         ID of the secret store containing credentials for this resource, if any.
12673        '''
12674        self.session_expiry = session_expiry if session_expiry is not None else 0
12675        '''
12676         The length of time in seconds console sessions will live before needing to reauthenticate.
12677        '''
12678        self.subdomain = subdomain if subdomain is not None else ''
12679        '''
12680         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12681        '''
12682        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12683        '''
12684         Tags is a map of key, value pairs.
12685        '''
12686        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12687        '''
12688         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12689        '''
12690        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12691        '''
12692         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12693        '''
12694
12695    def __repr__(self):
12696        return '<sdm.GCPWIF ' + \
12697            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12698            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12699            'healthy: ' + repr(self.healthy) + ' ' +\
12700            'id: ' + repr(self.id) + ' ' +\
12701            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12702            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12703            'name: ' + repr(self.name) + ' ' +\
12704            'port_override: ' + repr(self.port_override) + ' ' +\
12705            'project_id: ' + repr(self.project_id) + ' ' +\
12706            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12707            'scopes: ' + repr(self.scopes) + ' ' +\
12708            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12709            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12710            'subdomain: ' + repr(self.subdomain) + ' ' +\
12711            'tags: ' + repr(self.tags) + ' ' +\
12712            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12713            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12714            '>'
12715
12716    def to_dict(self):
12717        return {
12718            'bind_interface': self.bind_interface,
12719            'egress_filter': self.egress_filter,
12720            'healthy': self.healthy,
12721            'id': self.id,
12722            'identity_alias_healthcheck_username':
12723            self.identity_alias_healthcheck_username,
12724            'identity_set_id': self.identity_set_id,
12725            'name': self.name,
12726            'port_override': self.port_override,
12727            'project_id': self.project_id,
12728            'proxy_cluster_id': self.proxy_cluster_id,
12729            'scopes': self.scopes,
12730            'secret_store_id': self.secret_store_id,
12731            'session_expiry': self.session_expiry,
12732            'subdomain': self.subdomain,
12733            'tags': self.tags,
12734            'workforce_pool_id': self.workforce_pool_id,
12735            'workforce_provider_id': self.workforce_provider_id,
12736        }
12737
12738    @classmethod
12739    def from_dict(cls, d):
12740        return cls(
12741            bind_interface=d.get('bind_interface'),
12742            egress_filter=d.get('egress_filter'),
12743            healthy=d.get('healthy'),
12744            id=d.get('id'),
12745            identity_alias_healthcheck_username=d.get(
12746                'identity_alias_healthcheck_username'),
12747            identity_set_id=d.get('identity_set_id'),
12748            name=d.get('name'),
12749            port_override=d.get('port_override'),
12750            project_id=d.get('project_id'),
12751            proxy_cluster_id=d.get('proxy_cluster_id'),
12752            scopes=d.get('scopes'),
12753            secret_store_id=d.get('secret_store_id'),
12754            session_expiry=d.get('session_expiry'),
12755            subdomain=d.get('subdomain'),
12756            tags=d.get('tags'),
12757            workforce_pool_id=d.get('workforce_pool_id'),
12758            workforce_provider_id=d.get('workforce_provider_id'),
12759        )
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)
12606    def __init__(
12607        self,
12608        bind_interface=None,
12609        egress_filter=None,
12610        healthy=None,
12611        id=None,
12612        identity_alias_healthcheck_username=None,
12613        identity_set_id=None,
12614        name=None,
12615        port_override=None,
12616        project_id=None,
12617        proxy_cluster_id=None,
12618        scopes=None,
12619        secret_store_id=None,
12620        session_expiry=None,
12621        subdomain=None,
12622        tags=None,
12623        workforce_pool_id=None,
12624        workforce_provider_id=None,
12625    ):
12626        self.bind_interface = bind_interface if bind_interface is not None else ''
12627        '''
12628         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12629        '''
12630        self.egress_filter = egress_filter if egress_filter is not None else ''
12631        '''
12632         A filter applied to the routing logic to pin datasource to nodes.
12633        '''
12634        self.healthy = healthy if healthy is not None else False
12635        '''
12636         True if the datasource is reachable and the credentials are valid.
12637        '''
12638        self.id = id if id is not None else ''
12639        '''
12640         Unique identifier of the Resource.
12641        '''
12642        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12643        '''
12644         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12645        '''
12646        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12647        '''
12648         The ID of the identity set to use for identity connections.
12649        '''
12650        self.name = name if name is not None else ''
12651        '''
12652         Unique human-readable name of the Resource.
12653        '''
12654        self.port_override = port_override if port_override is not None else 0
12655        '''
12656         The local port used by clients to connect to this resource.
12657        '''
12658        self.project_id = project_id if project_id is not None else ''
12659        '''
12660         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12661        '''
12662        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12663        '''
12664         ID of the proxy cluster for this resource, if any.
12665        '''
12666        self.scopes = scopes if scopes is not None else ''
12667        '''
12668         Space separated scopes that this login should assume into when authenticating.
12669        '''
12670        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12671        '''
12672         ID of the secret store containing credentials for this resource, if any.
12673        '''
12674        self.session_expiry = session_expiry if session_expiry is not None else 0
12675        '''
12676         The length of time in seconds console sessions will live before needing to reauthenticate.
12677        '''
12678        self.subdomain = subdomain if subdomain is not None else ''
12679        '''
12680         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12681        '''
12682        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12683        '''
12684         Tags is a map of key, value pairs.
12685        '''
12686        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12687        '''
12688         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12689        '''
12690        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12691        '''
12692         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12693        '''
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.

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.

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

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)
12716    def to_dict(self):
12717        return {
12718            'bind_interface': self.bind_interface,
12719            'egress_filter': self.egress_filter,
12720            'healthy': self.healthy,
12721            'id': self.id,
12722            'identity_alias_healthcheck_username':
12723            self.identity_alias_healthcheck_username,
12724            'identity_set_id': self.identity_set_id,
12725            'name': self.name,
12726            'port_override': self.port_override,
12727            'project_id': self.project_id,
12728            'proxy_cluster_id': self.proxy_cluster_id,
12729            'scopes': self.scopes,
12730            'secret_store_id': self.secret_store_id,
12731            'session_expiry': self.session_expiry,
12732            'subdomain': self.subdomain,
12733            'tags': self.tags,
12734            'workforce_pool_id': self.workforce_pool_id,
12735            'workforce_provider_id': self.workforce_provider_id,
12736        }
@classmethod
def from_dict(cls, d)
12738    @classmethod
12739    def from_dict(cls, d):
12740        return cls(
12741            bind_interface=d.get('bind_interface'),
12742            egress_filter=d.get('egress_filter'),
12743            healthy=d.get('healthy'),
12744            id=d.get('id'),
12745            identity_alias_healthcheck_username=d.get(
12746                'identity_alias_healthcheck_username'),
12747            identity_set_id=d.get('identity_set_id'),
12748            name=d.get('name'),
12749            port_override=d.get('port_override'),
12750            project_id=d.get('project_id'),
12751            proxy_cluster_id=d.get('proxy_cluster_id'),
12752            scopes=d.get('scopes'),
12753            secret_store_id=d.get('secret_store_id'),
12754            session_expiry=d.get('session_expiry'),
12755            subdomain=d.get('subdomain'),
12756            tags=d.get('tags'),
12757            workforce_pool_id=d.get('workforce_pool_id'),
12758            workforce_provider_id=d.get('workforce_provider_id'),
12759        )
class Gateway:
12762class Gateway:
12763    '''
12764         Gateway represents a StrongDM CLI installation running in gateway mode.
12765    '''
12766    __slots__ = [
12767        'bind_address',
12768        'device',
12769        'gateway_filter',
12770        'id',
12771        'listen_address',
12772        'location',
12773        'maintenance_windows',
12774        'name',
12775        'state',
12776        'tags',
12777        'version',
12778    ]
12779
12780    def __init__(
12781        self,
12782        bind_address=None,
12783        device=None,
12784        gateway_filter=None,
12785        id=None,
12786        listen_address=None,
12787        location=None,
12788        maintenance_windows=None,
12789        name=None,
12790        state=None,
12791        tags=None,
12792        version=None,
12793    ):
12794        self.bind_address = bind_address if bind_address is not None else ''
12795        '''
12796         The hostname/port tuple which the gateway daemon will bind to.
12797         If not provided on create, set to "0.0.0.0:listen_address_port".
12798        '''
12799        self.device = device if device is not None else ''
12800        '''
12801         Device is a read only device name uploaded by the gateway process when
12802         it comes online.
12803        '''
12804        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12805        '''
12806         GatewayFilter can be used to restrict the peering between relays and
12807         gateways. Deprecated.
12808        '''
12809        self.id = id if id is not None else ''
12810        '''
12811         Unique identifier of the Gateway.
12812        '''
12813        self.listen_address = listen_address if listen_address is not None else ''
12814        '''
12815         The public hostname/port tuple at which the gateway will be accessible to clients.
12816        '''
12817        self.location = location if location is not None else ''
12818        '''
12819         Location is a read only network location uploaded by the gateway process
12820         when it comes online.
12821        '''
12822        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12823        '''
12824         Maintenance Windows define when this node is allowed to restart. If a node
12825         is requested to restart, it will check each window to determine if any of
12826         them permit it to restart, and if any do, it will. This check is repeated
12827         per window until the restart is successfully completed.
12828         
12829         If not set here, may be set on the command line or via an environment variable
12830         on the process itself; any server setting will take precedence over local
12831         settings. This setting is ineffective for nodes below version 38.44.0.
12832         
12833         If this setting is not applied via this remote configuration or via local
12834         configuration, the default setting is used: always allow restarts if serving
12835         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12836        '''
12837        self.name = name if name is not None else ''
12838        '''
12839         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.
12840        '''
12841        self.state = state if state is not None else ''
12842        '''
12843         The current state of the gateway. One of: "new", "verifying_restart",
12844         "restarting", "started", "stopped", "dead", "unknown"
12845        '''
12846        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12847        '''
12848         Tags is a map of key, value pairs.
12849        '''
12850        self.version = version if version is not None else ''
12851        '''
12852         Version is a read only sdm binary version uploaded by the gateway process
12853         when it comes online.
12854        '''
12855
12856    def __repr__(self):
12857        return '<sdm.Gateway ' + \
12858            'bind_address: ' + repr(self.bind_address) + ' ' +\
12859            'device: ' + repr(self.device) + ' ' +\
12860            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12861            'id: ' + repr(self.id) + ' ' +\
12862            'listen_address: ' + repr(self.listen_address) + ' ' +\
12863            'location: ' + repr(self.location) + ' ' +\
12864            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12865            'name: ' + repr(self.name) + ' ' +\
12866            'state: ' + repr(self.state) + ' ' +\
12867            'tags: ' + repr(self.tags) + ' ' +\
12868            'version: ' + repr(self.version) + ' ' +\
12869            '>'
12870
12871    def to_dict(self):
12872        return {
12873            'bind_address': self.bind_address,
12874            'device': self.device,
12875            'gateway_filter': self.gateway_filter,
12876            'id': self.id,
12877            'listen_address': self.listen_address,
12878            'location': self.location,
12879            'maintenance_windows': self.maintenance_windows,
12880            'name': self.name,
12881            'state': self.state,
12882            'tags': self.tags,
12883            'version': self.version,
12884        }
12885
12886    @classmethod
12887    def from_dict(cls, d):
12888        return cls(
12889            bind_address=d.get('bind_address'),
12890            device=d.get('device'),
12891            gateway_filter=d.get('gateway_filter'),
12892            id=d.get('id'),
12893            listen_address=d.get('listen_address'),
12894            location=d.get('location'),
12895            maintenance_windows=d.get('maintenance_windows'),
12896            name=d.get('name'),
12897            state=d.get('state'),
12898            tags=d.get('tags'),
12899            version=d.get('version'),
12900        )

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)
12780    def __init__(
12781        self,
12782        bind_address=None,
12783        device=None,
12784        gateway_filter=None,
12785        id=None,
12786        listen_address=None,
12787        location=None,
12788        maintenance_windows=None,
12789        name=None,
12790        state=None,
12791        tags=None,
12792        version=None,
12793    ):
12794        self.bind_address = bind_address if bind_address is not None else ''
12795        '''
12796         The hostname/port tuple which the gateway daemon will bind to.
12797         If not provided on create, set to "0.0.0.0:listen_address_port".
12798        '''
12799        self.device = device if device is not None else ''
12800        '''
12801         Device is a read only device name uploaded by the gateway process when
12802         it comes online.
12803        '''
12804        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12805        '''
12806         GatewayFilter can be used to restrict the peering between relays and
12807         gateways. Deprecated.
12808        '''
12809        self.id = id if id is not None else ''
12810        '''
12811         Unique identifier of the Gateway.
12812        '''
12813        self.listen_address = listen_address if listen_address is not None else ''
12814        '''
12815         The public hostname/port tuple at which the gateway will be accessible to clients.
12816        '''
12817        self.location = location if location is not None else ''
12818        '''
12819         Location is a read only network location uploaded by the gateway process
12820         when it comes online.
12821        '''
12822        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12823        '''
12824         Maintenance Windows define when this node is allowed to restart. If a node
12825         is requested to restart, it will check each window to determine if any of
12826         them permit it to restart, and if any do, it will. This check is repeated
12827         per window until the restart is successfully completed.
12828         
12829         If not set here, may be set on the command line or via an environment variable
12830         on the process itself; any server setting will take precedence over local
12831         settings. This setting is ineffective for nodes below version 38.44.0.
12832         
12833         If this setting is not applied via this remote configuration or via local
12834         configuration, the default setting is used: always allow restarts if serving
12835         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12836        '''
12837        self.name = name if name is not None else ''
12838        '''
12839         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.
12840        '''
12841        self.state = state if state is not None else ''
12842        '''
12843         The current state of the gateway. One of: "new", "verifying_restart",
12844         "restarting", "started", "stopped", "dead", "unknown"
12845        '''
12846        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12847        '''
12848         Tags is a map of key, value pairs.
12849        '''
12850        self.version = version if version is not None else ''
12851        '''
12852         Version is a read only sdm binary version uploaded by the gateway process
12853         when it comes online.
12854        '''
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)
12871    def to_dict(self):
12872        return {
12873            'bind_address': self.bind_address,
12874            'device': self.device,
12875            'gateway_filter': self.gateway_filter,
12876            'id': self.id,
12877            'listen_address': self.listen_address,
12878            'location': self.location,
12879            'maintenance_windows': self.maintenance_windows,
12880            'name': self.name,
12881            'state': self.state,
12882            'tags': self.tags,
12883            'version': self.version,
12884        }
@classmethod
def from_dict(cls, d)
12886    @classmethod
12887    def from_dict(cls, d):
12888        return cls(
12889            bind_address=d.get('bind_address'),
12890            device=d.get('device'),
12891            gateway_filter=d.get('gateway_filter'),
12892            id=d.get('id'),
12893            listen_address=d.get('listen_address'),
12894            location=d.get('location'),
12895            maintenance_windows=d.get('maintenance_windows'),
12896            name=d.get('name'),
12897            state=d.get('state'),
12898            tags=d.get('tags'),
12899            version=d.get('version'),
12900        )
class GenerateKeysRequest:
12903class GenerateKeysRequest:
12904    __slots__ = [
12905        'secret_engine_id',
12906    ]
12907
12908    def __init__(
12909        self,
12910        secret_engine_id=None,
12911    ):
12912        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12913        '''
12914         required
12915        '''
12916
12917    def __repr__(self):
12918        return '<sdm.GenerateKeysRequest ' + \
12919            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12920            '>'
12921
12922    def to_dict(self):
12923        return {
12924            'secret_engine_id': self.secret_engine_id,
12925        }
12926
12927    @classmethod
12928    def from_dict(cls, d):
12929        return cls(secret_engine_id=d.get('secret_engine_id'), )
GenerateKeysRequest(secret_engine_id=None)
12908    def __init__(
12909        self,
12910        secret_engine_id=None,
12911    ):
12912        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12913        '''
12914         required
12915        '''
secret_engine_id

required

def to_dict(self)
12922    def to_dict(self):
12923        return {
12924            'secret_engine_id': self.secret_engine_id,
12925        }
@classmethod
def from_dict(cls, d)
12927    @classmethod
12928    def from_dict(cls, d):
12929        return cls(secret_engine_id=d.get('secret_engine_id'), )
class GenerateKeysResponse:
12932class GenerateKeysResponse:
12933    __slots__ = [
12934        'rate_limit',
12935    ]
12936
12937    def __init__(
12938        self,
12939        rate_limit=None,
12940    ):
12941        self.rate_limit = rate_limit if rate_limit is not None else None
12942        '''
12943         Rate limit information.
12944        '''
12945
12946    def __repr__(self):
12947        return '<sdm.GenerateKeysResponse ' + \
12948            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12949            '>'
12950
12951    def to_dict(self):
12952        return {
12953            'rate_limit': self.rate_limit,
12954        }
12955
12956    @classmethod
12957    def from_dict(cls, d):
12958        return cls(rate_limit=d.get('rate_limit'), )
GenerateKeysResponse(rate_limit=None)
12937    def __init__(
12938        self,
12939        rate_limit=None,
12940    ):
12941        self.rate_limit = rate_limit if rate_limit is not None else None
12942        '''
12943         Rate limit information.
12944        '''
rate_limit

Rate limit information.

def to_dict(self)
12951    def to_dict(self):
12952        return {
12953            'rate_limit': self.rate_limit,
12954        }
@classmethod
def from_dict(cls, d)
12956    @classmethod
12957    def from_dict(cls, d):
12958        return cls(rate_limit=d.get('rate_limit'), )
class GenericResponseMetadata:
12961class GenericResponseMetadata:
12962    '''
12963         GenericResponseMetadata contains common headers for generic request
12964     responses.
12965    '''
12966    __slots__ = []
12967
12968    def __init__(self, ):
12969        pass
12970
12971    def __repr__(self):
12972        return '<sdm.GenericResponseMetadata ' + \
12973            '>'
12974
12975    def to_dict(self):
12976        return {}
12977
12978    @classmethod
12979    def from_dict(cls, d):
12980        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
12968    def __init__(self, ):
12969        pass
def to_dict(self)
12975    def to_dict(self):
12976        return {}
@classmethod
def from_dict(cls, d)
12978    @classmethod
12979    def from_dict(cls, d):
12980        return cls()
class GetResponseMetadata:
12983class GetResponseMetadata:
12984    '''
12985         GetResponseMetadata is reserved for future use.
12986    '''
12987    __slots__ = []
12988
12989    def __init__(self, ):
12990        pass
12991
12992    def __repr__(self):
12993        return '<sdm.GetResponseMetadata ' + \
12994            '>'
12995
12996    def to_dict(self):
12997        return {}
12998
12999    @classmethod
13000    def from_dict(cls, d):
13001        return cls()

GetResponseMetadata is reserved for future use.

GetResponseMetadata()
12989    def __init__(self, ):
12990        pass
def to_dict(self)
12996    def to_dict(self):
12997        return {}
@classmethod
def from_dict(cls, d)
12999    @classmethod
13000    def from_dict(cls, d):
13001        return cls()
class GoogleGKE:
13004class GoogleGKE:
13005    __slots__ = [
13006        'allow_resource_role_bypass',
13007        'bind_interface',
13008        'certificate_authority',
13009        'discovery_enabled',
13010        'discovery_username',
13011        'egress_filter',
13012        'endpoint',
13013        'healthcheck_namespace',
13014        'healthy',
13015        'id',
13016        'identity_alias_healthcheck_username',
13017        'identity_set_id',
13018        'name',
13019        'port_override',
13020        'proxy_cluster_id',
13021        'secret_store_id',
13022        'service_account_key',
13023        'subdomain',
13024        'tags',
13025    ]
13026
13027    def __init__(
13028        self,
13029        allow_resource_role_bypass=None,
13030        bind_interface=None,
13031        certificate_authority=None,
13032        discovery_enabled=None,
13033        discovery_username=None,
13034        egress_filter=None,
13035        endpoint=None,
13036        healthcheck_namespace=None,
13037        healthy=None,
13038        id=None,
13039        identity_alias_healthcheck_username=None,
13040        identity_set_id=None,
13041        name=None,
13042        port_override=None,
13043        proxy_cluster_id=None,
13044        secret_store_id=None,
13045        service_account_key=None,
13046        subdomain=None,
13047        tags=None,
13048    ):
13049        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13050        '''
13051         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13052         when a resource role is not provided.
13053        '''
13054        self.bind_interface = bind_interface if bind_interface is not None else ''
13055        '''
13056         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13057        '''
13058        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13059        '''
13060         The CA to authenticate TLS connections with.
13061        '''
13062        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13063        '''
13064         If true, configures discovery of a cluster to be run from a node.
13065        '''
13066        self.discovery_username = discovery_username if discovery_username is not None else ''
13067        '''
13068         If a cluster is configured for user impersonation, this is the user to impersonate when
13069         running discovery.
13070        '''
13071        self.egress_filter = egress_filter if egress_filter is not None else ''
13072        '''
13073         A filter applied to the routing logic to pin datasource to nodes.
13074        '''
13075        self.endpoint = endpoint if endpoint is not None else ''
13076        '''
13077         The endpoint to dial.
13078        '''
13079        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13080        '''
13081         The path used to check the health of your connection.  Defaults to `default`.
13082        '''
13083        self.healthy = healthy if healthy is not None else False
13084        '''
13085         True if the datasource is reachable and the credentials are valid.
13086        '''
13087        self.id = id if id is not None else ''
13088        '''
13089         Unique identifier of the Resource.
13090        '''
13091        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13092        '''
13093         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13094        '''
13095        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13096        '''
13097         The ID of the identity set to use for identity connections.
13098        '''
13099        self.name = name if name is not None else ''
13100        '''
13101         Unique human-readable name of the Resource.
13102        '''
13103        self.port_override = port_override if port_override is not None else 0
13104        '''
13105         The local port used by clients to connect to this resource.
13106        '''
13107        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13108        '''
13109         ID of the proxy cluster for this resource, if any.
13110        '''
13111        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13112        '''
13113         ID of the secret store containing credentials for this resource, if any.
13114        '''
13115        self.service_account_key = service_account_key if service_account_key is not None else ''
13116        '''
13117         The service account key to authenticate with.
13118        '''
13119        self.subdomain = subdomain if subdomain is not None else ''
13120        '''
13121         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13122        '''
13123        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13124        '''
13125         Tags is a map of key, value pairs.
13126        '''
13127
13128    def __repr__(self):
13129        return '<sdm.GoogleGKE ' + \
13130            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13131            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13132            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13133            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13134            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13135            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13136            'endpoint: ' + repr(self.endpoint) + ' ' +\
13137            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13138            'healthy: ' + repr(self.healthy) + ' ' +\
13139            'id: ' + repr(self.id) + ' ' +\
13140            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13141            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13142            'name: ' + repr(self.name) + ' ' +\
13143            'port_override: ' + repr(self.port_override) + ' ' +\
13144            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13145            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13146            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13147            'subdomain: ' + repr(self.subdomain) + ' ' +\
13148            'tags: ' + repr(self.tags) + ' ' +\
13149            '>'
13150
13151    def to_dict(self):
13152        return {
13153            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13154            'bind_interface': self.bind_interface,
13155            'certificate_authority': self.certificate_authority,
13156            'discovery_enabled': self.discovery_enabled,
13157            'discovery_username': self.discovery_username,
13158            'egress_filter': self.egress_filter,
13159            'endpoint': self.endpoint,
13160            'healthcheck_namespace': self.healthcheck_namespace,
13161            'healthy': self.healthy,
13162            'id': self.id,
13163            'identity_alias_healthcheck_username':
13164            self.identity_alias_healthcheck_username,
13165            'identity_set_id': self.identity_set_id,
13166            'name': self.name,
13167            'port_override': self.port_override,
13168            'proxy_cluster_id': self.proxy_cluster_id,
13169            'secret_store_id': self.secret_store_id,
13170            'service_account_key': self.service_account_key,
13171            'subdomain': self.subdomain,
13172            'tags': self.tags,
13173        }
13174
13175    @classmethod
13176    def from_dict(cls, d):
13177        return cls(
13178            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13179            bind_interface=d.get('bind_interface'),
13180            certificate_authority=d.get('certificate_authority'),
13181            discovery_enabled=d.get('discovery_enabled'),
13182            discovery_username=d.get('discovery_username'),
13183            egress_filter=d.get('egress_filter'),
13184            endpoint=d.get('endpoint'),
13185            healthcheck_namespace=d.get('healthcheck_namespace'),
13186            healthy=d.get('healthy'),
13187            id=d.get('id'),
13188            identity_alias_healthcheck_username=d.get(
13189                'identity_alias_healthcheck_username'),
13190            identity_set_id=d.get('identity_set_id'),
13191            name=d.get('name'),
13192            port_override=d.get('port_override'),
13193            proxy_cluster_id=d.get('proxy_cluster_id'),
13194            secret_store_id=d.get('secret_store_id'),
13195            service_account_key=d.get('service_account_key'),
13196            subdomain=d.get('subdomain'),
13197            tags=d.get('tags'),
13198        )
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)
13027    def __init__(
13028        self,
13029        allow_resource_role_bypass=None,
13030        bind_interface=None,
13031        certificate_authority=None,
13032        discovery_enabled=None,
13033        discovery_username=None,
13034        egress_filter=None,
13035        endpoint=None,
13036        healthcheck_namespace=None,
13037        healthy=None,
13038        id=None,
13039        identity_alias_healthcheck_username=None,
13040        identity_set_id=None,
13041        name=None,
13042        port_override=None,
13043        proxy_cluster_id=None,
13044        secret_store_id=None,
13045        service_account_key=None,
13046        subdomain=None,
13047        tags=None,
13048    ):
13049        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13050        '''
13051         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13052         when a resource role is not provided.
13053        '''
13054        self.bind_interface = bind_interface if bind_interface is not None else ''
13055        '''
13056         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13057        '''
13058        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13059        '''
13060         The CA to authenticate TLS connections with.
13061        '''
13062        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13063        '''
13064         If true, configures discovery of a cluster to be run from a node.
13065        '''
13066        self.discovery_username = discovery_username if discovery_username is not None else ''
13067        '''
13068         If a cluster is configured for user impersonation, this is the user to impersonate when
13069         running discovery.
13070        '''
13071        self.egress_filter = egress_filter if egress_filter is not None else ''
13072        '''
13073         A filter applied to the routing logic to pin datasource to nodes.
13074        '''
13075        self.endpoint = endpoint if endpoint is not None else ''
13076        '''
13077         The endpoint to dial.
13078        '''
13079        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13080        '''
13081         The path used to check the health of your connection.  Defaults to `default`.
13082        '''
13083        self.healthy = healthy if healthy is not None else False
13084        '''
13085         True if the datasource is reachable and the credentials are valid.
13086        '''
13087        self.id = id if id is not None else ''
13088        '''
13089         Unique identifier of the Resource.
13090        '''
13091        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13092        '''
13093         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13094        '''
13095        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13096        '''
13097         The ID of the identity set to use for identity connections.
13098        '''
13099        self.name = name if name is not None else ''
13100        '''
13101         Unique human-readable name of the Resource.
13102        '''
13103        self.port_override = port_override if port_override is not None else 0
13104        '''
13105         The local port used by clients to connect to this resource.
13106        '''
13107        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13108        '''
13109         ID of the proxy cluster for this resource, if any.
13110        '''
13111        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13112        '''
13113         ID of the secret store containing credentials for this resource, if any.
13114        '''
13115        self.service_account_key = service_account_key if service_account_key is not None else ''
13116        '''
13117         The service account key to authenticate with.
13118        '''
13119        self.subdomain = subdomain if subdomain is not None else ''
13120        '''
13121         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13122        '''
13123        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13124        '''
13125         Tags is a map of key, value pairs.
13126        '''
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.

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.

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

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.

def to_dict(self)
13151    def to_dict(self):
13152        return {
13153            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13154            'bind_interface': self.bind_interface,
13155            'certificate_authority': self.certificate_authority,
13156            'discovery_enabled': self.discovery_enabled,
13157            'discovery_username': self.discovery_username,
13158            'egress_filter': self.egress_filter,
13159            'endpoint': self.endpoint,
13160            'healthcheck_namespace': self.healthcheck_namespace,
13161            'healthy': self.healthy,
13162            'id': self.id,
13163            'identity_alias_healthcheck_username':
13164            self.identity_alias_healthcheck_username,
13165            'identity_set_id': self.identity_set_id,
13166            'name': self.name,
13167            'port_override': self.port_override,
13168            'proxy_cluster_id': self.proxy_cluster_id,
13169            'secret_store_id': self.secret_store_id,
13170            'service_account_key': self.service_account_key,
13171            'subdomain': self.subdomain,
13172            'tags': self.tags,
13173        }
@classmethod
def from_dict(cls, d)
13175    @classmethod
13176    def from_dict(cls, d):
13177        return cls(
13178            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13179            bind_interface=d.get('bind_interface'),
13180            certificate_authority=d.get('certificate_authority'),
13181            discovery_enabled=d.get('discovery_enabled'),
13182            discovery_username=d.get('discovery_username'),
13183            egress_filter=d.get('egress_filter'),
13184            endpoint=d.get('endpoint'),
13185            healthcheck_namespace=d.get('healthcheck_namespace'),
13186            healthy=d.get('healthy'),
13187            id=d.get('id'),
13188            identity_alias_healthcheck_username=d.get(
13189                'identity_alias_healthcheck_username'),
13190            identity_set_id=d.get('identity_set_id'),
13191            name=d.get('name'),
13192            port_override=d.get('port_override'),
13193            proxy_cluster_id=d.get('proxy_cluster_id'),
13194            secret_store_id=d.get('secret_store_id'),
13195            service_account_key=d.get('service_account_key'),
13196            subdomain=d.get('subdomain'),
13197            tags=d.get('tags'),
13198        )
class GoogleGKEUserImpersonation:
13201class GoogleGKEUserImpersonation:
13202    __slots__ = [
13203        'bind_interface',
13204        'certificate_authority',
13205        'egress_filter',
13206        'endpoint',
13207        'healthcheck_namespace',
13208        'healthy',
13209        'id',
13210        'name',
13211        'port_override',
13212        'proxy_cluster_id',
13213        'secret_store_id',
13214        'service_account_key',
13215        'subdomain',
13216        'tags',
13217    ]
13218
13219    def __init__(
13220        self,
13221        bind_interface=None,
13222        certificate_authority=None,
13223        egress_filter=None,
13224        endpoint=None,
13225        healthcheck_namespace=None,
13226        healthy=None,
13227        id=None,
13228        name=None,
13229        port_override=None,
13230        proxy_cluster_id=None,
13231        secret_store_id=None,
13232        service_account_key=None,
13233        subdomain=None,
13234        tags=None,
13235    ):
13236        self.bind_interface = bind_interface if bind_interface is not None else ''
13237        '''
13238         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13239        '''
13240        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13241        '''
13242         The CA to authenticate TLS connections with.
13243        '''
13244        self.egress_filter = egress_filter if egress_filter is not None else ''
13245        '''
13246         A filter applied to the routing logic to pin datasource to nodes.
13247        '''
13248        self.endpoint = endpoint if endpoint is not None else ''
13249        '''
13250         The endpoint to dial.
13251        '''
13252        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13253        '''
13254         The path used to check the health of your connection.  Defaults to `default`.
13255        '''
13256        self.healthy = healthy if healthy is not None else False
13257        '''
13258         True if the datasource is reachable and the credentials are valid.
13259        '''
13260        self.id = id if id is not None else ''
13261        '''
13262         Unique identifier of the Resource.
13263        '''
13264        self.name = name if name is not None else ''
13265        '''
13266         Unique human-readable name of the Resource.
13267        '''
13268        self.port_override = port_override if port_override is not None else 0
13269        '''
13270         The local port used by clients to connect to this resource.
13271        '''
13272        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13273        '''
13274         ID of the proxy cluster for this resource, if any.
13275        '''
13276        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13277        '''
13278         ID of the secret store containing credentials for this resource, if any.
13279        '''
13280        self.service_account_key = service_account_key if service_account_key is not None else ''
13281        '''
13282         The service account key to authenticate with.
13283        '''
13284        self.subdomain = subdomain if subdomain is not None else ''
13285        '''
13286         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13287        '''
13288        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13289        '''
13290         Tags is a map of key, value pairs.
13291        '''
13292
13293    def __repr__(self):
13294        return '<sdm.GoogleGKEUserImpersonation ' + \
13295            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13296            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13297            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13298            'endpoint: ' + repr(self.endpoint) + ' ' +\
13299            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13300            'healthy: ' + repr(self.healthy) + ' ' +\
13301            'id: ' + repr(self.id) + ' ' +\
13302            'name: ' + repr(self.name) + ' ' +\
13303            'port_override: ' + repr(self.port_override) + ' ' +\
13304            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13305            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13306            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13307            'subdomain: ' + repr(self.subdomain) + ' ' +\
13308            'tags: ' + repr(self.tags) + ' ' +\
13309            '>'
13310
13311    def to_dict(self):
13312        return {
13313            'bind_interface': self.bind_interface,
13314            'certificate_authority': self.certificate_authority,
13315            'egress_filter': self.egress_filter,
13316            'endpoint': self.endpoint,
13317            'healthcheck_namespace': self.healthcheck_namespace,
13318            'healthy': self.healthy,
13319            'id': self.id,
13320            'name': self.name,
13321            'port_override': self.port_override,
13322            'proxy_cluster_id': self.proxy_cluster_id,
13323            'secret_store_id': self.secret_store_id,
13324            'service_account_key': self.service_account_key,
13325            'subdomain': self.subdomain,
13326            'tags': self.tags,
13327        }
13328
13329    @classmethod
13330    def from_dict(cls, d):
13331        return cls(
13332            bind_interface=d.get('bind_interface'),
13333            certificate_authority=d.get('certificate_authority'),
13334            egress_filter=d.get('egress_filter'),
13335            endpoint=d.get('endpoint'),
13336            healthcheck_namespace=d.get('healthcheck_namespace'),
13337            healthy=d.get('healthy'),
13338            id=d.get('id'),
13339            name=d.get('name'),
13340            port_override=d.get('port_override'),
13341            proxy_cluster_id=d.get('proxy_cluster_id'),
13342            secret_store_id=d.get('secret_store_id'),
13343            service_account_key=d.get('service_account_key'),
13344            subdomain=d.get('subdomain'),
13345            tags=d.get('tags'),
13346        )
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)
13219    def __init__(
13220        self,
13221        bind_interface=None,
13222        certificate_authority=None,
13223        egress_filter=None,
13224        endpoint=None,
13225        healthcheck_namespace=None,
13226        healthy=None,
13227        id=None,
13228        name=None,
13229        port_override=None,
13230        proxy_cluster_id=None,
13231        secret_store_id=None,
13232        service_account_key=None,
13233        subdomain=None,
13234        tags=None,
13235    ):
13236        self.bind_interface = bind_interface if bind_interface is not None else ''
13237        '''
13238         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13239        '''
13240        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13241        '''
13242         The CA to authenticate TLS connections with.
13243        '''
13244        self.egress_filter = egress_filter if egress_filter is not None else ''
13245        '''
13246         A filter applied to the routing logic to pin datasource to nodes.
13247        '''
13248        self.endpoint = endpoint if endpoint is not None else ''
13249        '''
13250         The endpoint to dial.
13251        '''
13252        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13253        '''
13254         The path used to check the health of your connection.  Defaults to `default`.
13255        '''
13256        self.healthy = healthy if healthy is not None else False
13257        '''
13258         True if the datasource is reachable and the credentials are valid.
13259        '''
13260        self.id = id if id is not None else ''
13261        '''
13262         Unique identifier of the Resource.
13263        '''
13264        self.name = name if name is not None else ''
13265        '''
13266         Unique human-readable name of the Resource.
13267        '''
13268        self.port_override = port_override if port_override is not None else 0
13269        '''
13270         The local port used by clients to connect to this resource.
13271        '''
13272        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13273        '''
13274         ID of the proxy cluster for this resource, if any.
13275        '''
13276        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13277        '''
13278         ID of the secret store containing credentials for this resource, if any.
13279        '''
13280        self.service_account_key = service_account_key if service_account_key is not None else ''
13281        '''
13282         The service account key to authenticate with.
13283        '''
13284        self.subdomain = subdomain if subdomain is not None else ''
13285        '''
13286         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13287        '''
13288        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13289        '''
13290         Tags is a map of key, value pairs.
13291        '''
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.

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.

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

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.

def to_dict(self)
13311    def to_dict(self):
13312        return {
13313            'bind_interface': self.bind_interface,
13314            'certificate_authority': self.certificate_authority,
13315            'egress_filter': self.egress_filter,
13316            'endpoint': self.endpoint,
13317            'healthcheck_namespace': self.healthcheck_namespace,
13318            'healthy': self.healthy,
13319            'id': self.id,
13320            'name': self.name,
13321            'port_override': self.port_override,
13322            'proxy_cluster_id': self.proxy_cluster_id,
13323            'secret_store_id': self.secret_store_id,
13324            'service_account_key': self.service_account_key,
13325            'subdomain': self.subdomain,
13326            'tags': self.tags,
13327        }
@classmethod
def from_dict(cls, d)
13329    @classmethod
13330    def from_dict(cls, d):
13331        return cls(
13332            bind_interface=d.get('bind_interface'),
13333            certificate_authority=d.get('certificate_authority'),
13334            egress_filter=d.get('egress_filter'),
13335            endpoint=d.get('endpoint'),
13336            healthcheck_namespace=d.get('healthcheck_namespace'),
13337            healthy=d.get('healthy'),
13338            id=d.get('id'),
13339            name=d.get('name'),
13340            port_override=d.get('port_override'),
13341            proxy_cluster_id=d.get('proxy_cluster_id'),
13342            secret_store_id=d.get('secret_store_id'),
13343            service_account_key=d.get('service_account_key'),
13344            subdomain=d.get('subdomain'),
13345            tags=d.get('tags'),
13346        )
class Greenplum:
13349class Greenplum:
13350    __slots__ = [
13351        'bind_interface',
13352        'database',
13353        'egress_filter',
13354        'healthy',
13355        'hostname',
13356        'id',
13357        'name',
13358        'override_database',
13359        'password',
13360        'port',
13361        'port_override',
13362        'proxy_cluster_id',
13363        'secret_store_id',
13364        'subdomain',
13365        'tags',
13366        'username',
13367    ]
13368
13369    def __init__(
13370        self,
13371        bind_interface=None,
13372        database=None,
13373        egress_filter=None,
13374        healthy=None,
13375        hostname=None,
13376        id=None,
13377        name=None,
13378        override_database=None,
13379        password=None,
13380        port=None,
13381        port_override=None,
13382        proxy_cluster_id=None,
13383        secret_store_id=None,
13384        subdomain=None,
13385        tags=None,
13386        username=None,
13387    ):
13388        self.bind_interface = bind_interface if bind_interface is not None else ''
13389        '''
13390         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13391        '''
13392        self.database = database if database is not None else ''
13393        '''
13394         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13395        '''
13396        self.egress_filter = egress_filter if egress_filter is not None else ''
13397        '''
13398         A filter applied to the routing logic to pin datasource to nodes.
13399        '''
13400        self.healthy = healthy if healthy is not None else False
13401        '''
13402         True if the datasource is reachable and the credentials are valid.
13403        '''
13404        self.hostname = hostname if hostname is not None else ''
13405        '''
13406         The host to dial to initiate a connection from the egress node to this resource.
13407        '''
13408        self.id = id if id is not None else ''
13409        '''
13410         Unique identifier of the Resource.
13411        '''
13412        self.name = name if name is not None else ''
13413        '''
13414         Unique human-readable name of the Resource.
13415        '''
13416        self.override_database = override_database if override_database is not None else False
13417        '''
13418         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.
13419        '''
13420        self.password = password if password is not None else ''
13421        '''
13422         The password to authenticate with.
13423        '''
13424        self.port = port if port is not None else 0
13425        '''
13426         The port to dial to initiate a connection from the egress node to this 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.
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.secret_store_id = secret_store_id if secret_store_id is not None else ''
13437        '''
13438         ID of the secret store containing credentials for this resource, if any.
13439        '''
13440        self.subdomain = subdomain if subdomain is not None else ''
13441        '''
13442         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13443        '''
13444        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13445        '''
13446         Tags is a map of key, value pairs.
13447        '''
13448        self.username = username if username is not None else ''
13449        '''
13450         The username to authenticate with.
13451        '''
13452
13453    def __repr__(self):
13454        return '<sdm.Greenplum ' + \
13455            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13456            'database: ' + repr(self.database) + ' ' +\
13457            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13458            'healthy: ' + repr(self.healthy) + ' ' +\
13459            'hostname: ' + repr(self.hostname) + ' ' +\
13460            'id: ' + repr(self.id) + ' ' +\
13461            'name: ' + repr(self.name) + ' ' +\
13462            'override_database: ' + repr(self.override_database) + ' ' +\
13463            'password: ' + repr(self.password) + ' ' +\
13464            'port: ' + repr(self.port) + ' ' +\
13465            'port_override: ' + repr(self.port_override) + ' ' +\
13466            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13467            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13468            'subdomain: ' + repr(self.subdomain) + ' ' +\
13469            'tags: ' + repr(self.tags) + ' ' +\
13470            'username: ' + repr(self.username) + ' ' +\
13471            '>'
13472
13473    def to_dict(self):
13474        return {
13475            'bind_interface': self.bind_interface,
13476            'database': self.database,
13477            'egress_filter': self.egress_filter,
13478            'healthy': self.healthy,
13479            'hostname': self.hostname,
13480            'id': self.id,
13481            'name': self.name,
13482            'override_database': self.override_database,
13483            'password': self.password,
13484            'port': self.port,
13485            'port_override': self.port_override,
13486            'proxy_cluster_id': self.proxy_cluster_id,
13487            'secret_store_id': self.secret_store_id,
13488            'subdomain': self.subdomain,
13489            'tags': self.tags,
13490            'username': self.username,
13491        }
13492
13493    @classmethod
13494    def from_dict(cls, d):
13495        return cls(
13496            bind_interface=d.get('bind_interface'),
13497            database=d.get('database'),
13498            egress_filter=d.get('egress_filter'),
13499            healthy=d.get('healthy'),
13500            hostname=d.get('hostname'),
13501            id=d.get('id'),
13502            name=d.get('name'),
13503            override_database=d.get('override_database'),
13504            password=d.get('password'),
13505            port=d.get('port'),
13506            port_override=d.get('port_override'),
13507            proxy_cluster_id=d.get('proxy_cluster_id'),
13508            secret_store_id=d.get('secret_store_id'),
13509            subdomain=d.get('subdomain'),
13510            tags=d.get('tags'),
13511            username=d.get('username'),
13512        )
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)
13369    def __init__(
13370        self,
13371        bind_interface=None,
13372        database=None,
13373        egress_filter=None,
13374        healthy=None,
13375        hostname=None,
13376        id=None,
13377        name=None,
13378        override_database=None,
13379        password=None,
13380        port=None,
13381        port_override=None,
13382        proxy_cluster_id=None,
13383        secret_store_id=None,
13384        subdomain=None,
13385        tags=None,
13386        username=None,
13387    ):
13388        self.bind_interface = bind_interface if bind_interface is not None else ''
13389        '''
13390         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13391        '''
13392        self.database = database if database is not None else ''
13393        '''
13394         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13395        '''
13396        self.egress_filter = egress_filter if egress_filter is not None else ''
13397        '''
13398         A filter applied to the routing logic to pin datasource to nodes.
13399        '''
13400        self.healthy = healthy if healthy is not None else False
13401        '''
13402         True if the datasource is reachable and the credentials are valid.
13403        '''
13404        self.hostname = hostname if hostname is not None else ''
13405        '''
13406         The host to dial to initiate a connection from the egress node to this resource.
13407        '''
13408        self.id = id if id is not None else ''
13409        '''
13410         Unique identifier of the Resource.
13411        '''
13412        self.name = name if name is not None else ''
13413        '''
13414         Unique human-readable name of the Resource.
13415        '''
13416        self.override_database = override_database if override_database is not None else False
13417        '''
13418         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.
13419        '''
13420        self.password = password if password is not None else ''
13421        '''
13422         The password to authenticate with.
13423        '''
13424        self.port = port if port is not None else 0
13425        '''
13426         The port to dial to initiate a connection from the egress node to this 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.
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.secret_store_id = secret_store_id if secret_store_id is not None else ''
13437        '''
13438         ID of the secret store containing credentials for this resource, if any.
13439        '''
13440        self.subdomain = subdomain if subdomain is not None else ''
13441        '''
13442         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13443        '''
13444        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13445        '''
13446         Tags is a map of key, value pairs.
13447        '''
13448        self.username = username if username is not None else ''
13449        '''
13450         The username to authenticate with.
13451        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
13473    def to_dict(self):
13474        return {
13475            'bind_interface': self.bind_interface,
13476            'database': self.database,
13477            'egress_filter': self.egress_filter,
13478            'healthy': self.healthy,
13479            'hostname': self.hostname,
13480            'id': self.id,
13481            'name': self.name,
13482            'override_database': self.override_database,
13483            'password': self.password,
13484            'port': self.port,
13485            'port_override': self.port_override,
13486            'proxy_cluster_id': self.proxy_cluster_id,
13487            'secret_store_id': self.secret_store_id,
13488            'subdomain': self.subdomain,
13489            'tags': self.tags,
13490            'username': self.username,
13491        }
@classmethod
def from_dict(cls, d)
13493    @classmethod
13494    def from_dict(cls, d):
13495        return cls(
13496            bind_interface=d.get('bind_interface'),
13497            database=d.get('database'),
13498            egress_filter=d.get('egress_filter'),
13499            healthy=d.get('healthy'),
13500            hostname=d.get('hostname'),
13501            id=d.get('id'),
13502            name=d.get('name'),
13503            override_database=d.get('override_database'),
13504            password=d.get('password'),
13505            port=d.get('port'),
13506            port_override=d.get('port_override'),
13507            proxy_cluster_id=d.get('proxy_cluster_id'),
13508            secret_store_id=d.get('secret_store_id'),
13509            subdomain=d.get('subdomain'),
13510            tags=d.get('tags'),
13511            username=d.get('username'),
13512        )
class HTTPAuth:
13515class HTTPAuth:
13516    __slots__ = [
13517        'auth_header',
13518        'bind_interface',
13519        'default_path',
13520        'egress_filter',
13521        'headers_blacklist',
13522        'healthcheck_path',
13523        'healthy',
13524        'host_override',
13525        'id',
13526        'name',
13527        'port_override',
13528        'proxy_cluster_id',
13529        'secret_store_id',
13530        'subdomain',
13531        'tags',
13532        'url',
13533    ]
13534
13535    def __init__(
13536        self,
13537        auth_header=None,
13538        bind_interface=None,
13539        default_path=None,
13540        egress_filter=None,
13541        headers_blacklist=None,
13542        healthcheck_path=None,
13543        healthy=None,
13544        host_override=None,
13545        id=None,
13546        name=None,
13547        port_override=None,
13548        proxy_cluster_id=None,
13549        secret_store_id=None,
13550        subdomain=None,
13551        tags=None,
13552        url=None,
13553    ):
13554        self.auth_header = auth_header if auth_header is not None else ''
13555        '''
13556         The content to set as the authorization header.
13557        '''
13558        self.bind_interface = bind_interface if bind_interface is not None else ''
13559        '''
13560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13561        '''
13562        self.default_path = default_path if default_path is not None else ''
13563        '''
13564         Automatically redirect to this path upon connecting.
13565        '''
13566        self.egress_filter = egress_filter if egress_filter is not None else ''
13567        '''
13568         A filter applied to the routing logic to pin datasource to nodes.
13569        '''
13570        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13571        '''
13572         Header names (e.g. Authorization), to omit from logs.
13573        '''
13574        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13575        '''
13576         This path will be used to check the health of your site.
13577        '''
13578        self.healthy = healthy if healthy is not None else False
13579        '''
13580         True if the datasource is reachable and the credentials are valid.
13581        '''
13582        self.host_override = host_override if host_override is not None else ''
13583        '''
13584         The host header will be overwritten with this field if provided.
13585        '''
13586        self.id = id if id is not None else ''
13587        '''
13588         Unique identifier of the Resource.
13589        '''
13590        self.name = name if name is not None else ''
13591        '''
13592         Unique human-readable name of the Resource.
13593        '''
13594        self.port_override = port_override if port_override is not None else 0
13595        '''
13596         The local port used by clients to connect to this resource.
13597        '''
13598        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13599        '''
13600         ID of the proxy cluster for this resource, if any.
13601        '''
13602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13603        '''
13604         ID of the secret store containing credentials for this resource, if any.
13605        '''
13606        self.subdomain = subdomain if subdomain is not None else ''
13607        '''
13608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13609        '''
13610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13611        '''
13612         Tags is a map of key, value pairs.
13613        '''
13614        self.url = url if url is not None else ''
13615        '''
13616         The base address of your website without the path.
13617        '''
13618
13619    def __repr__(self):
13620        return '<sdm.HTTPAuth ' + \
13621            'auth_header: ' + repr(self.auth_header) + ' ' +\
13622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13623            'default_path: ' + repr(self.default_path) + ' ' +\
13624            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13625            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13626            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13627            'healthy: ' + repr(self.healthy) + ' ' +\
13628            'host_override: ' + repr(self.host_override) + ' ' +\
13629            'id: ' + repr(self.id) + ' ' +\
13630            'name: ' + repr(self.name) + ' ' +\
13631            'port_override: ' + repr(self.port_override) + ' ' +\
13632            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13633            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13634            'subdomain: ' + repr(self.subdomain) + ' ' +\
13635            'tags: ' + repr(self.tags) + ' ' +\
13636            'url: ' + repr(self.url) + ' ' +\
13637            '>'
13638
13639    def to_dict(self):
13640        return {
13641            'auth_header': self.auth_header,
13642            'bind_interface': self.bind_interface,
13643            'default_path': self.default_path,
13644            'egress_filter': self.egress_filter,
13645            'headers_blacklist': self.headers_blacklist,
13646            'healthcheck_path': self.healthcheck_path,
13647            'healthy': self.healthy,
13648            'host_override': self.host_override,
13649            'id': self.id,
13650            'name': self.name,
13651            'port_override': self.port_override,
13652            'proxy_cluster_id': self.proxy_cluster_id,
13653            'secret_store_id': self.secret_store_id,
13654            'subdomain': self.subdomain,
13655            'tags': self.tags,
13656            'url': self.url,
13657        }
13658
13659    @classmethod
13660    def from_dict(cls, d):
13661        return cls(
13662            auth_header=d.get('auth_header'),
13663            bind_interface=d.get('bind_interface'),
13664            default_path=d.get('default_path'),
13665            egress_filter=d.get('egress_filter'),
13666            headers_blacklist=d.get('headers_blacklist'),
13667            healthcheck_path=d.get('healthcheck_path'),
13668            healthy=d.get('healthy'),
13669            host_override=d.get('host_override'),
13670            id=d.get('id'),
13671            name=d.get('name'),
13672            port_override=d.get('port_override'),
13673            proxy_cluster_id=d.get('proxy_cluster_id'),
13674            secret_store_id=d.get('secret_store_id'),
13675            subdomain=d.get('subdomain'),
13676            tags=d.get('tags'),
13677            url=d.get('url'),
13678        )
HTTPAuth( auth_header=None, bind_interface=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, url=None)
13535    def __init__(
13536        self,
13537        auth_header=None,
13538        bind_interface=None,
13539        default_path=None,
13540        egress_filter=None,
13541        headers_blacklist=None,
13542        healthcheck_path=None,
13543        healthy=None,
13544        host_override=None,
13545        id=None,
13546        name=None,
13547        port_override=None,
13548        proxy_cluster_id=None,
13549        secret_store_id=None,
13550        subdomain=None,
13551        tags=None,
13552        url=None,
13553    ):
13554        self.auth_header = auth_header if auth_header is not None else ''
13555        '''
13556         The content to set as the authorization header.
13557        '''
13558        self.bind_interface = bind_interface if bind_interface is not None else ''
13559        '''
13560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13561        '''
13562        self.default_path = default_path if default_path is not None else ''
13563        '''
13564         Automatically redirect to this path upon connecting.
13565        '''
13566        self.egress_filter = egress_filter if egress_filter is not None else ''
13567        '''
13568         A filter applied to the routing logic to pin datasource to nodes.
13569        '''
13570        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13571        '''
13572         Header names (e.g. Authorization), to omit from logs.
13573        '''
13574        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13575        '''
13576         This path will be used to check the health of your site.
13577        '''
13578        self.healthy = healthy if healthy is not None else False
13579        '''
13580         True if the datasource is reachable and the credentials are valid.
13581        '''
13582        self.host_override = host_override if host_override is not None else ''
13583        '''
13584         The host header will be overwritten with this field if provided.
13585        '''
13586        self.id = id if id is not None else ''
13587        '''
13588         Unique identifier of the Resource.
13589        '''
13590        self.name = name if name is not None else ''
13591        '''
13592         Unique human-readable name of the Resource.
13593        '''
13594        self.port_override = port_override if port_override is not None else 0
13595        '''
13596         The local port used by clients to connect to this resource.
13597        '''
13598        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13599        '''
13600         ID of the proxy cluster for this resource, if any.
13601        '''
13602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13603        '''
13604         ID of the secret store containing credentials for this resource, if any.
13605        '''
13606        self.subdomain = subdomain if subdomain is not None else ''
13607        '''
13608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13609        '''
13610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13611        '''
13612         Tags is a map of key, value pairs.
13613        '''
13614        self.url = url if url is not None else ''
13615        '''
13616         The base address of your website without the path.
13617        '''
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.

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.

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.

def to_dict(self)
13639    def to_dict(self):
13640        return {
13641            'auth_header': self.auth_header,
13642            'bind_interface': self.bind_interface,
13643            'default_path': self.default_path,
13644            'egress_filter': self.egress_filter,
13645            'headers_blacklist': self.headers_blacklist,
13646            'healthcheck_path': self.healthcheck_path,
13647            'healthy': self.healthy,
13648            'host_override': self.host_override,
13649            'id': self.id,
13650            'name': self.name,
13651            'port_override': self.port_override,
13652            'proxy_cluster_id': self.proxy_cluster_id,
13653            'secret_store_id': self.secret_store_id,
13654            'subdomain': self.subdomain,
13655            'tags': self.tags,
13656            'url': self.url,
13657        }
@classmethod
def from_dict(cls, d)
13659    @classmethod
13660    def from_dict(cls, d):
13661        return cls(
13662            auth_header=d.get('auth_header'),
13663            bind_interface=d.get('bind_interface'),
13664            default_path=d.get('default_path'),
13665            egress_filter=d.get('egress_filter'),
13666            headers_blacklist=d.get('headers_blacklist'),
13667            healthcheck_path=d.get('healthcheck_path'),
13668            healthy=d.get('healthy'),
13669            host_override=d.get('host_override'),
13670            id=d.get('id'),
13671            name=d.get('name'),
13672            port_override=d.get('port_override'),
13673            proxy_cluster_id=d.get('proxy_cluster_id'),
13674            secret_store_id=d.get('secret_store_id'),
13675            subdomain=d.get('subdomain'),
13676            tags=d.get('tags'),
13677            url=d.get('url'),
13678        )
class HTTPBasicAuth:
13681class HTTPBasicAuth:
13682    __slots__ = [
13683        'bind_interface',
13684        'default_path',
13685        'egress_filter',
13686        'headers_blacklist',
13687        'healthcheck_path',
13688        'healthy',
13689        'host_override',
13690        'id',
13691        'name',
13692        'password',
13693        'port_override',
13694        'proxy_cluster_id',
13695        'secret_store_id',
13696        'subdomain',
13697        'tags',
13698        'url',
13699        'username',
13700    ]
13701
13702    def __init__(
13703        self,
13704        bind_interface=None,
13705        default_path=None,
13706        egress_filter=None,
13707        headers_blacklist=None,
13708        healthcheck_path=None,
13709        healthy=None,
13710        host_override=None,
13711        id=None,
13712        name=None,
13713        password=None,
13714        port_override=None,
13715        proxy_cluster_id=None,
13716        secret_store_id=None,
13717        subdomain=None,
13718        tags=None,
13719        url=None,
13720        username=None,
13721    ):
13722        self.bind_interface = bind_interface if bind_interface is not None else ''
13723        '''
13724         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13725        '''
13726        self.default_path = default_path if default_path is not None else ''
13727        '''
13728         Automatically redirect to this path upon connecting.
13729        '''
13730        self.egress_filter = egress_filter if egress_filter is not None else ''
13731        '''
13732         A filter applied to the routing logic to pin datasource to nodes.
13733        '''
13734        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13735        '''
13736         Header names (e.g. Authorization), to omit from logs.
13737        '''
13738        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13739        '''
13740         This path will be used to check the health of your site.
13741        '''
13742        self.healthy = healthy if healthy is not None else False
13743        '''
13744         True if the datasource is reachable and the credentials are valid.
13745        '''
13746        self.host_override = host_override if host_override is not None else ''
13747        '''
13748         The host header will be overwritten with this field if provided.
13749        '''
13750        self.id = id if id is not None else ''
13751        '''
13752         Unique identifier of the Resource.
13753        '''
13754        self.name = name if name is not None else ''
13755        '''
13756         Unique human-readable name of the Resource.
13757        '''
13758        self.password = password if password is not None else ''
13759        '''
13760         The password to authenticate with.
13761        '''
13762        self.port_override = port_override if port_override is not None else 0
13763        '''
13764         The local port used by clients to connect to this resource.
13765        '''
13766        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13767        '''
13768         ID of the proxy cluster for this resource, if any.
13769        '''
13770        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13771        '''
13772         ID of the secret store containing credentials for this resource, if any.
13773        '''
13774        self.subdomain = subdomain if subdomain is not None else ''
13775        '''
13776         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13777        '''
13778        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13779        '''
13780         Tags is a map of key, value pairs.
13781        '''
13782        self.url = url if url is not None else ''
13783        '''
13784         The base address of your website without the path.
13785        '''
13786        self.username = username if username is not None else ''
13787        '''
13788         The username to authenticate with.
13789        '''
13790
13791    def __repr__(self):
13792        return '<sdm.HTTPBasicAuth ' + \
13793            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13794            'default_path: ' + repr(self.default_path) + ' ' +\
13795            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13796            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13797            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13798            'healthy: ' + repr(self.healthy) + ' ' +\
13799            'host_override: ' + repr(self.host_override) + ' ' +\
13800            'id: ' + repr(self.id) + ' ' +\
13801            'name: ' + repr(self.name) + ' ' +\
13802            'password: ' + repr(self.password) + ' ' +\
13803            'port_override: ' + repr(self.port_override) + ' ' +\
13804            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13805            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13806            'subdomain: ' + repr(self.subdomain) + ' ' +\
13807            'tags: ' + repr(self.tags) + ' ' +\
13808            'url: ' + repr(self.url) + ' ' +\
13809            'username: ' + repr(self.username) + ' ' +\
13810            '>'
13811
13812    def to_dict(self):
13813        return {
13814            'bind_interface': self.bind_interface,
13815            'default_path': self.default_path,
13816            'egress_filter': self.egress_filter,
13817            'headers_blacklist': self.headers_blacklist,
13818            'healthcheck_path': self.healthcheck_path,
13819            'healthy': self.healthy,
13820            'host_override': self.host_override,
13821            'id': self.id,
13822            'name': self.name,
13823            'password': self.password,
13824            'port_override': self.port_override,
13825            'proxy_cluster_id': self.proxy_cluster_id,
13826            'secret_store_id': self.secret_store_id,
13827            'subdomain': self.subdomain,
13828            'tags': self.tags,
13829            'url': self.url,
13830            'username': self.username,
13831        }
13832
13833    @classmethod
13834    def from_dict(cls, d):
13835        return cls(
13836            bind_interface=d.get('bind_interface'),
13837            default_path=d.get('default_path'),
13838            egress_filter=d.get('egress_filter'),
13839            headers_blacklist=d.get('headers_blacklist'),
13840            healthcheck_path=d.get('healthcheck_path'),
13841            healthy=d.get('healthy'),
13842            host_override=d.get('host_override'),
13843            id=d.get('id'),
13844            name=d.get('name'),
13845            password=d.get('password'),
13846            port_override=d.get('port_override'),
13847            proxy_cluster_id=d.get('proxy_cluster_id'),
13848            secret_store_id=d.get('secret_store_id'),
13849            subdomain=d.get('subdomain'),
13850            tags=d.get('tags'),
13851            url=d.get('url'),
13852            username=d.get('username'),
13853        )
HTTPBasicAuth( bind_interface=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, url=None, username=None)
13702    def __init__(
13703        self,
13704        bind_interface=None,
13705        default_path=None,
13706        egress_filter=None,
13707        headers_blacklist=None,
13708        healthcheck_path=None,
13709        healthy=None,
13710        host_override=None,
13711        id=None,
13712        name=None,
13713        password=None,
13714        port_override=None,
13715        proxy_cluster_id=None,
13716        secret_store_id=None,
13717        subdomain=None,
13718        tags=None,
13719        url=None,
13720        username=None,
13721    ):
13722        self.bind_interface = bind_interface if bind_interface is not None else ''
13723        '''
13724         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13725        '''
13726        self.default_path = default_path if default_path is not None else ''
13727        '''
13728         Automatically redirect to this path upon connecting.
13729        '''
13730        self.egress_filter = egress_filter if egress_filter is not None else ''
13731        '''
13732         A filter applied to the routing logic to pin datasource to nodes.
13733        '''
13734        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13735        '''
13736         Header names (e.g. Authorization), to omit from logs.
13737        '''
13738        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13739        '''
13740         This path will be used to check the health of your site.
13741        '''
13742        self.healthy = healthy if healthy is not None else False
13743        '''
13744         True if the datasource is reachable and the credentials are valid.
13745        '''
13746        self.host_override = host_override if host_override is not None else ''
13747        '''
13748         The host header will be overwritten with this field if provided.
13749        '''
13750        self.id = id if id is not None else ''
13751        '''
13752         Unique identifier of the Resource.
13753        '''
13754        self.name = name if name is not None else ''
13755        '''
13756         Unique human-readable name of the Resource.
13757        '''
13758        self.password = password if password is not None else ''
13759        '''
13760         The password to authenticate with.
13761        '''
13762        self.port_override = port_override if port_override is not None else 0
13763        '''
13764         The local port used by clients to connect to this resource.
13765        '''
13766        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13767        '''
13768         ID of the proxy cluster for this resource, if any.
13769        '''
13770        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13771        '''
13772         ID of the secret store containing credentials for this resource, if any.
13773        '''
13774        self.subdomain = subdomain if subdomain is not None else ''
13775        '''
13776         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13777        '''
13778        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13779        '''
13780         Tags is a map of key, value pairs.
13781        '''
13782        self.url = url if url is not None else ''
13783        '''
13784         The base address of your website without the path.
13785        '''
13786        self.username = username if username is not None else ''
13787        '''
13788         The username to authenticate with.
13789        '''
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.

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.

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)
13812    def to_dict(self):
13813        return {
13814            'bind_interface': self.bind_interface,
13815            'default_path': self.default_path,
13816            'egress_filter': self.egress_filter,
13817            'headers_blacklist': self.headers_blacklist,
13818            'healthcheck_path': self.healthcheck_path,
13819            'healthy': self.healthy,
13820            'host_override': self.host_override,
13821            'id': self.id,
13822            'name': self.name,
13823            'password': self.password,
13824            'port_override': self.port_override,
13825            'proxy_cluster_id': self.proxy_cluster_id,
13826            'secret_store_id': self.secret_store_id,
13827            'subdomain': self.subdomain,
13828            'tags': self.tags,
13829            'url': self.url,
13830            'username': self.username,
13831        }
@classmethod
def from_dict(cls, d)
13833    @classmethod
13834    def from_dict(cls, d):
13835        return cls(
13836            bind_interface=d.get('bind_interface'),
13837            default_path=d.get('default_path'),
13838            egress_filter=d.get('egress_filter'),
13839            headers_blacklist=d.get('headers_blacklist'),
13840            healthcheck_path=d.get('healthcheck_path'),
13841            healthy=d.get('healthy'),
13842            host_override=d.get('host_override'),
13843            id=d.get('id'),
13844            name=d.get('name'),
13845            password=d.get('password'),
13846            port_override=d.get('port_override'),
13847            proxy_cluster_id=d.get('proxy_cluster_id'),
13848            secret_store_id=d.get('secret_store_id'),
13849            subdomain=d.get('subdomain'),
13850            tags=d.get('tags'),
13851            url=d.get('url'),
13852            username=d.get('username'),
13853        )
class HTTPNoAuth:
13856class HTTPNoAuth:
13857    __slots__ = [
13858        'bind_interface',
13859        'default_path',
13860        'egress_filter',
13861        'headers_blacklist',
13862        'healthcheck_path',
13863        'healthy',
13864        'host_override',
13865        'id',
13866        'name',
13867        'port_override',
13868        'proxy_cluster_id',
13869        'secret_store_id',
13870        'subdomain',
13871        'tags',
13872        'url',
13873    ]
13874
13875    def __init__(
13876        self,
13877        bind_interface=None,
13878        default_path=None,
13879        egress_filter=None,
13880        headers_blacklist=None,
13881        healthcheck_path=None,
13882        healthy=None,
13883        host_override=None,
13884        id=None,
13885        name=None,
13886        port_override=None,
13887        proxy_cluster_id=None,
13888        secret_store_id=None,
13889        subdomain=None,
13890        tags=None,
13891        url=None,
13892    ):
13893        self.bind_interface = bind_interface if bind_interface is not None else ''
13894        '''
13895         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13896        '''
13897        self.default_path = default_path if default_path is not None else ''
13898        '''
13899         Automatically redirect to this path upon connecting.
13900        '''
13901        self.egress_filter = egress_filter if egress_filter is not None else ''
13902        '''
13903         A filter applied to the routing logic to pin datasource to nodes.
13904        '''
13905        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13906        '''
13907         Header names (e.g. Authorization), to omit from logs.
13908        '''
13909        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13910        '''
13911         This path will be used to check the health of your site.
13912        '''
13913        self.healthy = healthy if healthy is not None else False
13914        '''
13915         True if the datasource is reachable and the credentials are valid.
13916        '''
13917        self.host_override = host_override if host_override is not None else ''
13918        '''
13919         The host header will be overwritten with this field if provided.
13920        '''
13921        self.id = id if id is not None else ''
13922        '''
13923         Unique identifier of the Resource.
13924        '''
13925        self.name = name if name is not None else ''
13926        '''
13927         Unique human-readable name of the Resource.
13928        '''
13929        self.port_override = port_override if port_override is not None else 0
13930        '''
13931         The local port used by clients to connect to this resource.
13932        '''
13933        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13934        '''
13935         ID of the proxy cluster for this resource, if any.
13936        '''
13937        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13938        '''
13939         ID of the secret store containing credentials for this resource, if any.
13940        '''
13941        self.subdomain = subdomain if subdomain is not None else ''
13942        '''
13943         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13944        '''
13945        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13946        '''
13947         Tags is a map of key, value pairs.
13948        '''
13949        self.url = url if url is not None else ''
13950        '''
13951         The base address of your website without the path.
13952        '''
13953
13954    def __repr__(self):
13955        return '<sdm.HTTPNoAuth ' + \
13956            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13957            'default_path: ' + repr(self.default_path) + ' ' +\
13958            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13959            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13960            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13961            'healthy: ' + repr(self.healthy) + ' ' +\
13962            'host_override: ' + repr(self.host_override) + ' ' +\
13963            'id: ' + repr(self.id) + ' ' +\
13964            'name: ' + repr(self.name) + ' ' +\
13965            'port_override: ' + repr(self.port_override) + ' ' +\
13966            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13967            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13968            'subdomain: ' + repr(self.subdomain) + ' ' +\
13969            'tags: ' + repr(self.tags) + ' ' +\
13970            'url: ' + repr(self.url) + ' ' +\
13971            '>'
13972
13973    def to_dict(self):
13974        return {
13975            'bind_interface': self.bind_interface,
13976            'default_path': self.default_path,
13977            'egress_filter': self.egress_filter,
13978            'headers_blacklist': self.headers_blacklist,
13979            'healthcheck_path': self.healthcheck_path,
13980            'healthy': self.healthy,
13981            'host_override': self.host_override,
13982            'id': self.id,
13983            'name': self.name,
13984            'port_override': self.port_override,
13985            'proxy_cluster_id': self.proxy_cluster_id,
13986            'secret_store_id': self.secret_store_id,
13987            'subdomain': self.subdomain,
13988            'tags': self.tags,
13989            'url': self.url,
13990        }
13991
13992    @classmethod
13993    def from_dict(cls, d):
13994        return cls(
13995            bind_interface=d.get('bind_interface'),
13996            default_path=d.get('default_path'),
13997            egress_filter=d.get('egress_filter'),
13998            headers_blacklist=d.get('headers_blacklist'),
13999            healthcheck_path=d.get('healthcheck_path'),
14000            healthy=d.get('healthy'),
14001            host_override=d.get('host_override'),
14002            id=d.get('id'),
14003            name=d.get('name'),
14004            port_override=d.get('port_override'),
14005            proxy_cluster_id=d.get('proxy_cluster_id'),
14006            secret_store_id=d.get('secret_store_id'),
14007            subdomain=d.get('subdomain'),
14008            tags=d.get('tags'),
14009            url=d.get('url'),
14010        )
HTTPNoAuth( bind_interface=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, url=None)
13875    def __init__(
13876        self,
13877        bind_interface=None,
13878        default_path=None,
13879        egress_filter=None,
13880        headers_blacklist=None,
13881        healthcheck_path=None,
13882        healthy=None,
13883        host_override=None,
13884        id=None,
13885        name=None,
13886        port_override=None,
13887        proxy_cluster_id=None,
13888        secret_store_id=None,
13889        subdomain=None,
13890        tags=None,
13891        url=None,
13892    ):
13893        self.bind_interface = bind_interface if bind_interface is not None else ''
13894        '''
13895         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13896        '''
13897        self.default_path = default_path if default_path is not None else ''
13898        '''
13899         Automatically redirect to this path upon connecting.
13900        '''
13901        self.egress_filter = egress_filter if egress_filter is not None else ''
13902        '''
13903         A filter applied to the routing logic to pin datasource to nodes.
13904        '''
13905        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13906        '''
13907         Header names (e.g. Authorization), to omit from logs.
13908        '''
13909        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13910        '''
13911         This path will be used to check the health of your site.
13912        '''
13913        self.healthy = healthy if healthy is not None else False
13914        '''
13915         True if the datasource is reachable and the credentials are valid.
13916        '''
13917        self.host_override = host_override if host_override is not None else ''
13918        '''
13919         The host header will be overwritten with this field if provided.
13920        '''
13921        self.id = id if id is not None else ''
13922        '''
13923         Unique identifier of the Resource.
13924        '''
13925        self.name = name if name is not None else ''
13926        '''
13927         Unique human-readable name of the Resource.
13928        '''
13929        self.port_override = port_override if port_override is not None else 0
13930        '''
13931         The local port used by clients to connect to this resource.
13932        '''
13933        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13934        '''
13935         ID of the proxy cluster for this resource, if any.
13936        '''
13937        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13938        '''
13939         ID of the secret store containing credentials for this resource, if any.
13940        '''
13941        self.subdomain = subdomain if subdomain is not None else ''
13942        '''
13943         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13944        '''
13945        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13946        '''
13947         Tags is a map of key, value pairs.
13948        '''
13949        self.url = url if url is not None else ''
13950        '''
13951         The base address of your website without the path.
13952        '''
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.

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.

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.

def to_dict(self)
13973    def to_dict(self):
13974        return {
13975            'bind_interface': self.bind_interface,
13976            'default_path': self.default_path,
13977            'egress_filter': self.egress_filter,
13978            'headers_blacklist': self.headers_blacklist,
13979            'healthcheck_path': self.healthcheck_path,
13980            'healthy': self.healthy,
13981            'host_override': self.host_override,
13982            'id': self.id,
13983            'name': self.name,
13984            'port_override': self.port_override,
13985            'proxy_cluster_id': self.proxy_cluster_id,
13986            'secret_store_id': self.secret_store_id,
13987            'subdomain': self.subdomain,
13988            'tags': self.tags,
13989            'url': self.url,
13990        }
@classmethod
def from_dict(cls, d)
13992    @classmethod
13993    def from_dict(cls, d):
13994        return cls(
13995            bind_interface=d.get('bind_interface'),
13996            default_path=d.get('default_path'),
13997            egress_filter=d.get('egress_filter'),
13998            headers_blacklist=d.get('headers_blacklist'),
13999            healthcheck_path=d.get('healthcheck_path'),
14000            healthy=d.get('healthy'),
14001            host_override=d.get('host_override'),
14002            id=d.get('id'),
14003            name=d.get('name'),
14004            port_override=d.get('port_override'),
14005            proxy_cluster_id=d.get('proxy_cluster_id'),
14006            secret_store_id=d.get('secret_store_id'),
14007            subdomain=d.get('subdomain'),
14008            tags=d.get('tags'),
14009            url=d.get('url'),
14010        )
class Healthcheck:
14013class Healthcheck:
14014    '''
14015         Healthcheck defines the status of the link between a node and a resource
14016    '''
14017    __slots__ = [
14018        'error_msg',
14019        'healthy',
14020        'id',
14021        'node_id',
14022        'node_name',
14023        'resource_id',
14024        'resource_name',
14025        'timestamp',
14026    ]
14027
14028    def __init__(
14029        self,
14030        error_msg=None,
14031        healthy=None,
14032        id=None,
14033        node_id=None,
14034        node_name=None,
14035        resource_id=None,
14036        resource_name=None,
14037        timestamp=None,
14038    ):
14039        self.error_msg = error_msg if error_msg is not None else ''
14040        '''
14041         The error if unhealthy
14042        '''
14043        self.healthy = healthy if healthy is not None else False
14044        '''
14045         Whether the healthcheck succeeded.
14046        '''
14047        self.id = id if id is not None else ''
14048        '''
14049         Unique identifier of the healthcheck.
14050        '''
14051        self.node_id = node_id if node_id is not None else ''
14052        '''
14053         Unique identifier of the healthcheck node.
14054        '''
14055        self.node_name = node_name if node_name is not None else ''
14056        '''
14057         The name of the node.
14058        '''
14059        self.resource_id = resource_id if resource_id is not None else ''
14060        '''
14061         Unique identifier of the healthcheck resource.
14062        '''
14063        self.resource_name = resource_name if resource_name is not None else ''
14064        '''
14065         The name of the resource.
14066        '''
14067        self.timestamp = timestamp if timestamp is not None else None
14068        '''
14069         The time at which the healthcheck state was recorded.
14070        '''
14071
14072    def __repr__(self):
14073        return '<sdm.Healthcheck ' + \
14074            'error_msg: ' + repr(self.error_msg) + ' ' +\
14075            'healthy: ' + repr(self.healthy) + ' ' +\
14076            'id: ' + repr(self.id) + ' ' +\
14077            'node_id: ' + repr(self.node_id) + ' ' +\
14078            'node_name: ' + repr(self.node_name) + ' ' +\
14079            'resource_id: ' + repr(self.resource_id) + ' ' +\
14080            'resource_name: ' + repr(self.resource_name) + ' ' +\
14081            'timestamp: ' + repr(self.timestamp) + ' ' +\
14082            '>'
14083
14084    def to_dict(self):
14085        return {
14086            'error_msg': self.error_msg,
14087            'healthy': self.healthy,
14088            'id': self.id,
14089            'node_id': self.node_id,
14090            'node_name': self.node_name,
14091            'resource_id': self.resource_id,
14092            'resource_name': self.resource_name,
14093            'timestamp': self.timestamp,
14094        }
14095
14096    @classmethod
14097    def from_dict(cls, d):
14098        return cls(
14099            error_msg=d.get('error_msg'),
14100            healthy=d.get('healthy'),
14101            id=d.get('id'),
14102            node_id=d.get('node_id'),
14103            node_name=d.get('node_name'),
14104            resource_id=d.get('resource_id'),
14105            resource_name=d.get('resource_name'),
14106            timestamp=d.get('timestamp'),
14107        )

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)
14028    def __init__(
14029        self,
14030        error_msg=None,
14031        healthy=None,
14032        id=None,
14033        node_id=None,
14034        node_name=None,
14035        resource_id=None,
14036        resource_name=None,
14037        timestamp=None,
14038    ):
14039        self.error_msg = error_msg if error_msg is not None else ''
14040        '''
14041         The error if unhealthy
14042        '''
14043        self.healthy = healthy if healthy is not None else False
14044        '''
14045         Whether the healthcheck succeeded.
14046        '''
14047        self.id = id if id is not None else ''
14048        '''
14049         Unique identifier of the healthcheck.
14050        '''
14051        self.node_id = node_id if node_id is not None else ''
14052        '''
14053         Unique identifier of the healthcheck node.
14054        '''
14055        self.node_name = node_name if node_name is not None else ''
14056        '''
14057         The name of the node.
14058        '''
14059        self.resource_id = resource_id if resource_id is not None else ''
14060        '''
14061         Unique identifier of the healthcheck resource.
14062        '''
14063        self.resource_name = resource_name if resource_name is not None else ''
14064        '''
14065         The name of the resource.
14066        '''
14067        self.timestamp = timestamp if timestamp is not None else None
14068        '''
14069         The time at which the healthcheck state was recorded.
14070        '''
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)
14084    def to_dict(self):
14085        return {
14086            'error_msg': self.error_msg,
14087            'healthy': self.healthy,
14088            'id': self.id,
14089            'node_id': self.node_id,
14090            'node_name': self.node_name,
14091            'resource_id': self.resource_id,
14092            'resource_name': self.resource_name,
14093            'timestamp': self.timestamp,
14094        }
@classmethod
def from_dict(cls, d)
14096    @classmethod
14097    def from_dict(cls, d):
14098        return cls(
14099            error_msg=d.get('error_msg'),
14100            healthy=d.get('healthy'),
14101            id=d.get('id'),
14102            node_id=d.get('node_id'),
14103            node_name=d.get('node_name'),
14104            resource_id=d.get('resource_id'),
14105            resource_name=d.get('resource_name'),
14106            timestamp=d.get('timestamp'),
14107        )
class HealthcheckListResponse:
14110class HealthcheckListResponse:
14111    '''
14112         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
14113     HealthcheckListRequest.
14114    '''
14115    __slots__ = [
14116        'rate_limit',
14117    ]
14118
14119    def __init__(
14120        self,
14121        rate_limit=None,
14122    ):
14123        self.rate_limit = rate_limit if rate_limit is not None else None
14124        '''
14125         Rate limit information.
14126        '''
14127
14128    def __repr__(self):
14129        return '<sdm.HealthcheckListResponse ' + \
14130            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14131            '>'
14132
14133    def to_dict(self):
14134        return {
14135            'rate_limit': self.rate_limit,
14136        }
14137
14138    @classmethod
14139    def from_dict(cls, d):
14140        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)
14119    def __init__(
14120        self,
14121        rate_limit=None,
14122    ):
14123        self.rate_limit = rate_limit if rate_limit is not None else None
14124        '''
14125         Rate limit information.
14126        '''
rate_limit

Rate limit information.

def to_dict(self)
14133    def to_dict(self):
14134        return {
14135            'rate_limit': self.rate_limit,
14136        }
@classmethod
def from_dict(cls, d)
14138    @classmethod
14139    def from_dict(cls, d):
14140        return cls(rate_limit=d.get('rate_limit'), )
class HealthcheckRequest:
14143class HealthcheckRequest:
14144    __slots__ = [
14145        'secret_engine_id',
14146    ]
14147
14148    def __init__(
14149        self,
14150        secret_engine_id=None,
14151    ):
14152        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
14153        '''
14154         required
14155        '''
14156
14157    def __repr__(self):
14158        return '<sdm.HealthcheckRequest ' + \
14159            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
14160            '>'
14161
14162    def to_dict(self):
14163        return {
14164            'secret_engine_id': self.secret_engine_id,
14165        }
14166
14167    @classmethod
14168    def from_dict(cls, d):
14169        return cls(secret_engine_id=d.get('secret_engine_id'), )
HealthcheckRequest(secret_engine_id=None)
14148    def __init__(
14149        self,
14150        secret_engine_id=None,
14151    ):
14152        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
14153        '''
14154         required
14155        '''
secret_engine_id

required

def to_dict(self)
14162    def to_dict(self):
14163        return {
14164            'secret_engine_id': self.secret_engine_id,
14165        }
@classmethod
def from_dict(cls, d)
14167    @classmethod
14168    def from_dict(cls, d):
14169        return cls(secret_engine_id=d.get('secret_engine_id'), )
class HealthcheckResponse:
14172class HealthcheckResponse:
14173    __slots__ = [
14174        'rate_limit',
14175        'status',
14176    ]
14177
14178    def __init__(
14179        self,
14180        rate_limit=None,
14181        status=None,
14182    ):
14183        self.rate_limit = rate_limit if rate_limit is not None else None
14184        '''
14185         Rate limit information.
14186        '''
14187        self.status = status if status is not None else []
14188        '''
14189         Array of statuses of all nodes serving a secret engine
14190        '''
14191
14192    def __repr__(self):
14193        return '<sdm.HealthcheckResponse ' + \
14194            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14195            'status: ' + repr(self.status) + ' ' +\
14196            '>'
14197
14198    def to_dict(self):
14199        return {
14200            'rate_limit': self.rate_limit,
14201            'status': self.status,
14202        }
14203
14204    @classmethod
14205    def from_dict(cls, d):
14206        return cls(
14207            rate_limit=d.get('rate_limit'),
14208            status=d.get('status'),
14209        )
HealthcheckResponse(rate_limit=None, status=None)
14178    def __init__(
14179        self,
14180        rate_limit=None,
14181        status=None,
14182    ):
14183        self.rate_limit = rate_limit if rate_limit is not None else None
14184        '''
14185         Rate limit information.
14186        '''
14187        self.status = status if status is not None else []
14188        '''
14189         Array of statuses of all nodes serving a secret engine
14190        '''
rate_limit

Rate limit information.

status

Array of statuses of all nodes serving a secret engine

def to_dict(self)
14198    def to_dict(self):
14199        return {
14200            'rate_limit': self.rate_limit,
14201            'status': self.status,
14202        }
@classmethod
def from_dict(cls, d)
14204    @classmethod
14205    def from_dict(cls, d):
14206        return cls(
14207            rate_limit=d.get('rate_limit'),
14208            status=d.get('status'),
14209        )
class HealthcheckStatus:
14212class HealthcheckStatus:
14213    '''
14214         HealthcheckStatus contains status of a node health
14215    '''
14216    __slots__ = [
14217        'node_id',
14218        'status',
14219    ]
14220
14221    def __init__(
14222        self,
14223        node_id=None,
14224        status=None,
14225    ):
14226        self.node_id = node_id if node_id is not None else ''
14227        '''
14228         ID of node
14229        '''
14230        self.status = status if status is not None else ''
14231        '''
14232         Status of node's health
14233        '''
14234
14235    def __repr__(self):
14236        return '<sdm.HealthcheckStatus ' + \
14237            'node_id: ' + repr(self.node_id) + ' ' +\
14238            'status: ' + repr(self.status) + ' ' +\
14239            '>'
14240
14241    def to_dict(self):
14242        return {
14243            'node_id': self.node_id,
14244            'status': self.status,
14245        }
14246
14247    @classmethod
14248    def from_dict(cls, d):
14249        return cls(
14250            node_id=d.get('node_id'),
14251            status=d.get('status'),
14252        )

HealthcheckStatus contains status of a node health

HealthcheckStatus(node_id=None, status=None)
14221    def __init__(
14222        self,
14223        node_id=None,
14224        status=None,
14225    ):
14226        self.node_id = node_id if node_id is not None else ''
14227        '''
14228         ID of node
14229        '''
14230        self.status = status if status is not None else ''
14231        '''
14232         Status of node's health
14233        '''
node_id

ID of node

status

Status of node's health

def to_dict(self)
14241    def to_dict(self):
14242        return {
14243            'node_id': self.node_id,
14244            'status': self.status,
14245        }
@classmethod
def from_dict(cls, d)
14247    @classmethod
14248    def from_dict(cls, d):
14249        return cls(
14250            node_id=d.get('node_id'),
14251            status=d.get('status'),
14252        )
class IdentityAlias:
14255class IdentityAlias:
14256    '''
14257         IdentityAliases define the username to be used for a specific account
14258     when connecting to a remote resource using that identity set.
14259    '''
14260    __slots__ = [
14261        'account_id',
14262        'id',
14263        'identity_set_id',
14264        'username',
14265    ]
14266
14267    def __init__(
14268        self,
14269        account_id=None,
14270        id=None,
14271        identity_set_id=None,
14272        username=None,
14273    ):
14274        self.account_id = account_id if account_id is not None else ''
14275        '''
14276         The account for this identity alias.
14277        '''
14278        self.id = id if id is not None else ''
14279        '''
14280         Unique identifier of the IdentityAlias.
14281        '''
14282        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14283        '''
14284         The identity set.
14285        '''
14286        self.username = username if username is not None else ''
14287        '''
14288         The username to be used as the identity alias for this account.
14289        '''
14290
14291    def __repr__(self):
14292        return '<sdm.IdentityAlias ' + \
14293            'account_id: ' + repr(self.account_id) + ' ' +\
14294            'id: ' + repr(self.id) + ' ' +\
14295            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14296            'username: ' + repr(self.username) + ' ' +\
14297            '>'
14298
14299    def to_dict(self):
14300        return {
14301            'account_id': self.account_id,
14302            'id': self.id,
14303            'identity_set_id': self.identity_set_id,
14304            'username': self.username,
14305        }
14306
14307    @classmethod
14308    def from_dict(cls, d):
14309        return cls(
14310            account_id=d.get('account_id'),
14311            id=d.get('id'),
14312            identity_set_id=d.get('identity_set_id'),
14313            username=d.get('username'),
14314        )

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)
14267    def __init__(
14268        self,
14269        account_id=None,
14270        id=None,
14271        identity_set_id=None,
14272        username=None,
14273    ):
14274        self.account_id = account_id if account_id is not None else ''
14275        '''
14276         The account for this identity alias.
14277        '''
14278        self.id = id if id is not None else ''
14279        '''
14280         Unique identifier of the IdentityAlias.
14281        '''
14282        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14283        '''
14284         The identity set.
14285        '''
14286        self.username = username if username is not None else ''
14287        '''
14288         The username to be used as the identity alias for this account.
14289        '''
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)
14299    def to_dict(self):
14300        return {
14301            'account_id': self.account_id,
14302            'id': self.id,
14303            'identity_set_id': self.identity_set_id,
14304            'username': self.username,
14305        }
@classmethod
def from_dict(cls, d)
14307    @classmethod
14308    def from_dict(cls, d):
14309        return cls(
14310            account_id=d.get('account_id'),
14311            id=d.get('id'),
14312            identity_set_id=d.get('identity_set_id'),
14313            username=d.get('username'),
14314        )
class IdentityAliasCreateResponse:
14317class IdentityAliasCreateResponse:
14318    '''
14319         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14320    '''
14321    __slots__ = [
14322        'identity_alias',
14323        'meta',
14324        'rate_limit',
14325    ]
14326
14327    def __init__(
14328        self,
14329        identity_alias=None,
14330        meta=None,
14331        rate_limit=None,
14332    ):
14333        self.identity_alias = identity_alias if identity_alias is not None else None
14334        '''
14335         The created IdentityAlias.
14336        '''
14337        self.meta = meta if meta is not None else None
14338        '''
14339         Reserved for future use.
14340        '''
14341        self.rate_limit = rate_limit if rate_limit is not None else None
14342        '''
14343         Rate limit information.
14344        '''
14345
14346    def __repr__(self):
14347        return '<sdm.IdentityAliasCreateResponse ' + \
14348            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14349            'meta: ' + repr(self.meta) + ' ' +\
14350            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14351            '>'
14352
14353    def to_dict(self):
14354        return {
14355            'identity_alias': self.identity_alias,
14356            'meta': self.meta,
14357            'rate_limit': self.rate_limit,
14358        }
14359
14360    @classmethod
14361    def from_dict(cls, d):
14362        return cls(
14363            identity_alias=d.get('identity_alias'),
14364            meta=d.get('meta'),
14365            rate_limit=d.get('rate_limit'),
14366        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
14327    def __init__(
14328        self,
14329        identity_alias=None,
14330        meta=None,
14331        rate_limit=None,
14332    ):
14333        self.identity_alias = identity_alias if identity_alias is not None else None
14334        '''
14335         The created IdentityAlias.
14336        '''
14337        self.meta = meta if meta is not None else None
14338        '''
14339         Reserved for future use.
14340        '''
14341        self.rate_limit = rate_limit if rate_limit is not None else None
14342        '''
14343         Rate limit information.
14344        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14353    def to_dict(self):
14354        return {
14355            'identity_alias': self.identity_alias,
14356            'meta': self.meta,
14357            'rate_limit': self.rate_limit,
14358        }
@classmethod
def from_dict(cls, d)
14360    @classmethod
14361    def from_dict(cls, d):
14362        return cls(
14363            identity_alias=d.get('identity_alias'),
14364            meta=d.get('meta'),
14365            rate_limit=d.get('rate_limit'),
14366        )
class IdentityAliasDeleteResponse:
14369class IdentityAliasDeleteResponse:
14370    '''
14371         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
14372    '''
14373    __slots__ = [
14374        'meta',
14375        'rate_limit',
14376    ]
14377
14378    def __init__(
14379        self,
14380        meta=None,
14381        rate_limit=None,
14382    ):
14383        self.meta = meta if meta is not None else None
14384        '''
14385         Reserved for future use.
14386        '''
14387        self.rate_limit = rate_limit if rate_limit is not None else None
14388        '''
14389         Rate limit information.
14390        '''
14391
14392    def __repr__(self):
14393        return '<sdm.IdentityAliasDeleteResponse ' + \
14394            'meta: ' + repr(self.meta) + ' ' +\
14395            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14396            '>'
14397
14398    def to_dict(self):
14399        return {
14400            'meta': self.meta,
14401            'rate_limit': self.rate_limit,
14402        }
14403
14404    @classmethod
14405    def from_dict(cls, d):
14406        return cls(
14407            meta=d.get('meta'),
14408            rate_limit=d.get('rate_limit'),
14409        )

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
14378    def __init__(
14379        self,
14380        meta=None,
14381        rate_limit=None,
14382    ):
14383        self.meta = meta if meta is not None else None
14384        '''
14385         Reserved for future use.
14386        '''
14387        self.rate_limit = rate_limit if rate_limit is not None else None
14388        '''
14389         Rate limit information.
14390        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14398    def to_dict(self):
14399        return {
14400            'meta': self.meta,
14401            'rate_limit': self.rate_limit,
14402        }
@classmethod
def from_dict(cls, d)
14404    @classmethod
14405    def from_dict(cls, d):
14406        return cls(
14407            meta=d.get('meta'),
14408            rate_limit=d.get('rate_limit'),
14409        )
class IdentityAliasGetResponse:
14412class IdentityAliasGetResponse:
14413    '''
14414         IdentityAliasGetResponse returns a requested IdentityAlias.
14415    '''
14416    __slots__ = [
14417        'identity_alias',
14418        'meta',
14419        'rate_limit',
14420    ]
14421
14422    def __init__(
14423        self,
14424        identity_alias=None,
14425        meta=None,
14426        rate_limit=None,
14427    ):
14428        self.identity_alias = identity_alias if identity_alias is not None else None
14429        '''
14430         The requested IdentityAlias.
14431        '''
14432        self.meta = meta if meta is not None else None
14433        '''
14434         Reserved for future use.
14435        '''
14436        self.rate_limit = rate_limit if rate_limit is not None else None
14437        '''
14438         Rate limit information.
14439        '''
14440
14441    def __repr__(self):
14442        return '<sdm.IdentityAliasGetResponse ' + \
14443            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14444            'meta: ' + repr(self.meta) + ' ' +\
14445            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14446            '>'
14447
14448    def to_dict(self):
14449        return {
14450            'identity_alias': self.identity_alias,
14451            'meta': self.meta,
14452            'rate_limit': self.rate_limit,
14453        }
14454
14455    @classmethod
14456    def from_dict(cls, d):
14457        return cls(
14458            identity_alias=d.get('identity_alias'),
14459            meta=d.get('meta'),
14460            rate_limit=d.get('rate_limit'),
14461        )

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
14422    def __init__(
14423        self,
14424        identity_alias=None,
14425        meta=None,
14426        rate_limit=None,
14427    ):
14428        self.identity_alias = identity_alias if identity_alias is not None else None
14429        '''
14430         The requested IdentityAlias.
14431        '''
14432        self.meta = meta if meta is not None else None
14433        '''
14434         Reserved for future use.
14435        '''
14436        self.rate_limit = rate_limit if rate_limit is not None else None
14437        '''
14438         Rate limit information.
14439        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14448    def to_dict(self):
14449        return {
14450            'identity_alias': self.identity_alias,
14451            'meta': self.meta,
14452            'rate_limit': self.rate_limit,
14453        }
@classmethod
def from_dict(cls, d)
14455    @classmethod
14456    def from_dict(cls, d):
14457        return cls(
14458            identity_alias=d.get('identity_alias'),
14459            meta=d.get('meta'),
14460            rate_limit=d.get('rate_limit'),
14461        )
class IdentityAliasHistory:
14464class IdentityAliasHistory:
14465    '''
14466         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
14467     where every change (create, update and delete) to a IdentityAlias produces an
14468     IdentityAliasHistory record.
14469    '''
14470    __slots__ = [
14471        'activity_id',
14472        'deleted_at',
14473        'identity_alias',
14474        'timestamp',
14475    ]
14476
14477    def __init__(
14478        self,
14479        activity_id=None,
14480        deleted_at=None,
14481        identity_alias=None,
14482        timestamp=None,
14483    ):
14484        self.activity_id = activity_id if activity_id is not None else ''
14485        '''
14486         The unique identifier of the Activity that produced this change to the IdentityAlias.
14487         May be empty for some system-initiated updates.
14488        '''
14489        self.deleted_at = deleted_at if deleted_at is not None else None
14490        '''
14491         If this IdentityAlias was deleted, the time it was deleted.
14492        '''
14493        self.identity_alias = identity_alias if identity_alias is not None else None
14494        '''
14495         The complete IdentityAlias state at this time.
14496        '''
14497        self.timestamp = timestamp if timestamp is not None else None
14498        '''
14499         The time at which the IdentityAlias state was recorded.
14500        '''
14501
14502    def __repr__(self):
14503        return '<sdm.IdentityAliasHistory ' + \
14504            'activity_id: ' + repr(self.activity_id) + ' ' +\
14505            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14506            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14507            'timestamp: ' + repr(self.timestamp) + ' ' +\
14508            '>'
14509
14510    def to_dict(self):
14511        return {
14512            'activity_id': self.activity_id,
14513            'deleted_at': self.deleted_at,
14514            'identity_alias': self.identity_alias,
14515            'timestamp': self.timestamp,
14516        }
14517
14518    @classmethod
14519    def from_dict(cls, d):
14520        return cls(
14521            activity_id=d.get('activity_id'),
14522            deleted_at=d.get('deleted_at'),
14523            identity_alias=d.get('identity_alias'),
14524            timestamp=d.get('timestamp'),
14525        )

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)
14477    def __init__(
14478        self,
14479        activity_id=None,
14480        deleted_at=None,
14481        identity_alias=None,
14482        timestamp=None,
14483    ):
14484        self.activity_id = activity_id if activity_id is not None else ''
14485        '''
14486         The unique identifier of the Activity that produced this change to the IdentityAlias.
14487         May be empty for some system-initiated updates.
14488        '''
14489        self.deleted_at = deleted_at if deleted_at is not None else None
14490        '''
14491         If this IdentityAlias was deleted, the time it was deleted.
14492        '''
14493        self.identity_alias = identity_alias if identity_alias is not None else None
14494        '''
14495         The complete IdentityAlias state at this time.
14496        '''
14497        self.timestamp = timestamp if timestamp is not None else None
14498        '''
14499         The time at which the IdentityAlias state was recorded.
14500        '''
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)
14510    def to_dict(self):
14511        return {
14512            'activity_id': self.activity_id,
14513            'deleted_at': self.deleted_at,
14514            'identity_alias': self.identity_alias,
14515            'timestamp': self.timestamp,
14516        }
@classmethod
def from_dict(cls, d)
14518    @classmethod
14519    def from_dict(cls, d):
14520        return cls(
14521            activity_id=d.get('activity_id'),
14522            deleted_at=d.get('deleted_at'),
14523            identity_alias=d.get('identity_alias'),
14524            timestamp=d.get('timestamp'),
14525        )
class IdentityAliasUpdateResponse:
14528class IdentityAliasUpdateResponse:
14529    '''
14530         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
14531     a IdentityAliasUpdateRequest.
14532    '''
14533    __slots__ = [
14534        'identity_alias',
14535        'meta',
14536        'rate_limit',
14537    ]
14538
14539    def __init__(
14540        self,
14541        identity_alias=None,
14542        meta=None,
14543        rate_limit=None,
14544    ):
14545        self.identity_alias = identity_alias if identity_alias is not None else None
14546        '''
14547         The updated IdentityAlias.
14548        '''
14549        self.meta = meta if meta is not None else None
14550        '''
14551         Reserved for future use.
14552        '''
14553        self.rate_limit = rate_limit if rate_limit is not None else None
14554        '''
14555         Rate limit information.
14556        '''
14557
14558    def __repr__(self):
14559        return '<sdm.IdentityAliasUpdateResponse ' + \
14560            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14561            'meta: ' + repr(self.meta) + ' ' +\
14562            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14563            '>'
14564
14565    def to_dict(self):
14566        return {
14567            'identity_alias': self.identity_alias,
14568            'meta': self.meta,
14569            'rate_limit': self.rate_limit,
14570        }
14571
14572    @classmethod
14573    def from_dict(cls, d):
14574        return cls(
14575            identity_alias=d.get('identity_alias'),
14576            meta=d.get('meta'),
14577            rate_limit=d.get('rate_limit'),
14578        )

IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by a IdentityAliasUpdateRequest.

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
14539    def __init__(
14540        self,
14541        identity_alias=None,
14542        meta=None,
14543        rate_limit=None,
14544    ):
14545        self.identity_alias = identity_alias if identity_alias is not None else None
14546        '''
14547         The updated IdentityAlias.
14548        '''
14549        self.meta = meta if meta is not None else None
14550        '''
14551         Reserved for future use.
14552        '''
14553        self.rate_limit = rate_limit if rate_limit is not None else None
14554        '''
14555         Rate limit information.
14556        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14565    def to_dict(self):
14566        return {
14567            'identity_alias': self.identity_alias,
14568            'meta': self.meta,
14569            'rate_limit': self.rate_limit,
14570        }
@classmethod
def from_dict(cls, d)
14572    @classmethod
14573    def from_dict(cls, d):
14574        return cls(
14575            identity_alias=d.get('identity_alias'),
14576            meta=d.get('meta'),
14577            rate_limit=d.get('rate_limit'),
14578        )
class IdentitySet:
14581class IdentitySet:
14582    '''
14583         A IdentitySet defines a group of identity aliases.
14584    '''
14585    __slots__ = [
14586        'id',
14587        'name',
14588    ]
14589
14590    def __init__(
14591        self,
14592        id=None,
14593        name=None,
14594    ):
14595        self.id = id if id is not None else ''
14596        '''
14597         Unique identifier of the IdentitySet.
14598        '''
14599        self.name = name if name is not None else ''
14600        '''
14601         Unique human-readable name of the IdentitySet.
14602        '''
14603
14604    def __repr__(self):
14605        return '<sdm.IdentitySet ' + \
14606            'id: ' + repr(self.id) + ' ' +\
14607            'name: ' + repr(self.name) + ' ' +\
14608            '>'
14609
14610    def to_dict(self):
14611        return {
14612            'id': self.id,
14613            'name': self.name,
14614        }
14615
14616    @classmethod
14617    def from_dict(cls, d):
14618        return cls(
14619            id=d.get('id'),
14620            name=d.get('name'),
14621        )

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
14590    def __init__(
14591        self,
14592        id=None,
14593        name=None,
14594    ):
14595        self.id = id if id is not None else ''
14596        '''
14597         Unique identifier of the IdentitySet.
14598        '''
14599        self.name = name if name is not None else ''
14600        '''
14601         Unique human-readable name of the IdentitySet.
14602        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

def to_dict(self)
14610    def to_dict(self):
14611        return {
14612            'id': self.id,
14613            'name': self.name,
14614        }
@classmethod
def from_dict(cls, d)
14616    @classmethod
14617    def from_dict(cls, d):
14618        return cls(
14619            id=d.get('id'),
14620            name=d.get('name'),
14621        )
class IdentitySetCreateResponse:
14624class IdentitySetCreateResponse:
14625    '''
14626         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
14627     communicate partial successes or failures.
14628    '''
14629    __slots__ = [
14630        'identity_set',
14631        'meta',
14632        'rate_limit',
14633    ]
14634
14635    def __init__(
14636        self,
14637        identity_set=None,
14638        meta=None,
14639        rate_limit=None,
14640    ):
14641        self.identity_set = identity_set if identity_set is not None else None
14642        '''
14643         The created IdentitySet.
14644        '''
14645        self.meta = meta if meta is not None else None
14646        '''
14647         Reserved for future use.
14648        '''
14649        self.rate_limit = rate_limit if rate_limit is not None else None
14650        '''
14651         Rate limit information.
14652        '''
14653
14654    def __repr__(self):
14655        return '<sdm.IdentitySetCreateResponse ' + \
14656            'identity_set: ' + repr(self.identity_set) + ' ' +\
14657            'meta: ' + repr(self.meta) + ' ' +\
14658            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14659            '>'
14660
14661    def to_dict(self):
14662        return {
14663            'identity_set': self.identity_set,
14664            'meta': self.meta,
14665            'rate_limit': self.rate_limit,
14666        }
14667
14668    @classmethod
14669    def from_dict(cls, d):
14670        return cls(
14671            identity_set=d.get('identity_set'),
14672            meta=d.get('meta'),
14673            rate_limit=d.get('rate_limit'),
14674        )

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)
14635    def __init__(
14636        self,
14637        identity_set=None,
14638        meta=None,
14639        rate_limit=None,
14640    ):
14641        self.identity_set = identity_set if identity_set is not None else None
14642        '''
14643         The created IdentitySet.
14644        '''
14645        self.meta = meta if meta is not None else None
14646        '''
14647         Reserved for future use.
14648        '''
14649        self.rate_limit = rate_limit if rate_limit is not None else None
14650        '''
14651         Rate limit information.
14652        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14661    def to_dict(self):
14662        return {
14663            'identity_set': self.identity_set,
14664            'meta': self.meta,
14665            'rate_limit': self.rate_limit,
14666        }
@classmethod
def from_dict(cls, d)
14668    @classmethod
14669    def from_dict(cls, d):
14670        return cls(
14671            identity_set=d.get('identity_set'),
14672            meta=d.get('meta'),
14673            rate_limit=d.get('rate_limit'),
14674        )
class IdentitySetDeleteResponse:
14677class IdentitySetDeleteResponse:
14678    '''
14679         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
14680    '''
14681    __slots__ = [
14682        'meta',
14683        'rate_limit',
14684    ]
14685
14686    def __init__(
14687        self,
14688        meta=None,
14689        rate_limit=None,
14690    ):
14691        self.meta = meta if meta is not None else None
14692        '''
14693         Reserved for future use.
14694        '''
14695        self.rate_limit = rate_limit if rate_limit is not None else None
14696        '''
14697         Rate limit information.
14698        '''
14699
14700    def __repr__(self):
14701        return '<sdm.IdentitySetDeleteResponse ' + \
14702            'meta: ' + repr(self.meta) + ' ' +\
14703            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14704            '>'
14705
14706    def to_dict(self):
14707        return {
14708            'meta': self.meta,
14709            'rate_limit': self.rate_limit,
14710        }
14711
14712    @classmethod
14713    def from_dict(cls, d):
14714        return cls(
14715            meta=d.get('meta'),
14716            rate_limit=d.get('rate_limit'),
14717        )

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
14686    def __init__(
14687        self,
14688        meta=None,
14689        rate_limit=None,
14690    ):
14691        self.meta = meta if meta is not None else None
14692        '''
14693         Reserved for future use.
14694        '''
14695        self.rate_limit = rate_limit if rate_limit is not None else None
14696        '''
14697         Rate limit information.
14698        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14706    def to_dict(self):
14707        return {
14708            'meta': self.meta,
14709            'rate_limit': self.rate_limit,
14710        }
@classmethod
def from_dict(cls, d)
14712    @classmethod
14713    def from_dict(cls, d):
14714        return cls(
14715            meta=d.get('meta'),
14716            rate_limit=d.get('rate_limit'),
14717        )
class IdentitySetGetResponse:
14720class IdentitySetGetResponse:
14721    '''
14722         IdentitySetGetResponse returns a requested IdentitySet.
14723    '''
14724    __slots__ = [
14725        'identity_set',
14726        'meta',
14727        'rate_limit',
14728    ]
14729
14730    def __init__(
14731        self,
14732        identity_set=None,
14733        meta=None,
14734        rate_limit=None,
14735    ):
14736        self.identity_set = identity_set if identity_set is not None else None
14737        '''
14738         The requested IdentitySet.
14739        '''
14740        self.meta = meta if meta is not None else None
14741        '''
14742         Reserved for future use.
14743        '''
14744        self.rate_limit = rate_limit if rate_limit is not None else None
14745        '''
14746         Rate limit information.
14747        '''
14748
14749    def __repr__(self):
14750        return '<sdm.IdentitySetGetResponse ' + \
14751            'identity_set: ' + repr(self.identity_set) + ' ' +\
14752            'meta: ' + repr(self.meta) + ' ' +\
14753            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14754            '>'
14755
14756    def to_dict(self):
14757        return {
14758            'identity_set': self.identity_set,
14759            'meta': self.meta,
14760            'rate_limit': self.rate_limit,
14761        }
14762
14763    @classmethod
14764    def from_dict(cls, d):
14765        return cls(
14766            identity_set=d.get('identity_set'),
14767            meta=d.get('meta'),
14768            rate_limit=d.get('rate_limit'),
14769        )

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
14730    def __init__(
14731        self,
14732        identity_set=None,
14733        meta=None,
14734        rate_limit=None,
14735    ):
14736        self.identity_set = identity_set if identity_set is not None else None
14737        '''
14738         The requested IdentitySet.
14739        '''
14740        self.meta = meta if meta is not None else None
14741        '''
14742         Reserved for future use.
14743        '''
14744        self.rate_limit = rate_limit if rate_limit is not None else None
14745        '''
14746         Rate limit information.
14747        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14756    def to_dict(self):
14757        return {
14758            'identity_set': self.identity_set,
14759            'meta': self.meta,
14760            'rate_limit': self.rate_limit,
14761        }
@classmethod
def from_dict(cls, d)
14763    @classmethod
14764    def from_dict(cls, d):
14765        return cls(
14766            identity_set=d.get('identity_set'),
14767            meta=d.get('meta'),
14768            rate_limit=d.get('rate_limit'),
14769        )
class IdentitySetHistory:
14772class IdentitySetHistory:
14773    '''
14774         IdentitySetHistory records the state of a IdentitySet at a given point in time,
14775     where every change (create, update and delete) to a IdentitySet produces an
14776     IdentitySetHistory record.
14777    '''
14778    __slots__ = [
14779        'activity_id',
14780        'deleted_at',
14781        'identity_set',
14782        'timestamp',
14783    ]
14784
14785    def __init__(
14786        self,
14787        activity_id=None,
14788        deleted_at=None,
14789        identity_set=None,
14790        timestamp=None,
14791    ):
14792        self.activity_id = activity_id if activity_id is not None else ''
14793        '''
14794         The unique identifier of the Activity that produced this change to the IdentitySet.
14795         May be empty for some system-initiated updates.
14796        '''
14797        self.deleted_at = deleted_at if deleted_at is not None else None
14798        '''
14799         If this IdentitySet was deleted, the time it was deleted.
14800        '''
14801        self.identity_set = identity_set if identity_set is not None else None
14802        '''
14803         The complete IdentitySet state at this time.
14804        '''
14805        self.timestamp = timestamp if timestamp is not None else None
14806        '''
14807         The time at which the IdentitySet state was recorded.
14808        '''
14809
14810    def __repr__(self):
14811        return '<sdm.IdentitySetHistory ' + \
14812            'activity_id: ' + repr(self.activity_id) + ' ' +\
14813            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14814            'identity_set: ' + repr(self.identity_set) + ' ' +\
14815            'timestamp: ' + repr(self.timestamp) + ' ' +\
14816            '>'
14817
14818    def to_dict(self):
14819        return {
14820            'activity_id': self.activity_id,
14821            'deleted_at': self.deleted_at,
14822            'identity_set': self.identity_set,
14823            'timestamp': self.timestamp,
14824        }
14825
14826    @classmethod
14827    def from_dict(cls, d):
14828        return cls(
14829            activity_id=d.get('activity_id'),
14830            deleted_at=d.get('deleted_at'),
14831            identity_set=d.get('identity_set'),
14832            timestamp=d.get('timestamp'),
14833        )

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)
14785    def __init__(
14786        self,
14787        activity_id=None,
14788        deleted_at=None,
14789        identity_set=None,
14790        timestamp=None,
14791    ):
14792        self.activity_id = activity_id if activity_id is not None else ''
14793        '''
14794         The unique identifier of the Activity that produced this change to the IdentitySet.
14795         May be empty for some system-initiated updates.
14796        '''
14797        self.deleted_at = deleted_at if deleted_at is not None else None
14798        '''
14799         If this IdentitySet was deleted, the time it was deleted.
14800        '''
14801        self.identity_set = identity_set if identity_set is not None else None
14802        '''
14803         The complete IdentitySet state at this time.
14804        '''
14805        self.timestamp = timestamp if timestamp is not None else None
14806        '''
14807         The time at which the IdentitySet state was recorded.
14808        '''
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)
14818    def to_dict(self):
14819        return {
14820            'activity_id': self.activity_id,
14821            'deleted_at': self.deleted_at,
14822            'identity_set': self.identity_set,
14823            'timestamp': self.timestamp,
14824        }
@classmethod
def from_dict(cls, d)
14826    @classmethod
14827    def from_dict(cls, d):
14828        return cls(
14829            activity_id=d.get('activity_id'),
14830            deleted_at=d.get('deleted_at'),
14831            identity_set=d.get('identity_set'),
14832            timestamp=d.get('timestamp'),
14833        )
class IdentitySetUpdateResponse:
14836class IdentitySetUpdateResponse:
14837    '''
14838         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
14839     a IdentitySetUpdateRequest.
14840    '''
14841    __slots__ = [
14842        'identity_set',
14843        'meta',
14844        'rate_limit',
14845    ]
14846
14847    def __init__(
14848        self,
14849        identity_set=None,
14850        meta=None,
14851        rate_limit=None,
14852    ):
14853        self.identity_set = identity_set if identity_set is not None else None
14854        '''
14855         The updated IdentitySet.
14856        '''
14857        self.meta = meta if meta is not None else None
14858        '''
14859         Reserved for future use.
14860        '''
14861        self.rate_limit = rate_limit if rate_limit is not None else None
14862        '''
14863         Rate limit information.
14864        '''
14865
14866    def __repr__(self):
14867        return '<sdm.IdentitySetUpdateResponse ' + \
14868            'identity_set: ' + repr(self.identity_set) + ' ' +\
14869            'meta: ' + repr(self.meta) + ' ' +\
14870            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14871            '>'
14872
14873    def to_dict(self):
14874        return {
14875            'identity_set': self.identity_set,
14876            'meta': self.meta,
14877            'rate_limit': self.rate_limit,
14878        }
14879
14880    @classmethod
14881    def from_dict(cls, d):
14882        return cls(
14883            identity_set=d.get('identity_set'),
14884            meta=d.get('meta'),
14885            rate_limit=d.get('rate_limit'),
14886        )

IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by a IdentitySetUpdateRequest.

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
14847    def __init__(
14848        self,
14849        identity_set=None,
14850        meta=None,
14851        rate_limit=None,
14852    ):
14853        self.identity_set = identity_set if identity_set is not None else None
14854        '''
14855         The updated IdentitySet.
14856        '''
14857        self.meta = meta if meta is not None else None
14858        '''
14859         Reserved for future use.
14860        '''
14861        self.rate_limit = rate_limit if rate_limit is not None else None
14862        '''
14863         Rate limit information.
14864        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14873    def to_dict(self):
14874        return {
14875            'identity_set': self.identity_set,
14876            'meta': self.meta,
14877            'rate_limit': self.rate_limit,
14878        }
@classmethod
def from_dict(cls, d)
14880    @classmethod
14881    def from_dict(cls, d):
14882        return cls(
14883            identity_set=d.get('identity_set'),
14884            meta=d.get('meta'),
14885            rate_limit=d.get('rate_limit'),
14886        )
class KeyValueEngine:
14889class KeyValueEngine:
14890    '''
14891    KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14892    without a major version bump.
14893    '''
14894    __slots__ = [
14895        'id',
14896        'key_rotation_interval_days',
14897        'name',
14898        'public_key',
14899        'secret_store_id',
14900        'secret_store_root_path',
14901        'tags',
14902    ]
14903
14904    def __init__(
14905        self,
14906        id=None,
14907        key_rotation_interval_days=None,
14908        name=None,
14909        public_key=None,
14910        secret_store_id=None,
14911        secret_store_root_path=None,
14912        tags=None,
14913    ):
14914        self.id = id if id is not None else ''
14915        '''
14916         Unique identifier of the Secret Engine.
14917        '''
14918        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14919        '''
14920         An interval of public/private key rotation for secret engine in days
14921        '''
14922        self.name = name if name is not None else ''
14923        '''
14924         Unique human-readable name of the Secret Engine.
14925        '''
14926        self.public_key = public_key if public_key is not None else b''
14927        '''
14928         Public key linked with a secret engine
14929        '''
14930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14931        '''
14932         Backing secret store identifier
14933        '''
14934        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14935        '''
14936         Backing Secret Store root path where managed secrets are going to be stored
14937        '''
14938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14939        '''
14940         Tags is a map of key, value pairs.
14941        '''
14942
14943    def __repr__(self):
14944        return '<sdm.KeyValueEngine ' + \
14945            'id: ' + repr(self.id) + ' ' +\
14946            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14947            'name: ' + repr(self.name) + ' ' +\
14948            'public_key: ' + repr(self.public_key) + ' ' +\
14949            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14950            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14951            'tags: ' + repr(self.tags) + ' ' +\
14952            '>'
14953
14954    def to_dict(self):
14955        return {
14956            'id': self.id,
14957            'key_rotation_interval_days': self.key_rotation_interval_days,
14958            'name': self.name,
14959            'public_key': self.public_key,
14960            'secret_store_id': self.secret_store_id,
14961            'secret_store_root_path': self.secret_store_root_path,
14962            'tags': self.tags,
14963        }
14964
14965    @classmethod
14966    def from_dict(cls, d):
14967        return cls(
14968            id=d.get('id'),
14969            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14970            name=d.get('name'),
14971            public_key=d.get('public_key'),
14972            secret_store_id=d.get('secret_store_id'),
14973            secret_store_root_path=d.get('secret_store_root_path'),
14974            tags=d.get('tags'),
14975        )

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

KeyValueEngine( id=None, key_rotation_interval_days=None, name=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None)
14904    def __init__(
14905        self,
14906        id=None,
14907        key_rotation_interval_days=None,
14908        name=None,
14909        public_key=None,
14910        secret_store_id=None,
14911        secret_store_root_path=None,
14912        tags=None,
14913    ):
14914        self.id = id if id is not None else ''
14915        '''
14916         Unique identifier of the Secret Engine.
14917        '''
14918        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14919        '''
14920         An interval of public/private key rotation for secret engine in days
14921        '''
14922        self.name = name if name is not None else ''
14923        '''
14924         Unique human-readable name of the Secret Engine.
14925        '''
14926        self.public_key = public_key if public_key is not None else b''
14927        '''
14928         Public key linked with a secret engine
14929        '''
14930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14931        '''
14932         Backing secret store identifier
14933        '''
14934        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14935        '''
14936         Backing Secret Store root path where managed secrets are going to be stored
14937        '''
14938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14939        '''
14940         Tags is a map of key, value pairs.
14941        '''
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.

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)
14954    def to_dict(self):
14955        return {
14956            'id': self.id,
14957            'key_rotation_interval_days': self.key_rotation_interval_days,
14958            'name': self.name,
14959            'public_key': self.public_key,
14960            'secret_store_id': self.secret_store_id,
14961            'secret_store_root_path': self.secret_store_root_path,
14962            'tags': self.tags,
14963        }
@classmethod
def from_dict(cls, d)
14965    @classmethod
14966    def from_dict(cls, d):
14967        return cls(
14968            id=d.get('id'),
14969            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14970            name=d.get('name'),
14971            public_key=d.get('public_key'),
14972            secret_store_id=d.get('secret_store_id'),
14973            secret_store_root_path=d.get('secret_store_root_path'),
14974            tags=d.get('tags'),
14975        )
class KeyfactorSSHStore:
14978class KeyfactorSSHStore:
14979    __slots__ = [
14980        'ca_file_path',
14981        'certificate_file_path',
14982        'default_certificate_authority_name',
14983        'default_certificate_profile_name',
14984        'default_end_entity_profile_name',
14985        'enrollment_code_env_var',
14986        'enrollment_username_env_var',
14987        'id',
14988        'key_file_path',
14989        'name',
14990        'server_address',
14991        'tags',
14992    ]
14993
14994    def __init__(
14995        self,
14996        ca_file_path=None,
14997        certificate_file_path=None,
14998        default_certificate_authority_name=None,
14999        default_certificate_profile_name=None,
15000        default_end_entity_profile_name=None,
15001        enrollment_code_env_var=None,
15002        enrollment_username_env_var=None,
15003        id=None,
15004        key_file_path=None,
15005        name=None,
15006        server_address=None,
15007        tags=None,
15008    ):
15009        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15010        '''
15011         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15012         This is not required if the CA is trusted by the host operating system. This should be a PEM
15013         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15014        '''
15015        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15016        '''
15017         Path to client certificate in PEM format. This certificate must contain a client certificate that
15018         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15019         key associated with the certificate, but KeyFile can also be set to configure the private key.
15020        '''
15021        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15022        '''
15023         Name of EJBCA certificate authority that will enroll CSR.
15024        '''
15025        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15026        '''
15027         Certificate profile name that EJBCA will enroll the CSR with.
15028        '''
15029        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15030        '''
15031         End entity profile that EJBCA will enroll the CSR with.
15032        '''
15033        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15034        '''
15035         code used by EJBCA during enrollment. May be left blank if no code is required.
15036        '''
15037        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15038        '''
15039         username that used by the EJBCA during enrollment. This can be left out. 
15040         If so, the username must be auto-generated on the Keyfactor side.
15041        '''
15042        self.id = id if id is not None else ''
15043        '''
15044         Unique identifier of the SecretStore.
15045        '''
15046        self.key_file_path = key_file_path if key_file_path is not None else ''
15047        '''
15048         Path to private key in PEM format. This file should contain the private key associated with the
15049         client certificate configured in CertificateFile.
15050        '''
15051        self.name = name if name is not None else ''
15052        '''
15053         Unique human-readable name of the SecretStore.
15054        '''
15055        self.server_address = server_address if server_address is not None else ''
15056        '''
15057         the host of the Key Factor CA
15058        '''
15059        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15060        '''
15061         Tags is a map of key, value pairs.
15062        '''
15063
15064    def __repr__(self):
15065        return '<sdm.KeyfactorSSHStore ' + \
15066            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15067            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15068            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15069            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15070            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15071            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15072            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15073            'id: ' + repr(self.id) + ' ' +\
15074            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15075            'name: ' + repr(self.name) + ' ' +\
15076            'server_address: ' + repr(self.server_address) + ' ' +\
15077            'tags: ' + repr(self.tags) + ' ' +\
15078            '>'
15079
15080    def to_dict(self):
15081        return {
15082            'ca_file_path': self.ca_file_path,
15083            'certificate_file_path': self.certificate_file_path,
15084            'default_certificate_authority_name':
15085            self.default_certificate_authority_name,
15086            'default_certificate_profile_name':
15087            self.default_certificate_profile_name,
15088            'default_end_entity_profile_name':
15089            self.default_end_entity_profile_name,
15090            'enrollment_code_env_var': self.enrollment_code_env_var,
15091            'enrollment_username_env_var': self.enrollment_username_env_var,
15092            'id': self.id,
15093            'key_file_path': self.key_file_path,
15094            'name': self.name,
15095            'server_address': self.server_address,
15096            'tags': self.tags,
15097        }
15098
15099    @classmethod
15100    def from_dict(cls, d):
15101        return cls(
15102            ca_file_path=d.get('ca_file_path'),
15103            certificate_file_path=d.get('certificate_file_path'),
15104            default_certificate_authority_name=d.get(
15105                'default_certificate_authority_name'),
15106            default_certificate_profile_name=d.get(
15107                'default_certificate_profile_name'),
15108            default_end_entity_profile_name=d.get(
15109                'default_end_entity_profile_name'),
15110            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15111            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15112            id=d.get('id'),
15113            key_file_path=d.get('key_file_path'),
15114            name=d.get('name'),
15115            server_address=d.get('server_address'),
15116            tags=d.get('tags'),
15117        )
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)
14994    def __init__(
14995        self,
14996        ca_file_path=None,
14997        certificate_file_path=None,
14998        default_certificate_authority_name=None,
14999        default_certificate_profile_name=None,
15000        default_end_entity_profile_name=None,
15001        enrollment_code_env_var=None,
15002        enrollment_username_env_var=None,
15003        id=None,
15004        key_file_path=None,
15005        name=None,
15006        server_address=None,
15007        tags=None,
15008    ):
15009        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15010        '''
15011         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15012         This is not required if the CA is trusted by the host operating system. This should be a PEM
15013         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15014        '''
15015        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15016        '''
15017         Path to client certificate in PEM format. This certificate must contain a client certificate that
15018         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15019         key associated with the certificate, but KeyFile can also be set to configure the private key.
15020        '''
15021        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15022        '''
15023         Name of EJBCA certificate authority that will enroll CSR.
15024        '''
15025        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15026        '''
15027         Certificate profile name that EJBCA will enroll the CSR with.
15028        '''
15029        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15030        '''
15031         End entity profile that EJBCA will enroll the CSR with.
15032        '''
15033        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15034        '''
15035         code used by EJBCA during enrollment. May be left blank if no code is required.
15036        '''
15037        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15038        '''
15039         username that used by the EJBCA during enrollment. This can be left out. 
15040         If so, the username must be auto-generated on the Keyfactor side.
15041        '''
15042        self.id = id if id is not None else ''
15043        '''
15044         Unique identifier of the SecretStore.
15045        '''
15046        self.key_file_path = key_file_path if key_file_path is not None else ''
15047        '''
15048         Path to private key in PEM format. This file should contain the private key associated with the
15049         client certificate configured in CertificateFile.
15050        '''
15051        self.name = name if name is not None else ''
15052        '''
15053         Unique human-readable name of the SecretStore.
15054        '''
15055        self.server_address = server_address if server_address is not None else ''
15056        '''
15057         the host of the Key Factor CA
15058        '''
15059        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15060        '''
15061         Tags is a map of key, value pairs.
15062        '''
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)
15080    def to_dict(self):
15081        return {
15082            'ca_file_path': self.ca_file_path,
15083            'certificate_file_path': self.certificate_file_path,
15084            'default_certificate_authority_name':
15085            self.default_certificate_authority_name,
15086            'default_certificate_profile_name':
15087            self.default_certificate_profile_name,
15088            'default_end_entity_profile_name':
15089            self.default_end_entity_profile_name,
15090            'enrollment_code_env_var': self.enrollment_code_env_var,
15091            'enrollment_username_env_var': self.enrollment_username_env_var,
15092            'id': self.id,
15093            'key_file_path': self.key_file_path,
15094            'name': self.name,
15095            'server_address': self.server_address,
15096            'tags': self.tags,
15097        }
@classmethod
def from_dict(cls, d)
15099    @classmethod
15100    def from_dict(cls, d):
15101        return cls(
15102            ca_file_path=d.get('ca_file_path'),
15103            certificate_file_path=d.get('certificate_file_path'),
15104            default_certificate_authority_name=d.get(
15105                'default_certificate_authority_name'),
15106            default_certificate_profile_name=d.get(
15107                'default_certificate_profile_name'),
15108            default_end_entity_profile_name=d.get(
15109                'default_end_entity_profile_name'),
15110            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15111            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15112            id=d.get('id'),
15113            key_file_path=d.get('key_file_path'),
15114            name=d.get('name'),
15115            server_address=d.get('server_address'),
15116            tags=d.get('tags'),
15117        )
class KeyfactorX509Store:
15120class KeyfactorX509Store:
15121    __slots__ = [
15122        'ca_file_path',
15123        'certificate_file_path',
15124        'default_certificate_authority_name',
15125        'default_certificate_profile_name',
15126        'default_end_entity_profile_name',
15127        'enrollment_code_env_var',
15128        'enrollment_username_env_var',
15129        'id',
15130        'key_file_path',
15131        'name',
15132        'server_address',
15133        'tags',
15134    ]
15135
15136    def __init__(
15137        self,
15138        ca_file_path=None,
15139        certificate_file_path=None,
15140        default_certificate_authority_name=None,
15141        default_certificate_profile_name=None,
15142        default_end_entity_profile_name=None,
15143        enrollment_code_env_var=None,
15144        enrollment_username_env_var=None,
15145        id=None,
15146        key_file_path=None,
15147        name=None,
15148        server_address=None,
15149        tags=None,
15150    ):
15151        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15152        '''
15153         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15154         This is not required if the CA is trusted by the host operating system. This should be a PEM
15155         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15156        '''
15157        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15158        '''
15159         Path to client certificate in PEM format. This certificate must contain a client certificate that
15160         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15161         key associated with the certificate, but KeyFile can also be set to configure the private key.
15162        '''
15163        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15164        '''
15165         Name of EJBCA certificate authority that will enroll CSR.
15166        '''
15167        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15168        '''
15169         Certificate profile name that EJBCA will enroll the CSR with.
15170        '''
15171        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15172        '''
15173         End entity profile that EJBCA will enroll the CSR with.
15174        '''
15175        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15176        '''
15177         code used by EJBCA during enrollment. May be left blank if no code is required.
15178        '''
15179        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15180        '''
15181         username that used by the EJBCA during enrollment. This can be left out. 
15182         If so, the username must be auto-generated on the Keyfactor side.
15183        '''
15184        self.id = id if id is not None else ''
15185        '''
15186         Unique identifier of the SecretStore.
15187        '''
15188        self.key_file_path = key_file_path if key_file_path is not None else ''
15189        '''
15190         Path to private key in PEM format. This file should contain the private key associated with the
15191         client certificate configured in CertificateFile.
15192        '''
15193        self.name = name if name is not None else ''
15194        '''
15195         Unique human-readable name of the SecretStore.
15196        '''
15197        self.server_address = server_address if server_address is not None else ''
15198        '''
15199         the host of the Key Factor CA
15200        '''
15201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15202        '''
15203         Tags is a map of key, value pairs.
15204        '''
15205
15206    def __repr__(self):
15207        return '<sdm.KeyfactorX509Store ' + \
15208            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15209            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15210            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15211            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15212            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15213            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15214            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15215            'id: ' + repr(self.id) + ' ' +\
15216            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15217            'name: ' + repr(self.name) + ' ' +\
15218            'server_address: ' + repr(self.server_address) + ' ' +\
15219            'tags: ' + repr(self.tags) + ' ' +\
15220            '>'
15221
15222    def to_dict(self):
15223        return {
15224            'ca_file_path': self.ca_file_path,
15225            'certificate_file_path': self.certificate_file_path,
15226            'default_certificate_authority_name':
15227            self.default_certificate_authority_name,
15228            'default_certificate_profile_name':
15229            self.default_certificate_profile_name,
15230            'default_end_entity_profile_name':
15231            self.default_end_entity_profile_name,
15232            'enrollment_code_env_var': self.enrollment_code_env_var,
15233            'enrollment_username_env_var': self.enrollment_username_env_var,
15234            'id': self.id,
15235            'key_file_path': self.key_file_path,
15236            'name': self.name,
15237            'server_address': self.server_address,
15238            'tags': self.tags,
15239        }
15240
15241    @classmethod
15242    def from_dict(cls, d):
15243        return cls(
15244            ca_file_path=d.get('ca_file_path'),
15245            certificate_file_path=d.get('certificate_file_path'),
15246            default_certificate_authority_name=d.get(
15247                'default_certificate_authority_name'),
15248            default_certificate_profile_name=d.get(
15249                'default_certificate_profile_name'),
15250            default_end_entity_profile_name=d.get(
15251                'default_end_entity_profile_name'),
15252            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15253            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15254            id=d.get('id'),
15255            key_file_path=d.get('key_file_path'),
15256            name=d.get('name'),
15257            server_address=d.get('server_address'),
15258            tags=d.get('tags'),
15259        )
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)
15136    def __init__(
15137        self,
15138        ca_file_path=None,
15139        certificate_file_path=None,
15140        default_certificate_authority_name=None,
15141        default_certificate_profile_name=None,
15142        default_end_entity_profile_name=None,
15143        enrollment_code_env_var=None,
15144        enrollment_username_env_var=None,
15145        id=None,
15146        key_file_path=None,
15147        name=None,
15148        server_address=None,
15149        tags=None,
15150    ):
15151        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15152        '''
15153         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15154         This is not required if the CA is trusted by the host operating system. This should be a PEM
15155         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15156        '''
15157        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15158        '''
15159         Path to client certificate in PEM format. This certificate must contain a client certificate that
15160         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15161         key associated with the certificate, but KeyFile can also be set to configure the private key.
15162        '''
15163        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15164        '''
15165         Name of EJBCA certificate authority that will enroll CSR.
15166        '''
15167        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15168        '''
15169         Certificate profile name that EJBCA will enroll the CSR with.
15170        '''
15171        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15172        '''
15173         End entity profile that EJBCA will enroll the CSR with.
15174        '''
15175        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15176        '''
15177         code used by EJBCA during enrollment. May be left blank if no code is required.
15178        '''
15179        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15180        '''
15181         username that used by the EJBCA during enrollment. This can be left out. 
15182         If so, the username must be auto-generated on the Keyfactor side.
15183        '''
15184        self.id = id if id is not None else ''
15185        '''
15186         Unique identifier of the SecretStore.
15187        '''
15188        self.key_file_path = key_file_path if key_file_path is not None else ''
15189        '''
15190         Path to private key in PEM format. This file should contain the private key associated with the
15191         client certificate configured in CertificateFile.
15192        '''
15193        self.name = name if name is not None else ''
15194        '''
15195         Unique human-readable name of the SecretStore.
15196        '''
15197        self.server_address = server_address if server_address is not None else ''
15198        '''
15199         the host of the Key Factor CA
15200        '''
15201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15202        '''
15203         Tags is a map of key, value pairs.
15204        '''
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)
15222    def to_dict(self):
15223        return {
15224            'ca_file_path': self.ca_file_path,
15225            'certificate_file_path': self.certificate_file_path,
15226            'default_certificate_authority_name':
15227            self.default_certificate_authority_name,
15228            'default_certificate_profile_name':
15229            self.default_certificate_profile_name,
15230            'default_end_entity_profile_name':
15231            self.default_end_entity_profile_name,
15232            'enrollment_code_env_var': self.enrollment_code_env_var,
15233            'enrollment_username_env_var': self.enrollment_username_env_var,
15234            'id': self.id,
15235            'key_file_path': self.key_file_path,
15236            'name': self.name,
15237            'server_address': self.server_address,
15238            'tags': self.tags,
15239        }
@classmethod
def from_dict(cls, d)
15241    @classmethod
15242    def from_dict(cls, d):
15243        return cls(
15244            ca_file_path=d.get('ca_file_path'),
15245            certificate_file_path=d.get('certificate_file_path'),
15246            default_certificate_authority_name=d.get(
15247                'default_certificate_authority_name'),
15248            default_certificate_profile_name=d.get(
15249                'default_certificate_profile_name'),
15250            default_end_entity_profile_name=d.get(
15251                'default_end_entity_profile_name'),
15252            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15253            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15254            id=d.get('id'),
15255            key_file_path=d.get('key_file_path'),
15256            name=d.get('name'),
15257            server_address=d.get('server_address'),
15258            tags=d.get('tags'),
15259        )
class Kubernetes:
15262class Kubernetes:
15263    __slots__ = [
15264        'allow_resource_role_bypass',
15265        'bind_interface',
15266        'certificate_authority',
15267        'client_certificate',
15268        'client_key',
15269        'discovery_enabled',
15270        'discovery_username',
15271        'egress_filter',
15272        'healthcheck_namespace',
15273        'healthy',
15274        'hostname',
15275        'id',
15276        'identity_alias_healthcheck_username',
15277        'identity_set_id',
15278        'name',
15279        'port',
15280        'port_override',
15281        'proxy_cluster_id',
15282        'secret_store_id',
15283        'subdomain',
15284        'tags',
15285    ]
15286
15287    def __init__(
15288        self,
15289        allow_resource_role_bypass=None,
15290        bind_interface=None,
15291        certificate_authority=None,
15292        client_certificate=None,
15293        client_key=None,
15294        discovery_enabled=None,
15295        discovery_username=None,
15296        egress_filter=None,
15297        healthcheck_namespace=None,
15298        healthy=None,
15299        hostname=None,
15300        id=None,
15301        identity_alias_healthcheck_username=None,
15302        identity_set_id=None,
15303        name=None,
15304        port=None,
15305        port_override=None,
15306        proxy_cluster_id=None,
15307        secret_store_id=None,
15308        subdomain=None,
15309        tags=None,
15310    ):
15311        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15312        '''
15313         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15314         when a resource role is not provided.
15315        '''
15316        self.bind_interface = bind_interface if bind_interface is not None else ''
15317        '''
15318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15319        '''
15320        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15321        '''
15322         The CA to authenticate TLS connections with.
15323        '''
15324        self.client_certificate = client_certificate if client_certificate is not None else ''
15325        '''
15326         The certificate to authenticate TLS connections with.
15327        '''
15328        self.client_key = client_key if client_key is not None else ''
15329        '''
15330         The key to authenticate TLS connections with.
15331        '''
15332        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15333        '''
15334         If true, configures discovery of a cluster to be run from a node.
15335        '''
15336        self.discovery_username = discovery_username if discovery_username is not None else ''
15337        '''
15338         If a cluster is configured for user impersonation, this is the user to impersonate when
15339         running discovery.
15340        '''
15341        self.egress_filter = egress_filter if egress_filter is not None else ''
15342        '''
15343         A filter applied to the routing logic to pin datasource to nodes.
15344        '''
15345        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15346        '''
15347         The path used to check the health of your connection.  Defaults to `default`.
15348        '''
15349        self.healthy = healthy if healthy is not None else False
15350        '''
15351         True if the datasource is reachable and the credentials are valid.
15352        '''
15353        self.hostname = hostname if hostname is not None else ''
15354        '''
15355         The host to dial to initiate a connection from the egress node to this resource.
15356        '''
15357        self.id = id if id is not None else ''
15358        '''
15359         Unique identifier of the Resource.
15360        '''
15361        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15362        '''
15363         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15364        '''
15365        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15366        '''
15367         The ID of the identity set to use for identity connections.
15368        '''
15369        self.name = name if name is not None else ''
15370        '''
15371         Unique human-readable name of the Resource.
15372        '''
15373        self.port = port if port is not None else 0
15374        '''
15375         The port to dial to initiate a connection from the egress node to this resource.
15376        '''
15377        self.port_override = port_override if port_override is not None else 0
15378        '''
15379         The local port used by clients to connect to this resource.
15380        '''
15381        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15382        '''
15383         ID of the proxy cluster for this resource, if any.
15384        '''
15385        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15386        '''
15387         ID of the secret store containing credentials for this resource, if any.
15388        '''
15389        self.subdomain = subdomain if subdomain is not None else ''
15390        '''
15391         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15392        '''
15393        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15394        '''
15395         Tags is a map of key, value pairs.
15396        '''
15397
15398    def __repr__(self):
15399        return '<sdm.Kubernetes ' + \
15400            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15401            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15402            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15403            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15404            'client_key: ' + repr(self.client_key) + ' ' +\
15405            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15406            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15407            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15408            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15409            'healthy: ' + repr(self.healthy) + ' ' +\
15410            'hostname: ' + repr(self.hostname) + ' ' +\
15411            'id: ' + repr(self.id) + ' ' +\
15412            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15413            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15414            'name: ' + repr(self.name) + ' ' +\
15415            'port: ' + repr(self.port) + ' ' +\
15416            'port_override: ' + repr(self.port_override) + ' ' +\
15417            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15418            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15419            'subdomain: ' + repr(self.subdomain) + ' ' +\
15420            'tags: ' + repr(self.tags) + ' ' +\
15421            '>'
15422
15423    def to_dict(self):
15424        return {
15425            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15426            'bind_interface': self.bind_interface,
15427            'certificate_authority': self.certificate_authority,
15428            'client_certificate': self.client_certificate,
15429            'client_key': self.client_key,
15430            'discovery_enabled': self.discovery_enabled,
15431            'discovery_username': self.discovery_username,
15432            'egress_filter': self.egress_filter,
15433            'healthcheck_namespace': self.healthcheck_namespace,
15434            'healthy': self.healthy,
15435            'hostname': self.hostname,
15436            'id': self.id,
15437            'identity_alias_healthcheck_username':
15438            self.identity_alias_healthcheck_username,
15439            'identity_set_id': self.identity_set_id,
15440            'name': self.name,
15441            'port': self.port,
15442            'port_override': self.port_override,
15443            'proxy_cluster_id': self.proxy_cluster_id,
15444            'secret_store_id': self.secret_store_id,
15445            'subdomain': self.subdomain,
15446            'tags': self.tags,
15447        }
15448
15449    @classmethod
15450    def from_dict(cls, d):
15451        return cls(
15452            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15453            bind_interface=d.get('bind_interface'),
15454            certificate_authority=d.get('certificate_authority'),
15455            client_certificate=d.get('client_certificate'),
15456            client_key=d.get('client_key'),
15457            discovery_enabled=d.get('discovery_enabled'),
15458            discovery_username=d.get('discovery_username'),
15459            egress_filter=d.get('egress_filter'),
15460            healthcheck_namespace=d.get('healthcheck_namespace'),
15461            healthy=d.get('healthy'),
15462            hostname=d.get('hostname'),
15463            id=d.get('id'),
15464            identity_alias_healthcheck_username=d.get(
15465                'identity_alias_healthcheck_username'),
15466            identity_set_id=d.get('identity_set_id'),
15467            name=d.get('name'),
15468            port=d.get('port'),
15469            port_override=d.get('port_override'),
15470            proxy_cluster_id=d.get('proxy_cluster_id'),
15471            secret_store_id=d.get('secret_store_id'),
15472            subdomain=d.get('subdomain'),
15473            tags=d.get('tags'),
15474        )
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)
15287    def __init__(
15288        self,
15289        allow_resource_role_bypass=None,
15290        bind_interface=None,
15291        certificate_authority=None,
15292        client_certificate=None,
15293        client_key=None,
15294        discovery_enabled=None,
15295        discovery_username=None,
15296        egress_filter=None,
15297        healthcheck_namespace=None,
15298        healthy=None,
15299        hostname=None,
15300        id=None,
15301        identity_alias_healthcheck_username=None,
15302        identity_set_id=None,
15303        name=None,
15304        port=None,
15305        port_override=None,
15306        proxy_cluster_id=None,
15307        secret_store_id=None,
15308        subdomain=None,
15309        tags=None,
15310    ):
15311        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15312        '''
15313         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15314         when a resource role is not provided.
15315        '''
15316        self.bind_interface = bind_interface if bind_interface is not None else ''
15317        '''
15318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15319        '''
15320        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15321        '''
15322         The CA to authenticate TLS connections with.
15323        '''
15324        self.client_certificate = client_certificate if client_certificate is not None else ''
15325        '''
15326         The certificate to authenticate TLS connections with.
15327        '''
15328        self.client_key = client_key if client_key is not None else ''
15329        '''
15330         The key to authenticate TLS connections with.
15331        '''
15332        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15333        '''
15334         If true, configures discovery of a cluster to be run from a node.
15335        '''
15336        self.discovery_username = discovery_username if discovery_username is not None else ''
15337        '''
15338         If a cluster is configured for user impersonation, this is the user to impersonate when
15339         running discovery.
15340        '''
15341        self.egress_filter = egress_filter if egress_filter is not None else ''
15342        '''
15343         A filter applied to the routing logic to pin datasource to nodes.
15344        '''
15345        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15346        '''
15347         The path used to check the health of your connection.  Defaults to `default`.
15348        '''
15349        self.healthy = healthy if healthy is not None else False
15350        '''
15351         True if the datasource is reachable and the credentials are valid.
15352        '''
15353        self.hostname = hostname if hostname is not None else ''
15354        '''
15355         The host to dial to initiate a connection from the egress node to this resource.
15356        '''
15357        self.id = id if id is not None else ''
15358        '''
15359         Unique identifier of the Resource.
15360        '''
15361        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15362        '''
15363         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15364        '''
15365        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15366        '''
15367         The ID of the identity set to use for identity connections.
15368        '''
15369        self.name = name if name is not None else ''
15370        '''
15371         Unique human-readable name of the Resource.
15372        '''
15373        self.port = port if port is not None else 0
15374        '''
15375         The port to dial to initiate a connection from the egress node to this resource.
15376        '''
15377        self.port_override = port_override if port_override is not None else 0
15378        '''
15379         The local port used by clients to connect to this resource.
15380        '''
15381        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15382        '''
15383         ID of the proxy cluster for this resource, if any.
15384        '''
15385        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15386        '''
15387         ID of the secret store containing credentials for this resource, if any.
15388        '''
15389        self.subdomain = subdomain if subdomain is not None else ''
15390        '''
15391         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15392        '''
15393        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15394        '''
15395         Tags is a map of key, value pairs.
15396        '''
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.

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.

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.

def to_dict(self)
15423    def to_dict(self):
15424        return {
15425            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15426            'bind_interface': self.bind_interface,
15427            'certificate_authority': self.certificate_authority,
15428            'client_certificate': self.client_certificate,
15429            'client_key': self.client_key,
15430            'discovery_enabled': self.discovery_enabled,
15431            'discovery_username': self.discovery_username,
15432            'egress_filter': self.egress_filter,
15433            'healthcheck_namespace': self.healthcheck_namespace,
15434            'healthy': self.healthy,
15435            'hostname': self.hostname,
15436            'id': self.id,
15437            'identity_alias_healthcheck_username':
15438            self.identity_alias_healthcheck_username,
15439            'identity_set_id': self.identity_set_id,
15440            'name': self.name,
15441            'port': self.port,
15442            'port_override': self.port_override,
15443            'proxy_cluster_id': self.proxy_cluster_id,
15444            'secret_store_id': self.secret_store_id,
15445            'subdomain': self.subdomain,
15446            'tags': self.tags,
15447        }
@classmethod
def from_dict(cls, d)
15449    @classmethod
15450    def from_dict(cls, d):
15451        return cls(
15452            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15453            bind_interface=d.get('bind_interface'),
15454            certificate_authority=d.get('certificate_authority'),
15455            client_certificate=d.get('client_certificate'),
15456            client_key=d.get('client_key'),
15457            discovery_enabled=d.get('discovery_enabled'),
15458            discovery_username=d.get('discovery_username'),
15459            egress_filter=d.get('egress_filter'),
15460            healthcheck_namespace=d.get('healthcheck_namespace'),
15461            healthy=d.get('healthy'),
15462            hostname=d.get('hostname'),
15463            id=d.get('id'),
15464            identity_alias_healthcheck_username=d.get(
15465                'identity_alias_healthcheck_username'),
15466            identity_set_id=d.get('identity_set_id'),
15467            name=d.get('name'),
15468            port=d.get('port'),
15469            port_override=d.get('port_override'),
15470            proxy_cluster_id=d.get('proxy_cluster_id'),
15471            secret_store_id=d.get('secret_store_id'),
15472            subdomain=d.get('subdomain'),
15473            tags=d.get('tags'),
15474        )
class KubernetesBasicAuth:
15477class KubernetesBasicAuth:
15478    '''
15479    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
15480    without a major version bump.
15481    '''
15482    __slots__ = [
15483        'bind_interface',
15484        'egress_filter',
15485        'healthcheck_namespace',
15486        'healthy',
15487        'hostname',
15488        'id',
15489        'name',
15490        'password',
15491        'port',
15492        'port_override',
15493        'proxy_cluster_id',
15494        'secret_store_id',
15495        'subdomain',
15496        'tags',
15497        'username',
15498    ]
15499
15500    def __init__(
15501        self,
15502        bind_interface=None,
15503        egress_filter=None,
15504        healthcheck_namespace=None,
15505        healthy=None,
15506        hostname=None,
15507        id=None,
15508        name=None,
15509        password=None,
15510        port=None,
15511        port_override=None,
15512        proxy_cluster_id=None,
15513        secret_store_id=None,
15514        subdomain=None,
15515        tags=None,
15516        username=None,
15517    ):
15518        self.bind_interface = bind_interface if bind_interface is not None else ''
15519        '''
15520         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15521        '''
15522        self.egress_filter = egress_filter if egress_filter is not None else ''
15523        '''
15524         A filter applied to the routing logic to pin datasource to nodes.
15525        '''
15526        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15527        '''
15528         The path used to check the health of your connection.  Defaults to `default`.
15529        '''
15530        self.healthy = healthy if healthy is not None else False
15531        '''
15532         True if the datasource is reachable and the credentials are valid.
15533        '''
15534        self.hostname = hostname if hostname is not None else ''
15535        '''
15536         The host to dial to initiate a connection from the egress node to this resource.
15537        '''
15538        self.id = id if id is not None else ''
15539        '''
15540         Unique identifier of the Resource.
15541        '''
15542        self.name = name if name is not None else ''
15543        '''
15544         Unique human-readable name of the Resource.
15545        '''
15546        self.password = password if password is not None else ''
15547        '''
15548         The password to authenticate with.
15549        '''
15550        self.port = port if port is not None else 0
15551        '''
15552         The port to dial to initiate a connection from the egress node to this resource.
15553        '''
15554        self.port_override = port_override if port_override is not None else 0
15555        '''
15556         The local port used by clients to connect to this resource.
15557        '''
15558        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15559        '''
15560         ID of the proxy cluster for this resource, if any.
15561        '''
15562        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15563        '''
15564         ID of the secret store containing credentials for this resource, if any.
15565        '''
15566        self.subdomain = subdomain if subdomain is not None else ''
15567        '''
15568         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15569        '''
15570        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15571        '''
15572         Tags is a map of key, value pairs.
15573        '''
15574        self.username = username if username is not None else ''
15575        '''
15576         The username to authenticate with.
15577        '''
15578
15579    def __repr__(self):
15580        return '<sdm.KubernetesBasicAuth ' + \
15581            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15582            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15583            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15584            'healthy: ' + repr(self.healthy) + ' ' +\
15585            'hostname: ' + repr(self.hostname) + ' ' +\
15586            'id: ' + repr(self.id) + ' ' +\
15587            'name: ' + repr(self.name) + ' ' +\
15588            'password: ' + repr(self.password) + ' ' +\
15589            'port: ' + repr(self.port) + ' ' +\
15590            'port_override: ' + repr(self.port_override) + ' ' +\
15591            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15592            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15593            'subdomain: ' + repr(self.subdomain) + ' ' +\
15594            'tags: ' + repr(self.tags) + ' ' +\
15595            'username: ' + repr(self.username) + ' ' +\
15596            '>'
15597
15598    def to_dict(self):
15599        return {
15600            'bind_interface': self.bind_interface,
15601            'egress_filter': self.egress_filter,
15602            'healthcheck_namespace': self.healthcheck_namespace,
15603            'healthy': self.healthy,
15604            'hostname': self.hostname,
15605            'id': self.id,
15606            'name': self.name,
15607            'password': self.password,
15608            'port': self.port,
15609            'port_override': self.port_override,
15610            'proxy_cluster_id': self.proxy_cluster_id,
15611            'secret_store_id': self.secret_store_id,
15612            'subdomain': self.subdomain,
15613            'tags': self.tags,
15614            'username': self.username,
15615        }
15616
15617    @classmethod
15618    def from_dict(cls, d):
15619        return cls(
15620            bind_interface=d.get('bind_interface'),
15621            egress_filter=d.get('egress_filter'),
15622            healthcheck_namespace=d.get('healthcheck_namespace'),
15623            healthy=d.get('healthy'),
15624            hostname=d.get('hostname'),
15625            id=d.get('id'),
15626            name=d.get('name'),
15627            password=d.get('password'),
15628            port=d.get('port'),
15629            port_override=d.get('port_override'),
15630            proxy_cluster_id=d.get('proxy_cluster_id'),
15631            secret_store_id=d.get('secret_store_id'),
15632            subdomain=d.get('subdomain'),
15633            tags=d.get('tags'),
15634            username=d.get('username'),
15635        )

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)
15500    def __init__(
15501        self,
15502        bind_interface=None,
15503        egress_filter=None,
15504        healthcheck_namespace=None,
15505        healthy=None,
15506        hostname=None,
15507        id=None,
15508        name=None,
15509        password=None,
15510        port=None,
15511        port_override=None,
15512        proxy_cluster_id=None,
15513        secret_store_id=None,
15514        subdomain=None,
15515        tags=None,
15516        username=None,
15517    ):
15518        self.bind_interface = bind_interface if bind_interface is not None else ''
15519        '''
15520         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15521        '''
15522        self.egress_filter = egress_filter if egress_filter is not None else ''
15523        '''
15524         A filter applied to the routing logic to pin datasource to nodes.
15525        '''
15526        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15527        '''
15528         The path used to check the health of your connection.  Defaults to `default`.
15529        '''
15530        self.healthy = healthy if healthy is not None else False
15531        '''
15532         True if the datasource is reachable and the credentials are valid.
15533        '''
15534        self.hostname = hostname if hostname is not None else ''
15535        '''
15536         The host to dial to initiate a connection from the egress node to this resource.
15537        '''
15538        self.id = id if id is not None else ''
15539        '''
15540         Unique identifier of the Resource.
15541        '''
15542        self.name = name if name is not None else ''
15543        '''
15544         Unique human-readable name of the Resource.
15545        '''
15546        self.password = password if password is not None else ''
15547        '''
15548         The password to authenticate with.
15549        '''
15550        self.port = port if port is not None else 0
15551        '''
15552         The port to dial to initiate a connection from the egress node to this resource.
15553        '''
15554        self.port_override = port_override if port_override is not None else 0
15555        '''
15556         The local port used by clients to connect to this resource.
15557        '''
15558        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15559        '''
15560         ID of the proxy cluster for this resource, if any.
15561        '''
15562        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15563        '''
15564         ID of the secret store containing credentials for this resource, if any.
15565        '''
15566        self.subdomain = subdomain if subdomain is not None else ''
15567        '''
15568         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15569        '''
15570        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15571        '''
15572         Tags is a map of key, value pairs.
15573        '''
15574        self.username = username if username is not None else ''
15575        '''
15576         The username to authenticate with.
15577        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
15598    def to_dict(self):
15599        return {
15600            'bind_interface': self.bind_interface,
15601            'egress_filter': self.egress_filter,
15602            'healthcheck_namespace': self.healthcheck_namespace,
15603            'healthy': self.healthy,
15604            'hostname': self.hostname,
15605            'id': self.id,
15606            'name': self.name,
15607            'password': self.password,
15608            'port': self.port,
15609            'port_override': self.port_override,
15610            'proxy_cluster_id': self.proxy_cluster_id,
15611            'secret_store_id': self.secret_store_id,
15612            'subdomain': self.subdomain,
15613            'tags': self.tags,
15614            'username': self.username,
15615        }
@classmethod
def from_dict(cls, d)
15617    @classmethod
15618    def from_dict(cls, d):
15619        return cls(
15620            bind_interface=d.get('bind_interface'),
15621            egress_filter=d.get('egress_filter'),
15622            healthcheck_namespace=d.get('healthcheck_namespace'),
15623            healthy=d.get('healthy'),
15624            hostname=d.get('hostname'),
15625            id=d.get('id'),
15626            name=d.get('name'),
15627            password=d.get('password'),
15628            port=d.get('port'),
15629            port_override=d.get('port_override'),
15630            proxy_cluster_id=d.get('proxy_cluster_id'),
15631            secret_store_id=d.get('secret_store_id'),
15632            subdomain=d.get('subdomain'),
15633            tags=d.get('tags'),
15634            username=d.get('username'),
15635        )
class KubernetesPodIdentity:
15638class KubernetesPodIdentity:
15639    __slots__ = [
15640        'allow_resource_role_bypass',
15641        'bind_interface',
15642        'certificate_authority',
15643        'discovery_enabled',
15644        'discovery_username',
15645        'egress_filter',
15646        'healthcheck_namespace',
15647        'healthy',
15648        'id',
15649        'identity_alias_healthcheck_username',
15650        'identity_set_id',
15651        'name',
15652        'port_override',
15653        'proxy_cluster_id',
15654        'secret_store_id',
15655        'subdomain',
15656        'tags',
15657    ]
15658
15659    def __init__(
15660        self,
15661        allow_resource_role_bypass=None,
15662        bind_interface=None,
15663        certificate_authority=None,
15664        discovery_enabled=None,
15665        discovery_username=None,
15666        egress_filter=None,
15667        healthcheck_namespace=None,
15668        healthy=None,
15669        id=None,
15670        identity_alias_healthcheck_username=None,
15671        identity_set_id=None,
15672        name=None,
15673        port_override=None,
15674        proxy_cluster_id=None,
15675        secret_store_id=None,
15676        subdomain=None,
15677        tags=None,
15678    ):
15679        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15680        '''
15681         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15682         when a resource role is not provided.
15683        '''
15684        self.bind_interface = bind_interface if bind_interface is not None else ''
15685        '''
15686         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15687        '''
15688        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15689        '''
15690         The CA to authenticate TLS connections with.
15691        '''
15692        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15693        '''
15694         If true, configures discovery of a cluster to be run from a node.
15695        '''
15696        self.discovery_username = discovery_username if discovery_username is not None else ''
15697        '''
15698         If a cluster is configured for user impersonation, this is the user to impersonate when
15699         running discovery.
15700        '''
15701        self.egress_filter = egress_filter if egress_filter is not None else ''
15702        '''
15703         A filter applied to the routing logic to pin datasource to nodes.
15704        '''
15705        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15706        '''
15707         The path used to check the health of your connection.  Defaults to `default`.
15708        '''
15709        self.healthy = healthy if healthy is not None else False
15710        '''
15711         True if the datasource is reachable and the credentials are valid.
15712        '''
15713        self.id = id if id is not None else ''
15714        '''
15715         Unique identifier of the Resource.
15716        '''
15717        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15718        '''
15719         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15720        '''
15721        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15722        '''
15723         The ID of the identity set to use for identity connections.
15724        '''
15725        self.name = name if name is not None else ''
15726        '''
15727         Unique human-readable name of the Resource.
15728        '''
15729        self.port_override = port_override if port_override is not None else 0
15730        '''
15731         The local port used by clients to connect to this resource.
15732        '''
15733        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15734        '''
15735         ID of the proxy cluster for this resource, if any.
15736        '''
15737        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15738        '''
15739         ID of the secret store containing credentials for this resource, if any.
15740        '''
15741        self.subdomain = subdomain if subdomain is not None else ''
15742        '''
15743         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15744        '''
15745        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15746        '''
15747         Tags is a map of key, value pairs.
15748        '''
15749
15750    def __repr__(self):
15751        return '<sdm.KubernetesPodIdentity ' + \
15752            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15753            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15754            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15755            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15756            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15757            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15758            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15759            'healthy: ' + repr(self.healthy) + ' ' +\
15760            'id: ' + repr(self.id) + ' ' +\
15761            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15762            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15763            'name: ' + repr(self.name) + ' ' +\
15764            'port_override: ' + repr(self.port_override) + ' ' +\
15765            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15766            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15767            'subdomain: ' + repr(self.subdomain) + ' ' +\
15768            'tags: ' + repr(self.tags) + ' ' +\
15769            '>'
15770
15771    def to_dict(self):
15772        return {
15773            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15774            'bind_interface': self.bind_interface,
15775            'certificate_authority': self.certificate_authority,
15776            'discovery_enabled': self.discovery_enabled,
15777            'discovery_username': self.discovery_username,
15778            'egress_filter': self.egress_filter,
15779            'healthcheck_namespace': self.healthcheck_namespace,
15780            'healthy': self.healthy,
15781            'id': self.id,
15782            'identity_alias_healthcheck_username':
15783            self.identity_alias_healthcheck_username,
15784            'identity_set_id': self.identity_set_id,
15785            'name': self.name,
15786            'port_override': self.port_override,
15787            'proxy_cluster_id': self.proxy_cluster_id,
15788            'secret_store_id': self.secret_store_id,
15789            'subdomain': self.subdomain,
15790            'tags': self.tags,
15791        }
15792
15793    @classmethod
15794    def from_dict(cls, d):
15795        return cls(
15796            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15797            bind_interface=d.get('bind_interface'),
15798            certificate_authority=d.get('certificate_authority'),
15799            discovery_enabled=d.get('discovery_enabled'),
15800            discovery_username=d.get('discovery_username'),
15801            egress_filter=d.get('egress_filter'),
15802            healthcheck_namespace=d.get('healthcheck_namespace'),
15803            healthy=d.get('healthy'),
15804            id=d.get('id'),
15805            identity_alias_healthcheck_username=d.get(
15806                'identity_alias_healthcheck_username'),
15807            identity_set_id=d.get('identity_set_id'),
15808            name=d.get('name'),
15809            port_override=d.get('port_override'),
15810            proxy_cluster_id=d.get('proxy_cluster_id'),
15811            secret_store_id=d.get('secret_store_id'),
15812            subdomain=d.get('subdomain'),
15813            tags=d.get('tags'),
15814        )
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)
15659    def __init__(
15660        self,
15661        allow_resource_role_bypass=None,
15662        bind_interface=None,
15663        certificate_authority=None,
15664        discovery_enabled=None,
15665        discovery_username=None,
15666        egress_filter=None,
15667        healthcheck_namespace=None,
15668        healthy=None,
15669        id=None,
15670        identity_alias_healthcheck_username=None,
15671        identity_set_id=None,
15672        name=None,
15673        port_override=None,
15674        proxy_cluster_id=None,
15675        secret_store_id=None,
15676        subdomain=None,
15677        tags=None,
15678    ):
15679        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15680        '''
15681         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15682         when a resource role is not provided.
15683        '''
15684        self.bind_interface = bind_interface if bind_interface is not None else ''
15685        '''
15686         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15687        '''
15688        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15689        '''
15690         The CA to authenticate TLS connections with.
15691        '''
15692        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15693        '''
15694         If true, configures discovery of a cluster to be run from a node.
15695        '''
15696        self.discovery_username = discovery_username if discovery_username is not None else ''
15697        '''
15698         If a cluster is configured for user impersonation, this is the user to impersonate when
15699         running discovery.
15700        '''
15701        self.egress_filter = egress_filter if egress_filter is not None else ''
15702        '''
15703         A filter applied to the routing logic to pin datasource to nodes.
15704        '''
15705        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15706        '''
15707         The path used to check the health of your connection.  Defaults to `default`.
15708        '''
15709        self.healthy = healthy if healthy is not None else False
15710        '''
15711         True if the datasource is reachable and the credentials are valid.
15712        '''
15713        self.id = id if id is not None else ''
15714        '''
15715         Unique identifier of the Resource.
15716        '''
15717        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15718        '''
15719         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15720        '''
15721        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15722        '''
15723         The ID of the identity set to use for identity connections.
15724        '''
15725        self.name = name if name is not None else ''
15726        '''
15727         Unique human-readable name of the Resource.
15728        '''
15729        self.port_override = port_override if port_override is not None else 0
15730        '''
15731         The local port used by clients to connect to this resource.
15732        '''
15733        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15734        '''
15735         ID of the proxy cluster for this resource, if any.
15736        '''
15737        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15738        '''
15739         ID of the secret store containing credentials for this resource, if any.
15740        '''
15741        self.subdomain = subdomain if subdomain is not None else ''
15742        '''
15743         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15744        '''
15745        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15746        '''
15747         Tags is a map of key, value pairs.
15748        '''
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.

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.

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.

def to_dict(self)
15771    def to_dict(self):
15772        return {
15773            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15774            'bind_interface': self.bind_interface,
15775            'certificate_authority': self.certificate_authority,
15776            'discovery_enabled': self.discovery_enabled,
15777            'discovery_username': self.discovery_username,
15778            'egress_filter': self.egress_filter,
15779            'healthcheck_namespace': self.healthcheck_namespace,
15780            'healthy': self.healthy,
15781            'id': self.id,
15782            'identity_alias_healthcheck_username':
15783            self.identity_alias_healthcheck_username,
15784            'identity_set_id': self.identity_set_id,
15785            'name': self.name,
15786            'port_override': self.port_override,
15787            'proxy_cluster_id': self.proxy_cluster_id,
15788            'secret_store_id': self.secret_store_id,
15789            'subdomain': self.subdomain,
15790            'tags': self.tags,
15791        }
@classmethod
def from_dict(cls, d)
15793    @classmethod
15794    def from_dict(cls, d):
15795        return cls(
15796            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15797            bind_interface=d.get('bind_interface'),
15798            certificate_authority=d.get('certificate_authority'),
15799            discovery_enabled=d.get('discovery_enabled'),
15800            discovery_username=d.get('discovery_username'),
15801            egress_filter=d.get('egress_filter'),
15802            healthcheck_namespace=d.get('healthcheck_namespace'),
15803            healthy=d.get('healthy'),
15804            id=d.get('id'),
15805            identity_alias_healthcheck_username=d.get(
15806                'identity_alias_healthcheck_username'),
15807            identity_set_id=d.get('identity_set_id'),
15808            name=d.get('name'),
15809            port_override=d.get('port_override'),
15810            proxy_cluster_id=d.get('proxy_cluster_id'),
15811            secret_store_id=d.get('secret_store_id'),
15812            subdomain=d.get('subdomain'),
15813            tags=d.get('tags'),
15814        )
class KubernetesServiceAccount:
15817class KubernetesServiceAccount:
15818    __slots__ = [
15819        'allow_resource_role_bypass',
15820        'bind_interface',
15821        'discovery_enabled',
15822        'discovery_username',
15823        'egress_filter',
15824        'healthcheck_namespace',
15825        'healthy',
15826        'hostname',
15827        'id',
15828        'identity_alias_healthcheck_username',
15829        'identity_set_id',
15830        'name',
15831        'port',
15832        'port_override',
15833        'proxy_cluster_id',
15834        'secret_store_id',
15835        'subdomain',
15836        'tags',
15837        'token',
15838    ]
15839
15840    def __init__(
15841        self,
15842        allow_resource_role_bypass=None,
15843        bind_interface=None,
15844        discovery_enabled=None,
15845        discovery_username=None,
15846        egress_filter=None,
15847        healthcheck_namespace=None,
15848        healthy=None,
15849        hostname=None,
15850        id=None,
15851        identity_alias_healthcheck_username=None,
15852        identity_set_id=None,
15853        name=None,
15854        port=None,
15855        port_override=None,
15856        proxy_cluster_id=None,
15857        secret_store_id=None,
15858        subdomain=None,
15859        tags=None,
15860        token=None,
15861    ):
15862        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15863        '''
15864         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15865         when a resource role is not provided.
15866        '''
15867        self.bind_interface = bind_interface if bind_interface is not None else ''
15868        '''
15869         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15870        '''
15871        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15872        '''
15873         If true, configures discovery of a cluster to be run from a node.
15874        '''
15875        self.discovery_username = discovery_username if discovery_username is not None else ''
15876        '''
15877         If a cluster is configured for user impersonation, this is the user to impersonate when
15878         running discovery.
15879        '''
15880        self.egress_filter = egress_filter if egress_filter is not None else ''
15881        '''
15882         A filter applied to the routing logic to pin datasource to nodes.
15883        '''
15884        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15885        '''
15886         The path used to check the health of your connection.  Defaults to `default`.
15887        '''
15888        self.healthy = healthy if healthy is not None else False
15889        '''
15890         True if the datasource is reachable and the credentials are valid.
15891        '''
15892        self.hostname = hostname if hostname is not None else ''
15893        '''
15894         The host to dial to initiate a connection from the egress node to this resource.
15895        '''
15896        self.id = id if id is not None else ''
15897        '''
15898         Unique identifier of the Resource.
15899        '''
15900        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15901        '''
15902         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15903        '''
15904        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15905        '''
15906         The ID of the identity set to use for identity connections.
15907        '''
15908        self.name = name if name is not None else ''
15909        '''
15910         Unique human-readable name of the Resource.
15911        '''
15912        self.port = port if port is not None else 0
15913        '''
15914         The port to dial to initiate a connection from the egress node to this resource.
15915        '''
15916        self.port_override = port_override if port_override is not None else 0
15917        '''
15918         The local port used by clients to connect to this resource.
15919        '''
15920        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15921        '''
15922         ID of the proxy cluster for this resource, if any.
15923        '''
15924        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15925        '''
15926         ID of the secret store containing credentials for this resource, if any.
15927        '''
15928        self.subdomain = subdomain if subdomain is not None else ''
15929        '''
15930         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15931        '''
15932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15933        '''
15934         Tags is a map of key, value pairs.
15935        '''
15936        self.token = token if token is not None else ''
15937        '''
15938         The API token to authenticate with.
15939        '''
15940
15941    def __repr__(self):
15942        return '<sdm.KubernetesServiceAccount ' + \
15943            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15944            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15945            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15946            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15947            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15948            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15949            'healthy: ' + repr(self.healthy) + ' ' +\
15950            'hostname: ' + repr(self.hostname) + ' ' +\
15951            'id: ' + repr(self.id) + ' ' +\
15952            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15953            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15954            'name: ' + repr(self.name) + ' ' +\
15955            'port: ' + repr(self.port) + ' ' +\
15956            'port_override: ' + repr(self.port_override) + ' ' +\
15957            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15958            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15959            'subdomain: ' + repr(self.subdomain) + ' ' +\
15960            'tags: ' + repr(self.tags) + ' ' +\
15961            'token: ' + repr(self.token) + ' ' +\
15962            '>'
15963
15964    def to_dict(self):
15965        return {
15966            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15967            'bind_interface': self.bind_interface,
15968            'discovery_enabled': self.discovery_enabled,
15969            'discovery_username': self.discovery_username,
15970            'egress_filter': self.egress_filter,
15971            'healthcheck_namespace': self.healthcheck_namespace,
15972            'healthy': self.healthy,
15973            'hostname': self.hostname,
15974            'id': self.id,
15975            'identity_alias_healthcheck_username':
15976            self.identity_alias_healthcheck_username,
15977            'identity_set_id': self.identity_set_id,
15978            'name': self.name,
15979            'port': self.port,
15980            'port_override': self.port_override,
15981            'proxy_cluster_id': self.proxy_cluster_id,
15982            'secret_store_id': self.secret_store_id,
15983            'subdomain': self.subdomain,
15984            'tags': self.tags,
15985            'token': self.token,
15986        }
15987
15988    @classmethod
15989    def from_dict(cls, d):
15990        return cls(
15991            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15992            bind_interface=d.get('bind_interface'),
15993            discovery_enabled=d.get('discovery_enabled'),
15994            discovery_username=d.get('discovery_username'),
15995            egress_filter=d.get('egress_filter'),
15996            healthcheck_namespace=d.get('healthcheck_namespace'),
15997            healthy=d.get('healthy'),
15998            hostname=d.get('hostname'),
15999            id=d.get('id'),
16000            identity_alias_healthcheck_username=d.get(
16001                'identity_alias_healthcheck_username'),
16002            identity_set_id=d.get('identity_set_id'),
16003            name=d.get('name'),
16004            port=d.get('port'),
16005            port_override=d.get('port_override'),
16006            proxy_cluster_id=d.get('proxy_cluster_id'),
16007            secret_store_id=d.get('secret_store_id'),
16008            subdomain=d.get('subdomain'),
16009            tags=d.get('tags'),
16010            token=d.get('token'),
16011        )
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)
15840    def __init__(
15841        self,
15842        allow_resource_role_bypass=None,
15843        bind_interface=None,
15844        discovery_enabled=None,
15845        discovery_username=None,
15846        egress_filter=None,
15847        healthcheck_namespace=None,
15848        healthy=None,
15849        hostname=None,
15850        id=None,
15851        identity_alias_healthcheck_username=None,
15852        identity_set_id=None,
15853        name=None,
15854        port=None,
15855        port_override=None,
15856        proxy_cluster_id=None,
15857        secret_store_id=None,
15858        subdomain=None,
15859        tags=None,
15860        token=None,
15861    ):
15862        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15863        '''
15864         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15865         when a resource role is not provided.
15866        '''
15867        self.bind_interface = bind_interface if bind_interface is not None else ''
15868        '''
15869         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15870        '''
15871        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15872        '''
15873         If true, configures discovery of a cluster to be run from a node.
15874        '''
15875        self.discovery_username = discovery_username if discovery_username is not None else ''
15876        '''
15877         If a cluster is configured for user impersonation, this is the user to impersonate when
15878         running discovery.
15879        '''
15880        self.egress_filter = egress_filter if egress_filter is not None else ''
15881        '''
15882         A filter applied to the routing logic to pin datasource to nodes.
15883        '''
15884        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15885        '''
15886         The path used to check the health of your connection.  Defaults to `default`.
15887        '''
15888        self.healthy = healthy if healthy is not None else False
15889        '''
15890         True if the datasource is reachable and the credentials are valid.
15891        '''
15892        self.hostname = hostname if hostname is not None else ''
15893        '''
15894         The host to dial to initiate a connection from the egress node to this resource.
15895        '''
15896        self.id = id if id is not None else ''
15897        '''
15898         Unique identifier of the Resource.
15899        '''
15900        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15901        '''
15902         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15903        '''
15904        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15905        '''
15906         The ID of the identity set to use for identity connections.
15907        '''
15908        self.name = name if name is not None else ''
15909        '''
15910         Unique human-readable name of the Resource.
15911        '''
15912        self.port = port if port is not None else 0
15913        '''
15914         The port to dial to initiate a connection from the egress node to this resource.
15915        '''
15916        self.port_override = port_override if port_override is not None else 0
15917        '''
15918         The local port used by clients to connect to this resource.
15919        '''
15920        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15921        '''
15922         ID of the proxy cluster for this resource, if any.
15923        '''
15924        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15925        '''
15926         ID of the secret store containing credentials for this resource, if any.
15927        '''
15928        self.subdomain = subdomain if subdomain is not None else ''
15929        '''
15930         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15931        '''
15932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15933        '''
15934         Tags is a map of key, value pairs.
15935        '''
15936        self.token = token if token is not None else ''
15937        '''
15938         The API token to authenticate with.
15939        '''
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.

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.

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.

token

The API token to authenticate with.

def to_dict(self)
15964    def to_dict(self):
15965        return {
15966            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15967            'bind_interface': self.bind_interface,
15968            'discovery_enabled': self.discovery_enabled,
15969            'discovery_username': self.discovery_username,
15970            'egress_filter': self.egress_filter,
15971            'healthcheck_namespace': self.healthcheck_namespace,
15972            'healthy': self.healthy,
15973            'hostname': self.hostname,
15974            'id': self.id,
15975            'identity_alias_healthcheck_username':
15976            self.identity_alias_healthcheck_username,
15977            'identity_set_id': self.identity_set_id,
15978            'name': self.name,
15979            'port': self.port,
15980            'port_override': self.port_override,
15981            'proxy_cluster_id': self.proxy_cluster_id,
15982            'secret_store_id': self.secret_store_id,
15983            'subdomain': self.subdomain,
15984            'tags': self.tags,
15985            'token': self.token,
15986        }
@classmethod
def from_dict(cls, d)
15988    @classmethod
15989    def from_dict(cls, d):
15990        return cls(
15991            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15992            bind_interface=d.get('bind_interface'),
15993            discovery_enabled=d.get('discovery_enabled'),
15994            discovery_username=d.get('discovery_username'),
15995            egress_filter=d.get('egress_filter'),
15996            healthcheck_namespace=d.get('healthcheck_namespace'),
15997            healthy=d.get('healthy'),
15998            hostname=d.get('hostname'),
15999            id=d.get('id'),
16000            identity_alias_healthcheck_username=d.get(
16001                'identity_alias_healthcheck_username'),
16002            identity_set_id=d.get('identity_set_id'),
16003            name=d.get('name'),
16004            port=d.get('port'),
16005            port_override=d.get('port_override'),
16006            proxy_cluster_id=d.get('proxy_cluster_id'),
16007            secret_store_id=d.get('secret_store_id'),
16008            subdomain=d.get('subdomain'),
16009            tags=d.get('tags'),
16010            token=d.get('token'),
16011        )
class KubernetesServiceAccountUserImpersonation:
16014class KubernetesServiceAccountUserImpersonation:
16015    __slots__ = [
16016        'bind_interface',
16017        'egress_filter',
16018        'healthcheck_namespace',
16019        'healthy',
16020        'hostname',
16021        'id',
16022        'name',
16023        'port',
16024        'port_override',
16025        'proxy_cluster_id',
16026        'secret_store_id',
16027        'subdomain',
16028        'tags',
16029        'token',
16030    ]
16031
16032    def __init__(
16033        self,
16034        bind_interface=None,
16035        egress_filter=None,
16036        healthcheck_namespace=None,
16037        healthy=None,
16038        hostname=None,
16039        id=None,
16040        name=None,
16041        port=None,
16042        port_override=None,
16043        proxy_cluster_id=None,
16044        secret_store_id=None,
16045        subdomain=None,
16046        tags=None,
16047        token=None,
16048    ):
16049        self.bind_interface = bind_interface if bind_interface is not None else ''
16050        '''
16051         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16052        '''
16053        self.egress_filter = egress_filter if egress_filter is not None else ''
16054        '''
16055         A filter applied to the routing logic to pin datasource to nodes.
16056        '''
16057        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16058        '''
16059         The path used to check the health of your connection.  Defaults to `default`.
16060        '''
16061        self.healthy = healthy if healthy is not None else False
16062        '''
16063         True if the datasource is reachable and the credentials are valid.
16064        '''
16065        self.hostname = hostname if hostname is not None else ''
16066        '''
16067         The host to dial to initiate a connection from the egress node to this resource.
16068        '''
16069        self.id = id if id is not None else ''
16070        '''
16071         Unique identifier of the Resource.
16072        '''
16073        self.name = name if name is not None else ''
16074        '''
16075         Unique human-readable name of the Resource.
16076        '''
16077        self.port = port if port is not None else 0
16078        '''
16079         The port to dial to initiate a connection from the egress node to this resource.
16080        '''
16081        self.port_override = port_override if port_override is not None else 0
16082        '''
16083         The local port used by clients to connect to this resource.
16084        '''
16085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16086        '''
16087         ID of the proxy cluster for this resource, if any.
16088        '''
16089        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16090        '''
16091         ID of the secret store containing credentials for this resource, if any.
16092        '''
16093        self.subdomain = subdomain if subdomain is not None else ''
16094        '''
16095         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16096        '''
16097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16098        '''
16099         Tags is a map of key, value pairs.
16100        '''
16101        self.token = token if token is not None else ''
16102        '''
16103         The API token to authenticate with.
16104        '''
16105
16106    def __repr__(self):
16107        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
16108            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16109            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16110            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16111            'healthy: ' + repr(self.healthy) + ' ' +\
16112            'hostname: ' + repr(self.hostname) + ' ' +\
16113            'id: ' + repr(self.id) + ' ' +\
16114            'name: ' + repr(self.name) + ' ' +\
16115            'port: ' + repr(self.port) + ' ' +\
16116            'port_override: ' + repr(self.port_override) + ' ' +\
16117            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16118            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16119            'subdomain: ' + repr(self.subdomain) + ' ' +\
16120            'tags: ' + repr(self.tags) + ' ' +\
16121            'token: ' + repr(self.token) + ' ' +\
16122            '>'
16123
16124    def to_dict(self):
16125        return {
16126            'bind_interface': self.bind_interface,
16127            'egress_filter': self.egress_filter,
16128            'healthcheck_namespace': self.healthcheck_namespace,
16129            'healthy': self.healthy,
16130            'hostname': self.hostname,
16131            'id': self.id,
16132            'name': self.name,
16133            'port': self.port,
16134            'port_override': self.port_override,
16135            'proxy_cluster_id': self.proxy_cluster_id,
16136            'secret_store_id': self.secret_store_id,
16137            'subdomain': self.subdomain,
16138            'tags': self.tags,
16139            'token': self.token,
16140        }
16141
16142    @classmethod
16143    def from_dict(cls, d):
16144        return cls(
16145            bind_interface=d.get('bind_interface'),
16146            egress_filter=d.get('egress_filter'),
16147            healthcheck_namespace=d.get('healthcheck_namespace'),
16148            healthy=d.get('healthy'),
16149            hostname=d.get('hostname'),
16150            id=d.get('id'),
16151            name=d.get('name'),
16152            port=d.get('port'),
16153            port_override=d.get('port_override'),
16154            proxy_cluster_id=d.get('proxy_cluster_id'),
16155            secret_store_id=d.get('secret_store_id'),
16156            subdomain=d.get('subdomain'),
16157            tags=d.get('tags'),
16158            token=d.get('token'),
16159        )
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)
16032    def __init__(
16033        self,
16034        bind_interface=None,
16035        egress_filter=None,
16036        healthcheck_namespace=None,
16037        healthy=None,
16038        hostname=None,
16039        id=None,
16040        name=None,
16041        port=None,
16042        port_override=None,
16043        proxy_cluster_id=None,
16044        secret_store_id=None,
16045        subdomain=None,
16046        tags=None,
16047        token=None,
16048    ):
16049        self.bind_interface = bind_interface if bind_interface is not None else ''
16050        '''
16051         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16052        '''
16053        self.egress_filter = egress_filter if egress_filter is not None else ''
16054        '''
16055         A filter applied to the routing logic to pin datasource to nodes.
16056        '''
16057        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16058        '''
16059         The path used to check the health of your connection.  Defaults to `default`.
16060        '''
16061        self.healthy = healthy if healthy is not None else False
16062        '''
16063         True if the datasource is reachable and the credentials are valid.
16064        '''
16065        self.hostname = hostname if hostname is not None else ''
16066        '''
16067         The host to dial to initiate a connection from the egress node to this resource.
16068        '''
16069        self.id = id if id is not None else ''
16070        '''
16071         Unique identifier of the Resource.
16072        '''
16073        self.name = name if name is not None else ''
16074        '''
16075         Unique human-readable name of the Resource.
16076        '''
16077        self.port = port if port is not None else 0
16078        '''
16079         The port to dial to initiate a connection from the egress node to this resource.
16080        '''
16081        self.port_override = port_override if port_override is not None else 0
16082        '''
16083         The local port used by clients to connect to this resource.
16084        '''
16085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16086        '''
16087         ID of the proxy cluster for this resource, if any.
16088        '''
16089        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16090        '''
16091         ID of the secret store containing credentials for this resource, if any.
16092        '''
16093        self.subdomain = subdomain if subdomain is not None else ''
16094        '''
16095         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16096        '''
16097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16098        '''
16099         Tags is a map of key, value pairs.
16100        '''
16101        self.token = token if token is not None else ''
16102        '''
16103         The API token to authenticate with.
16104        '''
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.

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.

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.

token

The API token to authenticate with.

def to_dict(self)
16124    def to_dict(self):
16125        return {
16126            'bind_interface': self.bind_interface,
16127            'egress_filter': self.egress_filter,
16128            'healthcheck_namespace': self.healthcheck_namespace,
16129            'healthy': self.healthy,
16130            'hostname': self.hostname,
16131            'id': self.id,
16132            'name': self.name,
16133            'port': self.port,
16134            'port_override': self.port_override,
16135            'proxy_cluster_id': self.proxy_cluster_id,
16136            'secret_store_id': self.secret_store_id,
16137            'subdomain': self.subdomain,
16138            'tags': self.tags,
16139            'token': self.token,
16140        }
@classmethod
def from_dict(cls, d)
16142    @classmethod
16143    def from_dict(cls, d):
16144        return cls(
16145            bind_interface=d.get('bind_interface'),
16146            egress_filter=d.get('egress_filter'),
16147            healthcheck_namespace=d.get('healthcheck_namespace'),
16148            healthy=d.get('healthy'),
16149            hostname=d.get('hostname'),
16150            id=d.get('id'),
16151            name=d.get('name'),
16152            port=d.get('port'),
16153            port_override=d.get('port_override'),
16154            proxy_cluster_id=d.get('proxy_cluster_id'),
16155            secret_store_id=d.get('secret_store_id'),
16156            subdomain=d.get('subdomain'),
16157            tags=d.get('tags'),
16158            token=d.get('token'),
16159        )
class KubernetesUserImpersonation:
16162class KubernetesUserImpersonation:
16163    __slots__ = [
16164        'bind_interface',
16165        'certificate_authority',
16166        'client_certificate',
16167        'client_key',
16168        'egress_filter',
16169        'healthcheck_namespace',
16170        'healthy',
16171        'hostname',
16172        'id',
16173        'name',
16174        'port',
16175        'port_override',
16176        'proxy_cluster_id',
16177        'secret_store_id',
16178        'subdomain',
16179        'tags',
16180    ]
16181
16182    def __init__(
16183        self,
16184        bind_interface=None,
16185        certificate_authority=None,
16186        client_certificate=None,
16187        client_key=None,
16188        egress_filter=None,
16189        healthcheck_namespace=None,
16190        healthy=None,
16191        hostname=None,
16192        id=None,
16193        name=None,
16194        port=None,
16195        port_override=None,
16196        proxy_cluster_id=None,
16197        secret_store_id=None,
16198        subdomain=None,
16199        tags=None,
16200    ):
16201        self.bind_interface = bind_interface if bind_interface is not None else ''
16202        '''
16203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16204        '''
16205        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16206        '''
16207         The CA to authenticate TLS connections with.
16208        '''
16209        self.client_certificate = client_certificate if client_certificate is not None else ''
16210        '''
16211         The certificate to authenticate TLS connections with.
16212        '''
16213        self.client_key = client_key if client_key is not None else ''
16214        '''
16215         The key to authenticate TLS connections with.
16216        '''
16217        self.egress_filter = egress_filter if egress_filter is not None else ''
16218        '''
16219         A filter applied to the routing logic to pin datasource to nodes.
16220        '''
16221        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16222        '''
16223         The path used to check the health of your connection.  Defaults to `default`.
16224        '''
16225        self.healthy = healthy if healthy is not None else False
16226        '''
16227         True if the datasource is reachable and the credentials are valid.
16228        '''
16229        self.hostname = hostname if hostname is not None else ''
16230        '''
16231         The host to dial to initiate a connection from the egress node to this resource.
16232        '''
16233        self.id = id if id is not None else ''
16234        '''
16235         Unique identifier of the Resource.
16236        '''
16237        self.name = name if name is not None else ''
16238        '''
16239         Unique human-readable name of the Resource.
16240        '''
16241        self.port = port if port is not None else 0
16242        '''
16243         The port to dial to initiate a connection from the egress node to this resource.
16244        '''
16245        self.port_override = port_override if port_override is not None else 0
16246        '''
16247         The local port used by clients to connect to this resource.
16248        '''
16249        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16250        '''
16251         ID of the proxy cluster for this resource, if any.
16252        '''
16253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16254        '''
16255         ID of the secret store containing credentials for this resource, if any.
16256        '''
16257        self.subdomain = subdomain if subdomain is not None else ''
16258        '''
16259         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16260        '''
16261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16262        '''
16263         Tags is a map of key, value pairs.
16264        '''
16265
16266    def __repr__(self):
16267        return '<sdm.KubernetesUserImpersonation ' + \
16268            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16269            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16270            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16271            'client_key: ' + repr(self.client_key) + ' ' +\
16272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16273            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16274            'healthy: ' + repr(self.healthy) + ' ' +\
16275            'hostname: ' + repr(self.hostname) + ' ' +\
16276            'id: ' + repr(self.id) + ' ' +\
16277            'name: ' + repr(self.name) + ' ' +\
16278            'port: ' + repr(self.port) + ' ' +\
16279            'port_override: ' + repr(self.port_override) + ' ' +\
16280            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16281            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16282            'subdomain: ' + repr(self.subdomain) + ' ' +\
16283            'tags: ' + repr(self.tags) + ' ' +\
16284            '>'
16285
16286    def to_dict(self):
16287        return {
16288            'bind_interface': self.bind_interface,
16289            'certificate_authority': self.certificate_authority,
16290            'client_certificate': self.client_certificate,
16291            'client_key': self.client_key,
16292            'egress_filter': self.egress_filter,
16293            'healthcheck_namespace': self.healthcheck_namespace,
16294            'healthy': self.healthy,
16295            'hostname': self.hostname,
16296            'id': self.id,
16297            'name': self.name,
16298            'port': self.port,
16299            'port_override': self.port_override,
16300            'proxy_cluster_id': self.proxy_cluster_id,
16301            'secret_store_id': self.secret_store_id,
16302            'subdomain': self.subdomain,
16303            'tags': self.tags,
16304        }
16305
16306    @classmethod
16307    def from_dict(cls, d):
16308        return cls(
16309            bind_interface=d.get('bind_interface'),
16310            certificate_authority=d.get('certificate_authority'),
16311            client_certificate=d.get('client_certificate'),
16312            client_key=d.get('client_key'),
16313            egress_filter=d.get('egress_filter'),
16314            healthcheck_namespace=d.get('healthcheck_namespace'),
16315            healthy=d.get('healthy'),
16316            hostname=d.get('hostname'),
16317            id=d.get('id'),
16318            name=d.get('name'),
16319            port=d.get('port'),
16320            port_override=d.get('port_override'),
16321            proxy_cluster_id=d.get('proxy_cluster_id'),
16322            secret_store_id=d.get('secret_store_id'),
16323            subdomain=d.get('subdomain'),
16324            tags=d.get('tags'),
16325        )
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)
16182    def __init__(
16183        self,
16184        bind_interface=None,
16185        certificate_authority=None,
16186        client_certificate=None,
16187        client_key=None,
16188        egress_filter=None,
16189        healthcheck_namespace=None,
16190        healthy=None,
16191        hostname=None,
16192        id=None,
16193        name=None,
16194        port=None,
16195        port_override=None,
16196        proxy_cluster_id=None,
16197        secret_store_id=None,
16198        subdomain=None,
16199        tags=None,
16200    ):
16201        self.bind_interface = bind_interface if bind_interface is not None else ''
16202        '''
16203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16204        '''
16205        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16206        '''
16207         The CA to authenticate TLS connections with.
16208        '''
16209        self.client_certificate = client_certificate if client_certificate is not None else ''
16210        '''
16211         The certificate to authenticate TLS connections with.
16212        '''
16213        self.client_key = client_key if client_key is not None else ''
16214        '''
16215         The key to authenticate TLS connections with.
16216        '''
16217        self.egress_filter = egress_filter if egress_filter is not None else ''
16218        '''
16219         A filter applied to the routing logic to pin datasource to nodes.
16220        '''
16221        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16222        '''
16223         The path used to check the health of your connection.  Defaults to `default`.
16224        '''
16225        self.healthy = healthy if healthy is not None else False
16226        '''
16227         True if the datasource is reachable and the credentials are valid.
16228        '''
16229        self.hostname = hostname if hostname is not None else ''
16230        '''
16231         The host to dial to initiate a connection from the egress node to this resource.
16232        '''
16233        self.id = id if id is not None else ''
16234        '''
16235         Unique identifier of the Resource.
16236        '''
16237        self.name = name if name is not None else ''
16238        '''
16239         Unique human-readable name of the Resource.
16240        '''
16241        self.port = port if port is not None else 0
16242        '''
16243         The port to dial to initiate a connection from the egress node to this resource.
16244        '''
16245        self.port_override = port_override if port_override is not None else 0
16246        '''
16247         The local port used by clients to connect to this resource.
16248        '''
16249        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16250        '''
16251         ID of the proxy cluster for this resource, if any.
16252        '''
16253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16254        '''
16255         ID of the secret store containing credentials for this resource, if any.
16256        '''
16257        self.subdomain = subdomain if subdomain is not None else ''
16258        '''
16259         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16260        '''
16261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16262        '''
16263         Tags is a map of key, value pairs.
16264        '''
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.

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.

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.

def to_dict(self)
16286    def to_dict(self):
16287        return {
16288            'bind_interface': self.bind_interface,
16289            'certificate_authority': self.certificate_authority,
16290            'client_certificate': self.client_certificate,
16291            'client_key': self.client_key,
16292            'egress_filter': self.egress_filter,
16293            'healthcheck_namespace': self.healthcheck_namespace,
16294            'healthy': self.healthy,
16295            'hostname': self.hostname,
16296            'id': self.id,
16297            'name': self.name,
16298            'port': self.port,
16299            'port_override': self.port_override,
16300            'proxy_cluster_id': self.proxy_cluster_id,
16301            'secret_store_id': self.secret_store_id,
16302            'subdomain': self.subdomain,
16303            'tags': self.tags,
16304        }
@classmethod
def from_dict(cls, d)
16306    @classmethod
16307    def from_dict(cls, d):
16308        return cls(
16309            bind_interface=d.get('bind_interface'),
16310            certificate_authority=d.get('certificate_authority'),
16311            client_certificate=d.get('client_certificate'),
16312            client_key=d.get('client_key'),
16313            egress_filter=d.get('egress_filter'),
16314            healthcheck_namespace=d.get('healthcheck_namespace'),
16315            healthy=d.get('healthy'),
16316            hostname=d.get('hostname'),
16317            id=d.get('id'),
16318            name=d.get('name'),
16319            port=d.get('port'),
16320            port_override=d.get('port_override'),
16321            proxy_cluster_id=d.get('proxy_cluster_id'),
16322            secret_store_id=d.get('secret_store_id'),
16323            subdomain=d.get('subdomain'),
16324            tags=d.get('tags'),
16325        )
class LogCategoryConfig:
16328class LogCategoryConfig:
16329    __slots__ = [
16330        'remote_discard_replays',
16331        'remote_encoder',
16332    ]
16333
16334    def __init__(
16335        self,
16336        remote_discard_replays=None,
16337        remote_encoder=None,
16338    ):
16339        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
16340        '''
16341         Indicates if the Organization should exclude replay data from remote logging for the log category.
16342        '''
16343        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
16344        '''
16345         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
16346        '''
16347
16348    def __repr__(self):
16349        return '<sdm.LogCategoryConfig ' + \
16350            'remote_discard_replays: ' + repr(self.remote_discard_replays) + ' ' +\
16351            'remote_encoder: ' + repr(self.remote_encoder) + ' ' +\
16352            '>'
16353
16354    def to_dict(self):
16355        return {
16356            'remote_discard_replays': self.remote_discard_replays,
16357            'remote_encoder': self.remote_encoder,
16358        }
16359
16360    @classmethod
16361    def from_dict(cls, d):
16362        return cls(
16363            remote_discard_replays=d.get('remote_discard_replays'),
16364            remote_encoder=d.get('remote_encoder'),
16365        )
LogCategoryConfig(remote_discard_replays=None, remote_encoder=None)
16334    def __init__(
16335        self,
16336        remote_discard_replays=None,
16337        remote_encoder=None,
16338    ):
16339        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
16340        '''
16341         Indicates if the Organization should exclude replay data from remote logging for the log category.
16342        '''
16343        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
16344        '''
16345         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
16346        '''
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)
16354    def to_dict(self):
16355        return {
16356            'remote_discard_replays': self.remote_discard_replays,
16357            'remote_encoder': self.remote_encoder,
16358        }
@classmethod
def from_dict(cls, d)
16360    @classmethod
16361    def from_dict(cls, d):
16362        return cls(
16363            remote_discard_replays=d.get('remote_discard_replays'),
16364            remote_encoder=d.get('remote_encoder'),
16365        )
class LogConfig:
16368class LogConfig:
16369    __slots__ = [
16370        'categories',
16371        'local_encoder',
16372        'local_format',
16373        'local_socket_path',
16374        'local_storage',
16375        'local_tcp_address',
16376        'public_key',
16377    ]
16378
16379    def __init__(
16380        self,
16381        categories=None,
16382        local_encoder=None,
16383        local_format=None,
16384        local_socket_path=None,
16385        local_storage=None,
16386        local_tcp_address=None,
16387        public_key=None,
16388    ):
16389        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
16390        )
16391        '''
16392         The Organization's log category configuration settings.
16393        '''
16394        self.local_encoder = local_encoder if local_encoder is not None else ''
16395        '''
16396         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
16397        '''
16398        self.local_format = local_format if local_format is not None else ''
16399        '''
16400         The Organization's local log format, one of the LogLocalFormat constants.
16401        '''
16402        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
16403        '''
16404         The Organization's local log socket path.
16405        '''
16406        self.local_storage = local_storage if local_storage is not None else ''
16407        '''
16408         The Organization's local log storage, one of the LogLocalStorage constants.
16409        '''
16410        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
16411        '''
16412         The Organization's local log TCP address.
16413        '''
16414        self.public_key = public_key if public_key is not None else ''
16415        '''
16416         The Organization's public key in PEM format for encrypting logs.
16417        '''
16418
16419    def __repr__(self):
16420        return '<sdm.LogConfig ' + \
16421            'categories: ' + repr(self.categories) + ' ' +\
16422            'local_encoder: ' + repr(self.local_encoder) + ' ' +\
16423            'local_format: ' + repr(self.local_format) + ' ' +\
16424            'local_socket_path: ' + repr(self.local_socket_path) + ' ' +\
16425            'local_storage: ' + repr(self.local_storage) + ' ' +\
16426            'local_tcp_address: ' + repr(self.local_tcp_address) + ' ' +\
16427            'public_key: ' + repr(self.public_key) + ' ' +\
16428            '>'
16429
16430    def to_dict(self):
16431        return {
16432            'categories': self.categories,
16433            'local_encoder': self.local_encoder,
16434            'local_format': self.local_format,
16435            'local_socket_path': self.local_socket_path,
16436            'local_storage': self.local_storage,
16437            'local_tcp_address': self.local_tcp_address,
16438            'public_key': self.public_key,
16439        }
16440
16441    @classmethod
16442    def from_dict(cls, d):
16443        return cls(
16444            categories=d.get('categories'),
16445            local_encoder=d.get('local_encoder'),
16446            local_format=d.get('local_format'),
16447            local_socket_path=d.get('local_socket_path'),
16448            local_storage=d.get('local_storage'),
16449            local_tcp_address=d.get('local_tcp_address'),
16450            public_key=d.get('public_key'),
16451        )
LogConfig( categories=None, local_encoder=None, local_format=None, local_socket_path=None, local_storage=None, local_tcp_address=None, public_key=None)
16379    def __init__(
16380        self,
16381        categories=None,
16382        local_encoder=None,
16383        local_format=None,
16384        local_socket_path=None,
16385        local_storage=None,
16386        local_tcp_address=None,
16387        public_key=None,
16388    ):
16389        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
16390        )
16391        '''
16392         The Organization's log category configuration settings.
16393        '''
16394        self.local_encoder = local_encoder if local_encoder is not None else ''
16395        '''
16396         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
16397        '''
16398        self.local_format = local_format if local_format is not None else ''
16399        '''
16400         The Organization's local log format, one of the LogLocalFormat constants.
16401        '''
16402        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
16403        '''
16404         The Organization's local log socket path.
16405        '''
16406        self.local_storage = local_storage if local_storage is not None else ''
16407        '''
16408         The Organization's local log storage, one of the LogLocalStorage constants.
16409        '''
16410        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
16411        '''
16412         The Organization's local log TCP address.
16413        '''
16414        self.public_key = public_key if public_key is not None else ''
16415        '''
16416         The Organization's public key in PEM format for encrypting logs.
16417        '''
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)
16430    def to_dict(self):
16431        return {
16432            'categories': self.categories,
16433            'local_encoder': self.local_encoder,
16434            'local_format': self.local_format,
16435            'local_socket_path': self.local_socket_path,
16436            'local_storage': self.local_storage,
16437            'local_tcp_address': self.local_tcp_address,
16438            'public_key': self.public_key,
16439        }
@classmethod
def from_dict(cls, d)
16441    @classmethod
16442    def from_dict(cls, d):
16443        return cls(
16444            categories=d.get('categories'),
16445            local_encoder=d.get('local_encoder'),
16446            local_format=d.get('local_format'),
16447            local_socket_path=d.get('local_socket_path'),
16448            local_storage=d.get('local_storage'),
16449            local_tcp_address=d.get('local_tcp_address'),
16450            public_key=d.get('public_key'),
16451        )
class MTLSMysql:
16454class MTLSMysql:
16455    '''
16456    MTLSMysql is currently unstable, and its API may change, or it may be removed,
16457    without a major version bump.
16458    '''
16459    __slots__ = [
16460        'bind_interface',
16461        'certificate_authority',
16462        'client_certificate',
16463        'client_key',
16464        'database',
16465        'egress_filter',
16466        'healthy',
16467        'hostname',
16468        'id',
16469        'name',
16470        'password',
16471        'port',
16472        'port_override',
16473        'proxy_cluster_id',
16474        'require_native_auth',
16475        'secret_store_id',
16476        'server_name',
16477        'subdomain',
16478        'tags',
16479        'use_azure_single_server_usernames',
16480        'username',
16481    ]
16482
16483    def __init__(
16484        self,
16485        bind_interface=None,
16486        certificate_authority=None,
16487        client_certificate=None,
16488        client_key=None,
16489        database=None,
16490        egress_filter=None,
16491        healthy=None,
16492        hostname=None,
16493        id=None,
16494        name=None,
16495        password=None,
16496        port=None,
16497        port_override=None,
16498        proxy_cluster_id=None,
16499        require_native_auth=None,
16500        secret_store_id=None,
16501        server_name=None,
16502        subdomain=None,
16503        tags=None,
16504        use_azure_single_server_usernames=None,
16505        username=None,
16506    ):
16507        self.bind_interface = bind_interface if bind_interface is not None else ''
16508        '''
16509         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16510        '''
16511        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16512        '''
16513         The CA to authenticate TLS connections with.
16514        '''
16515        self.client_certificate = client_certificate if client_certificate is not None else ''
16516        '''
16517         The certificate to authenticate TLS connections with.
16518        '''
16519        self.client_key = client_key if client_key is not None else ''
16520        '''
16521         The key to authenticate TLS connections with.
16522        '''
16523        self.database = database if database is not None else ''
16524        '''
16525         The database for healthchecks. Does not affect client requests.
16526        '''
16527        self.egress_filter = egress_filter if egress_filter is not None else ''
16528        '''
16529         A filter applied to the routing logic to pin datasource to nodes.
16530        '''
16531        self.healthy = healthy if healthy is not None else False
16532        '''
16533         True if the datasource is reachable and the credentials are valid.
16534        '''
16535        self.hostname = hostname if hostname is not None else ''
16536        '''
16537         The host to dial to initiate a connection from the egress node to this resource.
16538        '''
16539        self.id = id if id is not None else ''
16540        '''
16541         Unique identifier of the Resource.
16542        '''
16543        self.name = name if name is not None else ''
16544        '''
16545         Unique human-readable name of the Resource.
16546        '''
16547        self.password = password if password is not None else ''
16548        '''
16549         The password to authenticate with.
16550        '''
16551        self.port = port if port is not None else 0
16552        '''
16553         The port to dial to initiate a connection from the egress node to this resource.
16554        '''
16555        self.port_override = port_override if port_override is not None else 0
16556        '''
16557         The local port used by clients to connect to this resource.
16558        '''
16559        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16560        '''
16561         ID of the proxy cluster for this resource, if any.
16562        '''
16563        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16564        '''
16565         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16566        '''
16567        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16568        '''
16569         ID of the secret store containing credentials for this resource, if any.
16570        '''
16571        self.server_name = server_name if server_name is not None else ''
16572        '''
16573         Server name for TLS verification (unverified by StrongDM if empty)
16574        '''
16575        self.subdomain = subdomain if subdomain is not None else ''
16576        '''
16577         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16578        '''
16579        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16580        '''
16581         Tags is a map of key, value pairs.
16582        '''
16583        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16584        '''
16585         If true, appends the hostname to the username when hitting a database.azure.com address
16586        '''
16587        self.username = username if username is not None else ''
16588        '''
16589         The username to authenticate with.
16590        '''
16591
16592    def __repr__(self):
16593        return '<sdm.MTLSMysql ' + \
16594            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16595            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16596            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16597            'client_key: ' + repr(self.client_key) + ' ' +\
16598            'database: ' + repr(self.database) + ' ' +\
16599            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16600            'healthy: ' + repr(self.healthy) + ' ' +\
16601            'hostname: ' + repr(self.hostname) + ' ' +\
16602            'id: ' + repr(self.id) + ' ' +\
16603            'name: ' + repr(self.name) + ' ' +\
16604            'password: ' + repr(self.password) + ' ' +\
16605            'port: ' + repr(self.port) + ' ' +\
16606            'port_override: ' + repr(self.port_override) + ' ' +\
16607            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16608            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16609            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16610            'server_name: ' + repr(self.server_name) + ' ' +\
16611            'subdomain: ' + repr(self.subdomain) + ' ' +\
16612            'tags: ' + repr(self.tags) + ' ' +\
16613            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16614            'username: ' + repr(self.username) + ' ' +\
16615            '>'
16616
16617    def to_dict(self):
16618        return {
16619            'bind_interface': self.bind_interface,
16620            'certificate_authority': self.certificate_authority,
16621            'client_certificate': self.client_certificate,
16622            'client_key': self.client_key,
16623            'database': self.database,
16624            'egress_filter': self.egress_filter,
16625            'healthy': self.healthy,
16626            'hostname': self.hostname,
16627            'id': self.id,
16628            'name': self.name,
16629            'password': self.password,
16630            'port': self.port,
16631            'port_override': self.port_override,
16632            'proxy_cluster_id': self.proxy_cluster_id,
16633            'require_native_auth': self.require_native_auth,
16634            'secret_store_id': self.secret_store_id,
16635            'server_name': self.server_name,
16636            'subdomain': self.subdomain,
16637            'tags': self.tags,
16638            'use_azure_single_server_usernames':
16639            self.use_azure_single_server_usernames,
16640            'username': self.username,
16641        }
16642
16643    @classmethod
16644    def from_dict(cls, d):
16645        return cls(
16646            bind_interface=d.get('bind_interface'),
16647            certificate_authority=d.get('certificate_authority'),
16648            client_certificate=d.get('client_certificate'),
16649            client_key=d.get('client_key'),
16650            database=d.get('database'),
16651            egress_filter=d.get('egress_filter'),
16652            healthy=d.get('healthy'),
16653            hostname=d.get('hostname'),
16654            id=d.get('id'),
16655            name=d.get('name'),
16656            password=d.get('password'),
16657            port=d.get('port'),
16658            port_override=d.get('port_override'),
16659            proxy_cluster_id=d.get('proxy_cluster_id'),
16660            require_native_auth=d.get('require_native_auth'),
16661            secret_store_id=d.get('secret_store_id'),
16662            server_name=d.get('server_name'),
16663            subdomain=d.get('subdomain'),
16664            tags=d.get('tags'),
16665            use_azure_single_server_usernames=d.get(
16666                'use_azure_single_server_usernames'),
16667            username=d.get('username'),
16668        )

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

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)
16483    def __init__(
16484        self,
16485        bind_interface=None,
16486        certificate_authority=None,
16487        client_certificate=None,
16488        client_key=None,
16489        database=None,
16490        egress_filter=None,
16491        healthy=None,
16492        hostname=None,
16493        id=None,
16494        name=None,
16495        password=None,
16496        port=None,
16497        port_override=None,
16498        proxy_cluster_id=None,
16499        require_native_auth=None,
16500        secret_store_id=None,
16501        server_name=None,
16502        subdomain=None,
16503        tags=None,
16504        use_azure_single_server_usernames=None,
16505        username=None,
16506    ):
16507        self.bind_interface = bind_interface if bind_interface is not None else ''
16508        '''
16509         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16510        '''
16511        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16512        '''
16513         The CA to authenticate TLS connections with.
16514        '''
16515        self.client_certificate = client_certificate if client_certificate is not None else ''
16516        '''
16517         The certificate to authenticate TLS connections with.
16518        '''
16519        self.client_key = client_key if client_key is not None else ''
16520        '''
16521         The key to authenticate TLS connections with.
16522        '''
16523        self.database = database if database is not None else ''
16524        '''
16525         The database for healthchecks. Does not affect client requests.
16526        '''
16527        self.egress_filter = egress_filter if egress_filter is not None else ''
16528        '''
16529         A filter applied to the routing logic to pin datasource to nodes.
16530        '''
16531        self.healthy = healthy if healthy is not None else False
16532        '''
16533         True if the datasource is reachable and the credentials are valid.
16534        '''
16535        self.hostname = hostname if hostname is not None else ''
16536        '''
16537         The host to dial to initiate a connection from the egress node to this resource.
16538        '''
16539        self.id = id if id is not None else ''
16540        '''
16541         Unique identifier of the Resource.
16542        '''
16543        self.name = name if name is not None else ''
16544        '''
16545         Unique human-readable name of the Resource.
16546        '''
16547        self.password = password if password is not None else ''
16548        '''
16549         The password to authenticate with.
16550        '''
16551        self.port = port if port is not None else 0
16552        '''
16553         The port to dial to initiate a connection from the egress node to this resource.
16554        '''
16555        self.port_override = port_override if port_override is not None else 0
16556        '''
16557         The local port used by clients to connect to this resource.
16558        '''
16559        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16560        '''
16561         ID of the proxy cluster for this resource, if any.
16562        '''
16563        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16564        '''
16565         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16566        '''
16567        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16568        '''
16569         ID of the secret store containing credentials for this resource, if any.
16570        '''
16571        self.server_name = server_name if server_name is not None else ''
16572        '''
16573         Server name for TLS verification (unverified by StrongDM if empty)
16574        '''
16575        self.subdomain = subdomain if subdomain is not None else ''
16576        '''
16577         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16578        '''
16579        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16580        '''
16581         Tags is a map of key, value pairs.
16582        '''
16583        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16584        '''
16585         If true, appends the hostname to the username when hitting a database.azure.com address
16586        '''
16587        self.username = username if username is not None else ''
16588        '''
16589         The username to authenticate with.
16590        '''
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.

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.

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

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_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)
16617    def to_dict(self):
16618        return {
16619            'bind_interface': self.bind_interface,
16620            'certificate_authority': self.certificate_authority,
16621            'client_certificate': self.client_certificate,
16622            'client_key': self.client_key,
16623            'database': self.database,
16624            'egress_filter': self.egress_filter,
16625            'healthy': self.healthy,
16626            'hostname': self.hostname,
16627            'id': self.id,
16628            'name': self.name,
16629            'password': self.password,
16630            'port': self.port,
16631            'port_override': self.port_override,
16632            'proxy_cluster_id': self.proxy_cluster_id,
16633            'require_native_auth': self.require_native_auth,
16634            'secret_store_id': self.secret_store_id,
16635            'server_name': self.server_name,
16636            'subdomain': self.subdomain,
16637            'tags': self.tags,
16638            'use_azure_single_server_usernames':
16639            self.use_azure_single_server_usernames,
16640            'username': self.username,
16641        }
@classmethod
def from_dict(cls, d)
16643    @classmethod
16644    def from_dict(cls, d):
16645        return cls(
16646            bind_interface=d.get('bind_interface'),
16647            certificate_authority=d.get('certificate_authority'),
16648            client_certificate=d.get('client_certificate'),
16649            client_key=d.get('client_key'),
16650            database=d.get('database'),
16651            egress_filter=d.get('egress_filter'),
16652            healthy=d.get('healthy'),
16653            hostname=d.get('hostname'),
16654            id=d.get('id'),
16655            name=d.get('name'),
16656            password=d.get('password'),
16657            port=d.get('port'),
16658            port_override=d.get('port_override'),
16659            proxy_cluster_id=d.get('proxy_cluster_id'),
16660            require_native_auth=d.get('require_native_auth'),
16661            secret_store_id=d.get('secret_store_id'),
16662            server_name=d.get('server_name'),
16663            subdomain=d.get('subdomain'),
16664            tags=d.get('tags'),
16665            use_azure_single_server_usernames=d.get(
16666                'use_azure_single_server_usernames'),
16667            username=d.get('username'),
16668        )
class MTLSPostgres:
16671class MTLSPostgres:
16672    __slots__ = [
16673        'bind_interface',
16674        'certificate_authority',
16675        'client_certificate',
16676        'client_key',
16677        'database',
16678        'egress_filter',
16679        'healthy',
16680        'hostname',
16681        'id',
16682        'name',
16683        'override_database',
16684        'password',
16685        'port',
16686        'port_override',
16687        'proxy_cluster_id',
16688        'secret_store_id',
16689        'server_name',
16690        'subdomain',
16691        'tags',
16692        'username',
16693    ]
16694
16695    def __init__(
16696        self,
16697        bind_interface=None,
16698        certificate_authority=None,
16699        client_certificate=None,
16700        client_key=None,
16701        database=None,
16702        egress_filter=None,
16703        healthy=None,
16704        hostname=None,
16705        id=None,
16706        name=None,
16707        override_database=None,
16708        password=None,
16709        port=None,
16710        port_override=None,
16711        proxy_cluster_id=None,
16712        secret_store_id=None,
16713        server_name=None,
16714        subdomain=None,
16715        tags=None,
16716        username=None,
16717    ):
16718        self.bind_interface = bind_interface if bind_interface is not None else ''
16719        '''
16720         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16721        '''
16722        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16723        '''
16724         The CA to authenticate TLS connections with.
16725        '''
16726        self.client_certificate = client_certificate if client_certificate is not None else ''
16727        '''
16728         The certificate to authenticate TLS connections with.
16729        '''
16730        self.client_key = client_key if client_key is not None else ''
16731        '''
16732         The key to authenticate TLS connections with.
16733        '''
16734        self.database = database if database is not None else ''
16735        '''
16736         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16737        '''
16738        self.egress_filter = egress_filter if egress_filter is not None else ''
16739        '''
16740         A filter applied to the routing logic to pin datasource to nodes.
16741        '''
16742        self.healthy = healthy if healthy is not None else False
16743        '''
16744         True if the datasource is reachable and the credentials are valid.
16745        '''
16746        self.hostname = hostname if hostname is not None else ''
16747        '''
16748         The host to dial to initiate a connection from the egress node to this resource.
16749        '''
16750        self.id = id if id is not None else ''
16751        '''
16752         Unique identifier of the Resource.
16753        '''
16754        self.name = name if name is not None else ''
16755        '''
16756         Unique human-readable name of the Resource.
16757        '''
16758        self.override_database = override_database if override_database is not None else False
16759        '''
16760         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.
16761        '''
16762        self.password = password if password is not None else ''
16763        '''
16764         The password to authenticate with.
16765        '''
16766        self.port = port if port is not None else 0
16767        '''
16768         The port to dial to initiate a connection from the egress node to this resource.
16769        '''
16770        self.port_override = port_override if port_override is not None else 0
16771        '''
16772         The local port used by clients to connect to this resource.
16773        '''
16774        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16775        '''
16776         ID of the proxy cluster for this resource, if any.
16777        '''
16778        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16779        '''
16780         ID of the secret store containing credentials for this resource, if any.
16781        '''
16782        self.server_name = server_name if server_name is not None else ''
16783        '''
16784         Server name for TLS verification (unverified by StrongDM if empty)
16785        '''
16786        self.subdomain = subdomain if subdomain is not None else ''
16787        '''
16788         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16789        '''
16790        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16791        '''
16792         Tags is a map of key, value pairs.
16793        '''
16794        self.username = username if username is not None else ''
16795        '''
16796         The username to authenticate with.
16797        '''
16798
16799    def __repr__(self):
16800        return '<sdm.MTLSPostgres ' + \
16801            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16802            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16803            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16804            'client_key: ' + repr(self.client_key) + ' ' +\
16805            'database: ' + repr(self.database) + ' ' +\
16806            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16807            'healthy: ' + repr(self.healthy) + ' ' +\
16808            'hostname: ' + repr(self.hostname) + ' ' +\
16809            'id: ' + repr(self.id) + ' ' +\
16810            'name: ' + repr(self.name) + ' ' +\
16811            'override_database: ' + repr(self.override_database) + ' ' +\
16812            'password: ' + repr(self.password) + ' ' +\
16813            'port: ' + repr(self.port) + ' ' +\
16814            'port_override: ' + repr(self.port_override) + ' ' +\
16815            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16816            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16817            'server_name: ' + repr(self.server_name) + ' ' +\
16818            'subdomain: ' + repr(self.subdomain) + ' ' +\
16819            'tags: ' + repr(self.tags) + ' ' +\
16820            'username: ' + repr(self.username) + ' ' +\
16821            '>'
16822
16823    def to_dict(self):
16824        return {
16825            'bind_interface': self.bind_interface,
16826            'certificate_authority': self.certificate_authority,
16827            'client_certificate': self.client_certificate,
16828            'client_key': self.client_key,
16829            'database': self.database,
16830            'egress_filter': self.egress_filter,
16831            'healthy': self.healthy,
16832            'hostname': self.hostname,
16833            'id': self.id,
16834            'name': self.name,
16835            'override_database': self.override_database,
16836            'password': self.password,
16837            'port': self.port,
16838            'port_override': self.port_override,
16839            'proxy_cluster_id': self.proxy_cluster_id,
16840            'secret_store_id': self.secret_store_id,
16841            'server_name': self.server_name,
16842            'subdomain': self.subdomain,
16843            'tags': self.tags,
16844            'username': self.username,
16845        }
16846
16847    @classmethod
16848    def from_dict(cls, d):
16849        return cls(
16850            bind_interface=d.get('bind_interface'),
16851            certificate_authority=d.get('certificate_authority'),
16852            client_certificate=d.get('client_certificate'),
16853            client_key=d.get('client_key'),
16854            database=d.get('database'),
16855            egress_filter=d.get('egress_filter'),
16856            healthy=d.get('healthy'),
16857            hostname=d.get('hostname'),
16858            id=d.get('id'),
16859            name=d.get('name'),
16860            override_database=d.get('override_database'),
16861            password=d.get('password'),
16862            port=d.get('port'),
16863            port_override=d.get('port_override'),
16864            proxy_cluster_id=d.get('proxy_cluster_id'),
16865            secret_store_id=d.get('secret_store_id'),
16866            server_name=d.get('server_name'),
16867            subdomain=d.get('subdomain'),
16868            tags=d.get('tags'),
16869            username=d.get('username'),
16870        )
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)
16695    def __init__(
16696        self,
16697        bind_interface=None,
16698        certificate_authority=None,
16699        client_certificate=None,
16700        client_key=None,
16701        database=None,
16702        egress_filter=None,
16703        healthy=None,
16704        hostname=None,
16705        id=None,
16706        name=None,
16707        override_database=None,
16708        password=None,
16709        port=None,
16710        port_override=None,
16711        proxy_cluster_id=None,
16712        secret_store_id=None,
16713        server_name=None,
16714        subdomain=None,
16715        tags=None,
16716        username=None,
16717    ):
16718        self.bind_interface = bind_interface if bind_interface is not None else ''
16719        '''
16720         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16721        '''
16722        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16723        '''
16724         The CA to authenticate TLS connections with.
16725        '''
16726        self.client_certificate = client_certificate if client_certificate is not None else ''
16727        '''
16728         The certificate to authenticate TLS connections with.
16729        '''
16730        self.client_key = client_key if client_key is not None else ''
16731        '''
16732         The key to authenticate TLS connections with.
16733        '''
16734        self.database = database if database is not None else ''
16735        '''
16736         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16737        '''
16738        self.egress_filter = egress_filter if egress_filter is not None else ''
16739        '''
16740         A filter applied to the routing logic to pin datasource to nodes.
16741        '''
16742        self.healthy = healthy if healthy is not None else False
16743        '''
16744         True if the datasource is reachable and the credentials are valid.
16745        '''
16746        self.hostname = hostname if hostname is not None else ''
16747        '''
16748         The host to dial to initiate a connection from the egress node to this resource.
16749        '''
16750        self.id = id if id is not None else ''
16751        '''
16752         Unique identifier of the Resource.
16753        '''
16754        self.name = name if name is not None else ''
16755        '''
16756         Unique human-readable name of the Resource.
16757        '''
16758        self.override_database = override_database if override_database is not None else False
16759        '''
16760         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.
16761        '''
16762        self.password = password if password is not None else ''
16763        '''
16764         The password to authenticate with.
16765        '''
16766        self.port = port if port is not None else 0
16767        '''
16768         The port to dial to initiate a connection from the egress node to this resource.
16769        '''
16770        self.port_override = port_override if port_override is not None else 0
16771        '''
16772         The local port used by clients to connect to this resource.
16773        '''
16774        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16775        '''
16776         ID of the proxy cluster for this resource, if any.
16777        '''
16778        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16779        '''
16780         ID of the secret store containing credentials for this resource, if any.
16781        '''
16782        self.server_name = server_name if server_name is not None else ''
16783        '''
16784         Server name for TLS verification (unverified by StrongDM if empty)
16785        '''
16786        self.subdomain = subdomain if subdomain is not None else ''
16787        '''
16788         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16789        '''
16790        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16791        '''
16792         Tags is a map of key, value pairs.
16793        '''
16794        self.username = username if username is not None else ''
16795        '''
16796         The username to authenticate with.
16797        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
16823    def to_dict(self):
16824        return {
16825            'bind_interface': self.bind_interface,
16826            'certificate_authority': self.certificate_authority,
16827            'client_certificate': self.client_certificate,
16828            'client_key': self.client_key,
16829            'database': self.database,
16830            'egress_filter': self.egress_filter,
16831            'healthy': self.healthy,
16832            'hostname': self.hostname,
16833            'id': self.id,
16834            'name': self.name,
16835            'override_database': self.override_database,
16836            'password': self.password,
16837            'port': self.port,
16838            'port_override': self.port_override,
16839            'proxy_cluster_id': self.proxy_cluster_id,
16840            'secret_store_id': self.secret_store_id,
16841            'server_name': self.server_name,
16842            'subdomain': self.subdomain,
16843            'tags': self.tags,
16844            'username': self.username,
16845        }
@classmethod
def from_dict(cls, d)
16847    @classmethod
16848    def from_dict(cls, d):
16849        return cls(
16850            bind_interface=d.get('bind_interface'),
16851            certificate_authority=d.get('certificate_authority'),
16852            client_certificate=d.get('client_certificate'),
16853            client_key=d.get('client_key'),
16854            database=d.get('database'),
16855            egress_filter=d.get('egress_filter'),
16856            healthy=d.get('healthy'),
16857            hostname=d.get('hostname'),
16858            id=d.get('id'),
16859            name=d.get('name'),
16860            override_database=d.get('override_database'),
16861            password=d.get('password'),
16862            port=d.get('port'),
16863            port_override=d.get('port_override'),
16864            proxy_cluster_id=d.get('proxy_cluster_id'),
16865            secret_store_id=d.get('secret_store_id'),
16866            server_name=d.get('server_name'),
16867            subdomain=d.get('subdomain'),
16868            tags=d.get('tags'),
16869            username=d.get('username'),
16870        )
class ManagedSecret:
16873class ManagedSecret:
16874    '''
16875         ManagedSecret contains details about managed secret
16876    '''
16877    __slots__ = [
16878        'config',
16879        'expires_at',
16880        'id',
16881        'last_rotated_at',
16882        'name',
16883        'policy',
16884        'secret_engine_id',
16885        'secret_store_path',
16886        'tags',
16887        'value',
16888    ]
16889
16890    def __init__(
16891        self,
16892        config=None,
16893        expires_at=None,
16894        id=None,
16895        last_rotated_at=None,
16896        name=None,
16897        policy=None,
16898        secret_engine_id=None,
16899        secret_store_path=None,
16900        tags=None,
16901        value=None,
16902    ):
16903        self.config = config if config is not None else ''
16904        '''
16905         public part of the secret value
16906        '''
16907        self.expires_at = expires_at if expires_at is not None else None
16908        '''
16909         Timestamp of when secret is going to be rotated
16910        '''
16911        self.id = id if id is not None else ''
16912        '''
16913         Unique identifier of the Managed Secret.
16914        '''
16915        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16916        '''
16917         Timestamp of when secret was last rotated
16918        '''
16919        self.name = name if name is not None else ''
16920        '''
16921         Unique human-readable name of the Managed Secret.
16922        '''
16923        self.policy = policy if policy is not None else None
16924        '''
16925         Password and rotation policy for the secret
16926        '''
16927        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16928        '''
16929         An ID of a Secret Engine linked with the Managed Secret.
16930        '''
16931        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16932        '''
16933         Path in a secret store.
16934        '''
16935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16936        '''
16937         Tags is a map of key, value pairs.
16938        '''
16939        self.value = value if value is not None else b''
16940        '''
16941         Sensitive value of the secret.
16942        '''
16943
16944    def __repr__(self):
16945        return '<sdm.ManagedSecret ' + \
16946            'config: ' + repr(self.config) + ' ' +\
16947            'expires_at: ' + repr(self.expires_at) + ' ' +\
16948            'id: ' + repr(self.id) + ' ' +\
16949            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
16950            'name: ' + repr(self.name) + ' ' +\
16951            'policy: ' + repr(self.policy) + ' ' +\
16952            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16953            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
16954            'tags: ' + repr(self.tags) + ' ' +\
16955            'value: ' + repr(self.value) + ' ' +\
16956            '>'
16957
16958    def to_dict(self):
16959        return {
16960            'config': self.config,
16961            'expires_at': self.expires_at,
16962            'id': self.id,
16963            'last_rotated_at': self.last_rotated_at,
16964            'name': self.name,
16965            'policy': self.policy,
16966            'secret_engine_id': self.secret_engine_id,
16967            'secret_store_path': self.secret_store_path,
16968            'tags': self.tags,
16969            'value': self.value,
16970        }
16971
16972    @classmethod
16973    def from_dict(cls, d):
16974        return cls(
16975            config=d.get('config'),
16976            expires_at=d.get('expires_at'),
16977            id=d.get('id'),
16978            last_rotated_at=d.get('last_rotated_at'),
16979            name=d.get('name'),
16980            policy=d.get('policy'),
16981            secret_engine_id=d.get('secret_engine_id'),
16982            secret_store_path=d.get('secret_store_path'),
16983            tags=d.get('tags'),
16984            value=d.get('value'),
16985        )

ManagedSecret contains details about managed secret

ManagedSecret( config=None, expires_at=None, id=None, last_rotated_at=None, name=None, policy=None, secret_engine_id=None, secret_store_path=None, tags=None, value=None)
16890    def __init__(
16891        self,
16892        config=None,
16893        expires_at=None,
16894        id=None,
16895        last_rotated_at=None,
16896        name=None,
16897        policy=None,
16898        secret_engine_id=None,
16899        secret_store_path=None,
16900        tags=None,
16901        value=None,
16902    ):
16903        self.config = config if config is not None else ''
16904        '''
16905         public part of the secret value
16906        '''
16907        self.expires_at = expires_at if expires_at is not None else None
16908        '''
16909         Timestamp of when secret is going to be rotated
16910        '''
16911        self.id = id if id is not None else ''
16912        '''
16913         Unique identifier of the Managed Secret.
16914        '''
16915        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16916        '''
16917         Timestamp of when secret was last rotated
16918        '''
16919        self.name = name if name is not None else ''
16920        '''
16921         Unique human-readable name of the Managed Secret.
16922        '''
16923        self.policy = policy if policy is not None else None
16924        '''
16925         Password and rotation policy for the secret
16926        '''
16927        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16928        '''
16929         An ID of a Secret Engine linked with the Managed Secret.
16930        '''
16931        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16932        '''
16933         Path in a secret store.
16934        '''
16935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16936        '''
16937         Tags is a map of key, value pairs.
16938        '''
16939        self.value = value if value is not None else b''
16940        '''
16941         Sensitive value of the secret.
16942        '''
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

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)
16958    def to_dict(self):
16959        return {
16960            'config': self.config,
16961            'expires_at': self.expires_at,
16962            'id': self.id,
16963            'last_rotated_at': self.last_rotated_at,
16964            'name': self.name,
16965            'policy': self.policy,
16966            'secret_engine_id': self.secret_engine_id,
16967            'secret_store_path': self.secret_store_path,
16968            'tags': self.tags,
16969            'value': self.value,
16970        }
@classmethod
def from_dict(cls, d)
16972    @classmethod
16973    def from_dict(cls, d):
16974        return cls(
16975            config=d.get('config'),
16976            expires_at=d.get('expires_at'),
16977            id=d.get('id'),
16978            last_rotated_at=d.get('last_rotated_at'),
16979            name=d.get('name'),
16980            policy=d.get('policy'),
16981            secret_engine_id=d.get('secret_engine_id'),
16982            secret_store_path=d.get('secret_store_path'),
16983            tags=d.get('tags'),
16984            value=d.get('value'),
16985        )
class ManagedSecretCreateRequest:
16988class ManagedSecretCreateRequest:
16989    '''
16990         ManagedSecretCreateRequest specifies a Managed Secret to create.
16991    '''
16992    __slots__ = [
16993        'managed_secret',
16994    ]
16995
16996    def __init__(
16997        self,
16998        managed_secret=None,
16999    ):
17000        self.managed_secret = managed_secret if managed_secret is not None else None
17001        '''
17002         Parameters to define the new Managed Secret.
17003        '''
17004
17005    def __repr__(self):
17006        return '<sdm.ManagedSecretCreateRequest ' + \
17007            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17008            '>'
17009
17010    def to_dict(self):
17011        return {
17012            'managed_secret': self.managed_secret,
17013        }
17014
17015    @classmethod
17016    def from_dict(cls, d):
17017        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretCreateRequest specifies a Managed Secret to create.

ManagedSecretCreateRequest(managed_secret=None)
16996    def __init__(
16997        self,
16998        managed_secret=None,
16999    ):
17000        self.managed_secret = managed_secret if managed_secret is not None else None
17001        '''
17002         Parameters to define the new Managed Secret.
17003        '''
managed_secret

Parameters to define the new Managed Secret.

def to_dict(self)
17010    def to_dict(self):
17011        return {
17012            'managed_secret': self.managed_secret,
17013        }
@classmethod
def from_dict(cls, d)
17015    @classmethod
17016    def from_dict(cls, d):
17017        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretCreateResponse:
17020class ManagedSecretCreateResponse:
17021    '''
17022         ManagedSecretCreateResponse contains information about a Managed Secret after
17023     successful creation.
17024    '''
17025    __slots__ = [
17026        'managed_secret',
17027        'meta',
17028        'rate_limit',
17029    ]
17030
17031    def __init__(
17032        self,
17033        managed_secret=None,
17034        meta=None,
17035        rate_limit=None,
17036    ):
17037        self.managed_secret = managed_secret if managed_secret is not None else None
17038        '''
17039         The requested Managed Secret.
17040        '''
17041        self.meta = meta if meta is not None else None
17042        '''
17043         Reserved for future use.
17044        '''
17045        self.rate_limit = rate_limit if rate_limit is not None else None
17046        '''
17047         Rate limit information.
17048        '''
17049
17050    def __repr__(self):
17051        return '<sdm.ManagedSecretCreateResponse ' + \
17052            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17053            'meta: ' + repr(self.meta) + ' ' +\
17054            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17055            '>'
17056
17057    def to_dict(self):
17058        return {
17059            'managed_secret': self.managed_secret,
17060            'meta': self.meta,
17061            'rate_limit': self.rate_limit,
17062        }
17063
17064    @classmethod
17065    def from_dict(cls, d):
17066        return cls(
17067            managed_secret=d.get('managed_secret'),
17068            meta=d.get('meta'),
17069            rate_limit=d.get('rate_limit'),
17070        )

ManagedSecretCreateResponse contains information about a Managed Secret after successful creation.

ManagedSecretCreateResponse(managed_secret=None, meta=None, rate_limit=None)
17031    def __init__(
17032        self,
17033        managed_secret=None,
17034        meta=None,
17035        rate_limit=None,
17036    ):
17037        self.managed_secret = managed_secret if managed_secret is not None else None
17038        '''
17039         The requested Managed Secret.
17040        '''
17041        self.meta = meta if meta is not None else None
17042        '''
17043         Reserved for future use.
17044        '''
17045        self.rate_limit = rate_limit if rate_limit is not None else None
17046        '''
17047         Rate limit information.
17048        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17057    def to_dict(self):
17058        return {
17059            'managed_secret': self.managed_secret,
17060            'meta': self.meta,
17061            'rate_limit': self.rate_limit,
17062        }
@classmethod
def from_dict(cls, d)
17064    @classmethod
17065    def from_dict(cls, d):
17066        return cls(
17067            managed_secret=d.get('managed_secret'),
17068            meta=d.get('meta'),
17069            rate_limit=d.get('rate_limit'),
17070        )
class ManagedSecretDeleteRequest:
17073class ManagedSecretDeleteRequest:
17074    '''
17075         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
17076     deleted.
17077    '''
17078    __slots__ = [
17079        'id',
17080    ]
17081
17082    def __init__(
17083        self,
17084        id=None,
17085    ):
17086        self.id = id if id is not None else ''
17087        '''
17088         The unique identifier of the Managed Secret to delete.
17089        '''
17090
17091    def __repr__(self):
17092        return '<sdm.ManagedSecretDeleteRequest ' + \
17093            'id: ' + repr(self.id) + ' ' +\
17094            '>'
17095
17096    def to_dict(self):
17097        return {
17098            'id': self.id,
17099        }
17100
17101    @classmethod
17102    def from_dict(cls, d):
17103        return cls(id=d.get('id'), )

ManagedSecretDeleteRequest specified the ID of a Managed Secret to be deleted.

ManagedSecretDeleteRequest(id=None)
17082    def __init__(
17083        self,
17084        id=None,
17085    ):
17086        self.id = id if id is not None else ''
17087        '''
17088         The unique identifier of the Managed Secret to delete.
17089        '''
id

The unique identifier of the Managed Secret to delete.

def to_dict(self)
17096    def to_dict(self):
17097        return {
17098            'id': self.id,
17099        }
@classmethod
def from_dict(cls, d)
17101    @classmethod
17102    def from_dict(cls, d):
17103        return cls(id=d.get('id'), )
class ManagedSecretDeleteResponse:
17106class ManagedSecretDeleteResponse:
17107    '''
17108         ManagedSecretDeleteResponse contains information about a Managed Secret after
17109     it was deleted.
17110    '''
17111    __slots__ = [
17112        'rate_limit',
17113    ]
17114
17115    def __init__(
17116        self,
17117        rate_limit=None,
17118    ):
17119        self.rate_limit = rate_limit if rate_limit is not None else None
17120        '''
17121         Rate limit information.
17122        '''
17123
17124    def __repr__(self):
17125        return '<sdm.ManagedSecretDeleteResponse ' + \
17126            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17127            '>'
17128
17129    def to_dict(self):
17130        return {
17131            'rate_limit': self.rate_limit,
17132        }
17133
17134    @classmethod
17135    def from_dict(cls, d):
17136        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretDeleteResponse contains information about a Managed Secret after it was deleted.

ManagedSecretDeleteResponse(rate_limit=None)
17115    def __init__(
17116        self,
17117        rate_limit=None,
17118    ):
17119        self.rate_limit = rate_limit if rate_limit is not None else None
17120        '''
17121         Rate limit information.
17122        '''
rate_limit

Rate limit information.

def to_dict(self)
17129    def to_dict(self):
17130        return {
17131            'rate_limit': self.rate_limit,
17132        }
@classmethod
def from_dict(cls, d)
17134    @classmethod
17135    def from_dict(cls, d):
17136        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretGetRequest:
17139class ManagedSecretGetRequest:
17140    '''
17141         ManagedSecretGetRequest specifies which Managed Secret to retrieve
17142    '''
17143    __slots__ = [
17144        'id',
17145    ]
17146
17147    def __init__(
17148        self,
17149        id=None,
17150    ):
17151        self.id = id if id is not None else ''
17152        '''
17153         The unique identifier of the Managed Secret to retrieve.
17154        '''
17155
17156    def __repr__(self):
17157        return '<sdm.ManagedSecretGetRequest ' + \
17158            'id: ' + repr(self.id) + ' ' +\
17159            '>'
17160
17161    def to_dict(self):
17162        return {
17163            'id': self.id,
17164        }
17165
17166    @classmethod
17167    def from_dict(cls, d):
17168        return cls(id=d.get('id'), )

ManagedSecretGetRequest specifies which Managed Secret to retrieve

ManagedSecretGetRequest(id=None)
17147    def __init__(
17148        self,
17149        id=None,
17150    ):
17151        self.id = id if id is not None else ''
17152        '''
17153         The unique identifier of the Managed Secret to retrieve.
17154        '''
id

The unique identifier of the Managed Secret to retrieve.

def to_dict(self)
17161    def to_dict(self):
17162        return {
17163            'id': self.id,
17164        }
@classmethod
def from_dict(cls, d)
17166    @classmethod
17167    def from_dict(cls, d):
17168        return cls(id=d.get('id'), )
class ManagedSecretGetResponse:
17171class ManagedSecretGetResponse:
17172    '''
17173         ManagedSecretGetResponse contains information about requested Managed Secret
17174    '''
17175    __slots__ = [
17176        'managed_secret',
17177        'meta',
17178        'rate_limit',
17179    ]
17180
17181    def __init__(
17182        self,
17183        managed_secret=None,
17184        meta=None,
17185        rate_limit=None,
17186    ):
17187        self.managed_secret = managed_secret if managed_secret is not None else None
17188        '''
17189         The requested Managed Secret.
17190        '''
17191        self.meta = meta if meta is not None else None
17192        '''
17193         Reserved for future use.
17194        '''
17195        self.rate_limit = rate_limit if rate_limit is not None else None
17196        '''
17197         Rate limit information.
17198        '''
17199
17200    def __repr__(self):
17201        return '<sdm.ManagedSecretGetResponse ' + \
17202            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17203            'meta: ' + repr(self.meta) + ' ' +\
17204            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17205            '>'
17206
17207    def to_dict(self):
17208        return {
17209            'managed_secret': self.managed_secret,
17210            'meta': self.meta,
17211            'rate_limit': self.rate_limit,
17212        }
17213
17214    @classmethod
17215    def from_dict(cls, d):
17216        return cls(
17217            managed_secret=d.get('managed_secret'),
17218            meta=d.get('meta'),
17219            rate_limit=d.get('rate_limit'),
17220        )

ManagedSecretGetResponse contains information about requested Managed Secret

ManagedSecretGetResponse(managed_secret=None, meta=None, rate_limit=None)
17181    def __init__(
17182        self,
17183        managed_secret=None,
17184        meta=None,
17185        rate_limit=None,
17186    ):
17187        self.managed_secret = managed_secret if managed_secret is not None else None
17188        '''
17189         The requested Managed Secret.
17190        '''
17191        self.meta = meta if meta is not None else None
17192        '''
17193         Reserved for future use.
17194        '''
17195        self.rate_limit = rate_limit if rate_limit is not None else None
17196        '''
17197         Rate limit information.
17198        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17207    def to_dict(self):
17208        return {
17209            'managed_secret': self.managed_secret,
17210            'meta': self.meta,
17211            'rate_limit': self.rate_limit,
17212        }
@classmethod
def from_dict(cls, d)
17214    @classmethod
17215    def from_dict(cls, d):
17216        return cls(
17217            managed_secret=d.get('managed_secret'),
17218            meta=d.get('meta'),
17219            rate_limit=d.get('rate_limit'),
17220        )
class ManagedSecretListRequest:
17223class ManagedSecretListRequest:
17224    '''
17225         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
17226     Secrets.
17227    '''
17228    __slots__ = [
17229        'filter',
17230    ]
17231
17232    def __init__(
17233        self,
17234        filter=None,
17235    ):
17236        self.filter = filter if filter is not None else ''
17237        '''
17238         A human-readable filter query string.
17239        '''
17240
17241    def __repr__(self):
17242        return '<sdm.ManagedSecretListRequest ' + \
17243            'filter: ' + repr(self.filter) + ' ' +\
17244            '>'
17245
17246    def to_dict(self):
17247        return {
17248            'filter': self.filter,
17249        }
17250
17251    @classmethod
17252    def from_dict(cls, d):
17253        return cls(filter=d.get('filter'), )

ManagedSecretListRequest specifies criteria for retrieving a list of Managed Secrets.

ManagedSecretListRequest(filter=None)
17232    def __init__(
17233        self,
17234        filter=None,
17235    ):
17236        self.filter = filter if filter is not None else ''
17237        '''
17238         A human-readable filter query string.
17239        '''
filter

A human-readable filter query string.

def to_dict(self)
17246    def to_dict(self):
17247        return {
17248            'filter': self.filter,
17249        }
@classmethod
def from_dict(cls, d)
17251    @classmethod
17252    def from_dict(cls, d):
17253        return cls(filter=d.get('filter'), )
class ManagedSecretListResponse:
17256class ManagedSecretListResponse:
17257    '''
17258         ManagedSecretListResponse contains a list of requested Managed Secrets
17259    '''
17260    __slots__ = [
17261        'rate_limit',
17262    ]
17263
17264    def __init__(
17265        self,
17266        rate_limit=None,
17267    ):
17268        self.rate_limit = rate_limit if rate_limit is not None else None
17269        '''
17270         Rate limit information.
17271        '''
17272
17273    def __repr__(self):
17274        return '<sdm.ManagedSecretListResponse ' + \
17275            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17276            '>'
17277
17278    def to_dict(self):
17279        return {
17280            'rate_limit': self.rate_limit,
17281        }
17282
17283    @classmethod
17284    def from_dict(cls, d):
17285        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretListResponse contains a list of requested Managed Secrets

ManagedSecretListResponse(rate_limit=None)
17264    def __init__(
17265        self,
17266        rate_limit=None,
17267    ):
17268        self.rate_limit = rate_limit if rate_limit is not None else None
17269        '''
17270         Rate limit information.
17271        '''
rate_limit

Rate limit information.

def to_dict(self)
17278    def to_dict(self):
17279        return {
17280            'rate_limit': self.rate_limit,
17281        }
@classmethod
def from_dict(cls, d)
17283    @classmethod
17284    def from_dict(cls, d):
17285        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretLog:
17288class ManagedSecretLog:
17289    '''
17290         ManagedSecretLog contains details about action performed against a managed
17291     secret
17292    '''
17293    __slots__ = [
17294        'account_id',
17295        'action',
17296        'created_at',
17297        'debug',
17298        'id',
17299        'managed_secret_id',
17300        'secret_engine_id',
17301    ]
17302
17303    def __init__(
17304        self,
17305        account_id=None,
17306        action=None,
17307        created_at=None,
17308        debug=None,
17309        id=None,
17310        managed_secret_id=None,
17311        secret_engine_id=None,
17312    ):
17313        self.account_id = account_id if account_id is not None else ''
17314        '''
17315         An ID of the account the action was performed by.
17316        '''
17317        self.action = action if action is not None else ''
17318        '''
17319         The action performed by the account against the managed secret.
17320        '''
17321        self.created_at = created_at if created_at is not None else None
17322        '''
17323         Timestamp of when action was performed.
17324        '''
17325        self.debug = debug if debug is not None else ''
17326        '''
17327         Any debug logs associated with the action.
17328        '''
17329        self.id = id if id is not None else ''
17330        '''
17331         Unique identifier of the Managed Secret Log.
17332        '''
17333        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17334        '''
17335         An ID of the Managed Secret the action was performed against.
17336        '''
17337        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17338        '''
17339         An ID of the Secret Engine linked with the Managed Secret.
17340        '''
17341
17342    def __repr__(self):
17343        return '<sdm.ManagedSecretLog ' + \
17344            'account_id: ' + repr(self.account_id) + ' ' +\
17345            'action: ' + repr(self.action) + ' ' +\
17346            'created_at: ' + repr(self.created_at) + ' ' +\
17347            'debug: ' + repr(self.debug) + ' ' +\
17348            'id: ' + repr(self.id) + ' ' +\
17349            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17350            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17351            '>'
17352
17353    def to_dict(self):
17354        return {
17355            'account_id': self.account_id,
17356            'action': self.action,
17357            'created_at': self.created_at,
17358            'debug': self.debug,
17359            'id': self.id,
17360            'managed_secret_id': self.managed_secret_id,
17361            'secret_engine_id': self.secret_engine_id,
17362        }
17363
17364    @classmethod
17365    def from_dict(cls, d):
17366        return cls(
17367            account_id=d.get('account_id'),
17368            action=d.get('action'),
17369            created_at=d.get('created_at'),
17370            debug=d.get('debug'),
17371            id=d.get('id'),
17372            managed_secret_id=d.get('managed_secret_id'),
17373            secret_engine_id=d.get('secret_engine_id'),
17374        )

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)
17303    def __init__(
17304        self,
17305        account_id=None,
17306        action=None,
17307        created_at=None,
17308        debug=None,
17309        id=None,
17310        managed_secret_id=None,
17311        secret_engine_id=None,
17312    ):
17313        self.account_id = account_id if account_id is not None else ''
17314        '''
17315         An ID of the account the action was performed by.
17316        '''
17317        self.action = action if action is not None else ''
17318        '''
17319         The action performed by the account against the managed secret.
17320        '''
17321        self.created_at = created_at if created_at is not None else None
17322        '''
17323         Timestamp of when action was performed.
17324        '''
17325        self.debug = debug if debug is not None else ''
17326        '''
17327         Any debug logs associated with the action.
17328        '''
17329        self.id = id if id is not None else ''
17330        '''
17331         Unique identifier of the Managed Secret Log.
17332        '''
17333        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17334        '''
17335         An ID of the Managed Secret the action was performed against.
17336        '''
17337        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17338        '''
17339         An ID of the Secret Engine linked with the Managed Secret.
17340        '''
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)
17353    def to_dict(self):
17354        return {
17355            'account_id': self.account_id,
17356            'action': self.action,
17357            'created_at': self.created_at,
17358            'debug': self.debug,
17359            'id': self.id,
17360            'managed_secret_id': self.managed_secret_id,
17361            'secret_engine_id': self.secret_engine_id,
17362        }
@classmethod
def from_dict(cls, d)
17364    @classmethod
17365    def from_dict(cls, d):
17366        return cls(
17367            account_id=d.get('account_id'),
17368            action=d.get('action'),
17369            created_at=d.get('created_at'),
17370            debug=d.get('debug'),
17371            id=d.get('id'),
17372            managed_secret_id=d.get('managed_secret_id'),
17373            secret_engine_id=d.get('secret_engine_id'),
17374        )
class ManagedSecretLogsRequest:
17377class ManagedSecretLogsRequest:
17378    '''
17379         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17380     Secrets actions.
17381    '''
17382    __slots__ = [
17383        'filter',
17384    ]
17385
17386    def __init__(
17387        self,
17388        filter=None,
17389    ):
17390        self.filter = filter if filter is not None else ''
17391        '''
17392         A human-readable filter query string.
17393        '''
17394
17395    def __repr__(self):
17396        return '<sdm.ManagedSecretLogsRequest ' + \
17397            'filter: ' + repr(self.filter) + ' ' +\
17398            '>'
17399
17400    def to_dict(self):
17401        return {
17402            'filter': self.filter,
17403        }
17404
17405    @classmethod
17406    def from_dict(cls, d):
17407        return cls(filter=d.get('filter'), )

ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed Secrets actions.

ManagedSecretLogsRequest(filter=None)
17386    def __init__(
17387        self,
17388        filter=None,
17389    ):
17390        self.filter = filter if filter is not None else ''
17391        '''
17392         A human-readable filter query string.
17393        '''
filter

A human-readable filter query string.

def to_dict(self)
17400    def to_dict(self):
17401        return {
17402            'filter': self.filter,
17403        }
@classmethod
def from_dict(cls, d)
17405    @classmethod
17406    def from_dict(cls, d):
17407        return cls(filter=d.get('filter'), )
class ManagedSecretLogsResponse:
17410class ManagedSecretLogsResponse:
17411    '''
17412         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17413    '''
17414    __slots__ = [
17415        'rate_limit',
17416    ]
17417
17418    def __init__(
17419        self,
17420        rate_limit=None,
17421    ):
17422        self.rate_limit = rate_limit if rate_limit is not None else None
17423        '''
17424         Rate limit information.
17425        '''
17426
17427    def __repr__(self):
17428        return '<sdm.ManagedSecretLogsResponse ' + \
17429            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17430            '>'
17431
17432    def to_dict(self):
17433        return {
17434            'rate_limit': self.rate_limit,
17435        }
17436
17437    @classmethod
17438    def from_dict(cls, d):
17439        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretLogsResponse contains a list of requested Managed Secrets

ManagedSecretLogsResponse(rate_limit=None)
17418    def __init__(
17419        self,
17420        rate_limit=None,
17421    ):
17422        self.rate_limit = rate_limit if rate_limit is not None else None
17423        '''
17424         Rate limit information.
17425        '''
rate_limit

Rate limit information.

def to_dict(self)
17432    def to_dict(self):
17433        return {
17434            'rate_limit': self.rate_limit,
17435        }
@classmethod
def from_dict(cls, d)
17437    @classmethod
17438    def from_dict(cls, d):
17439        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretPasswordPolicy:
17442class ManagedSecretPasswordPolicy:
17443    __slots__ = [
17444        'allow_repeat',
17445        'exclude_characters',
17446        'exclude_upper_case',
17447        'length',
17448        'num_digits',
17449        'num_symbols',
17450    ]
17451
17452    def __init__(
17453        self,
17454        allow_repeat=None,
17455        exclude_characters=None,
17456        exclude_upper_case=None,
17457        length=None,
17458        num_digits=None,
17459        num_symbols=None,
17460    ):
17461        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17462        '''
17463         If set to true allows for consecutive characters to repeat itself
17464        '''
17465        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17466        '''
17467         Characters to exclude when generating password
17468        '''
17469        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17470        '''
17471         If set to true do not include upper case letters when generating password
17472        '''
17473        self.length = length if length is not None else 0
17474        '''
17475         Password length
17476        '''
17477        self.num_digits = num_digits if num_digits is not None else 0
17478        '''
17479         Numbers of digits to use when generating password
17480        '''
17481        self.num_symbols = num_symbols if num_symbols is not None else 0
17482        '''
17483         Number of symbols to use when generating password
17484        '''
17485
17486    def __repr__(self):
17487        return '<sdm.ManagedSecretPasswordPolicy ' + \
17488            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17489            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17490            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17491            'length: ' + repr(self.length) + ' ' +\
17492            'num_digits: ' + repr(self.num_digits) + ' ' +\
17493            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17494            '>'
17495
17496    def to_dict(self):
17497        return {
17498            'allow_repeat': self.allow_repeat,
17499            'exclude_characters': self.exclude_characters,
17500            'exclude_upper_case': self.exclude_upper_case,
17501            'length': self.length,
17502            'num_digits': self.num_digits,
17503            'num_symbols': self.num_symbols,
17504        }
17505
17506    @classmethod
17507    def from_dict(cls, d):
17508        return cls(
17509            allow_repeat=d.get('allow_repeat'),
17510            exclude_characters=d.get('exclude_characters'),
17511            exclude_upper_case=d.get('exclude_upper_case'),
17512            length=d.get('length'),
17513            num_digits=d.get('num_digits'),
17514            num_symbols=d.get('num_symbols'),
17515        )
ManagedSecretPasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
17452    def __init__(
17453        self,
17454        allow_repeat=None,
17455        exclude_characters=None,
17456        exclude_upper_case=None,
17457        length=None,
17458        num_digits=None,
17459        num_symbols=None,
17460    ):
17461        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17462        '''
17463         If set to true allows for consecutive characters to repeat itself
17464        '''
17465        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17466        '''
17467         Characters to exclude when generating password
17468        '''
17469        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17470        '''
17471         If set to true do not include upper case letters when generating password
17472        '''
17473        self.length = length if length is not None else 0
17474        '''
17475         Password length
17476        '''
17477        self.num_digits = num_digits if num_digits is not None else 0
17478        '''
17479         Numbers of digits to use when generating password
17480        '''
17481        self.num_symbols = num_symbols if num_symbols is not None else 0
17482        '''
17483         Number of symbols to use when generating password
17484        '''
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)
17496    def to_dict(self):
17497        return {
17498            'allow_repeat': self.allow_repeat,
17499            'exclude_characters': self.exclude_characters,
17500            'exclude_upper_case': self.exclude_upper_case,
17501            'length': self.length,
17502            'num_digits': self.num_digits,
17503            'num_symbols': self.num_symbols,
17504        }
@classmethod
def from_dict(cls, d)
17506    @classmethod
17507    def from_dict(cls, d):
17508        return cls(
17509            allow_repeat=d.get('allow_repeat'),
17510            exclude_characters=d.get('exclude_characters'),
17511            exclude_upper_case=d.get('exclude_upper_case'),
17512            length=d.get('length'),
17513            num_digits=d.get('num_digits'),
17514            num_symbols=d.get('num_symbols'),
17515        )
class ManagedSecretPolicy:
17518class ManagedSecretPolicy:
17519    '''
17520         ManagedSecretPolicy contains password and rotation policy for managed secret
17521    '''
17522    __slots__ = [
17523        'password_policy',
17524        'rotation_policy',
17525    ]
17526
17527    def __init__(
17528        self,
17529        password_policy=None,
17530        rotation_policy=None,
17531    ):
17532        self.password_policy = password_policy if password_policy is not None else None
17533        '''
17534         Password policy for a managed secret
17535        '''
17536        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17537        '''
17538         Rotation policy for a managed secret
17539        '''
17540
17541    def __repr__(self):
17542        return '<sdm.ManagedSecretPolicy ' + \
17543            'password_policy: ' + repr(self.password_policy) + ' ' +\
17544            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17545            '>'
17546
17547    def to_dict(self):
17548        return {
17549            'password_policy': self.password_policy,
17550            'rotation_policy': self.rotation_policy,
17551        }
17552
17553    @classmethod
17554    def from_dict(cls, d):
17555        return cls(
17556            password_policy=d.get('password_policy'),
17557            rotation_policy=d.get('rotation_policy'),
17558        )

ManagedSecretPolicy contains password and rotation policy for managed secret

ManagedSecretPolicy(password_policy=None, rotation_policy=None)
17527    def __init__(
17528        self,
17529        password_policy=None,
17530        rotation_policy=None,
17531    ):
17532        self.password_policy = password_policy if password_policy is not None else None
17533        '''
17534         Password policy for a managed secret
17535        '''
17536        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17537        '''
17538         Rotation policy for a managed secret
17539        '''
password_policy

Password policy for a managed secret

rotation_policy

Rotation policy for a managed secret

def to_dict(self)
17547    def to_dict(self):
17548        return {
17549            'password_policy': self.password_policy,
17550            'rotation_policy': self.rotation_policy,
17551        }
@classmethod
def from_dict(cls, d)
17553    @classmethod
17554    def from_dict(cls, d):
17555        return cls(
17556            password_policy=d.get('password_policy'),
17557            rotation_policy=d.get('rotation_policy'),
17558        )
class ManagedSecretRetrieveRequest:
17561class ManagedSecretRetrieveRequest:
17562    '''
17563         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17564    '''
17565    __slots__ = [
17566        'id',
17567        'public_key',
17568    ]
17569
17570    def __init__(
17571        self,
17572        id=None,
17573        public_key=None,
17574    ):
17575        self.id = id if id is not None else ''
17576        '''
17577         The unique identifier of the Managed Secret to retrieve.
17578        '''
17579        self.public_key = public_key if public_key is not None else b''
17580        '''
17581         Public key to encrypt a sensitive value with
17582        '''
17583
17584    def __repr__(self):
17585        return '<sdm.ManagedSecretRetrieveRequest ' + \
17586            'id: ' + repr(self.id) + ' ' +\
17587            'public_key: ' + repr(self.public_key) + ' ' +\
17588            '>'
17589
17590    def to_dict(self):
17591        return {
17592            'id': self.id,
17593            'public_key': self.public_key,
17594        }
17595
17596    @classmethod
17597    def from_dict(cls, d):
17598        return cls(
17599            id=d.get('id'),
17600            public_key=d.get('public_key'),
17601        )

ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve

ManagedSecretRetrieveRequest(id=None, public_key=None)
17570    def __init__(
17571        self,
17572        id=None,
17573        public_key=None,
17574    ):
17575        self.id = id if id is not None else ''
17576        '''
17577         The unique identifier of the Managed Secret to retrieve.
17578        '''
17579        self.public_key = public_key if public_key is not None else b''
17580        '''
17581         Public key to encrypt a sensitive value with
17582        '''
id

The unique identifier of the Managed Secret to retrieve.

public_key

Public key to encrypt a sensitive value with

def to_dict(self)
17590    def to_dict(self):
17591        return {
17592            'id': self.id,
17593            'public_key': self.public_key,
17594        }
@classmethod
def from_dict(cls, d)
17596    @classmethod
17597    def from_dict(cls, d):
17598        return cls(
17599            id=d.get('id'),
17600            public_key=d.get('public_key'),
17601        )
class ManagedSecretRetrieveResponse:
17604class ManagedSecretRetrieveResponse:
17605    '''
17606         ManagedSecretRetrieveResponse contains information about requested Managed
17607     Secret
17608    '''
17609    __slots__ = [
17610        'managed_secret',
17611        'meta',
17612        'rate_limit',
17613    ]
17614
17615    def __init__(
17616        self,
17617        managed_secret=None,
17618        meta=None,
17619        rate_limit=None,
17620    ):
17621        self.managed_secret = managed_secret if managed_secret is not None else None
17622        '''
17623         The requested Managed Secret.
17624        '''
17625        self.meta = meta if meta is not None else None
17626        '''
17627         Reserved for future use.
17628        '''
17629        self.rate_limit = rate_limit if rate_limit is not None else None
17630        '''
17631         Rate limit information.
17632        '''
17633
17634    def __repr__(self):
17635        return '<sdm.ManagedSecretRetrieveResponse ' + \
17636            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17637            'meta: ' + repr(self.meta) + ' ' +\
17638            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17639            '>'
17640
17641    def to_dict(self):
17642        return {
17643            'managed_secret': self.managed_secret,
17644            'meta': self.meta,
17645            'rate_limit': self.rate_limit,
17646        }
17647
17648    @classmethod
17649    def from_dict(cls, d):
17650        return cls(
17651            managed_secret=d.get('managed_secret'),
17652            meta=d.get('meta'),
17653            rate_limit=d.get('rate_limit'),
17654        )

ManagedSecretRetrieveResponse contains information about requested Managed Secret

ManagedSecretRetrieveResponse(managed_secret=None, meta=None, rate_limit=None)
17615    def __init__(
17616        self,
17617        managed_secret=None,
17618        meta=None,
17619        rate_limit=None,
17620    ):
17621        self.managed_secret = managed_secret if managed_secret is not None else None
17622        '''
17623         The requested Managed Secret.
17624        '''
17625        self.meta = meta if meta is not None else None
17626        '''
17627         Reserved for future use.
17628        '''
17629        self.rate_limit = rate_limit if rate_limit is not None else None
17630        '''
17631         Rate limit information.
17632        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17641    def to_dict(self):
17642        return {
17643            'managed_secret': self.managed_secret,
17644            'meta': self.meta,
17645            'rate_limit': self.rate_limit,
17646        }
@classmethod
def from_dict(cls, d)
17648    @classmethod
17649    def from_dict(cls, d):
17650        return cls(
17651            managed_secret=d.get('managed_secret'),
17652            meta=d.get('meta'),
17653            rate_limit=d.get('rate_limit'),
17654        )
class ManagedSecretRotateRequest:
17657class ManagedSecretRotateRequest:
17658    '''
17659         ManagedSecretRotateRequest specifies Managed Secret to rotate
17660    '''
17661    __slots__ = [
17662        'id',
17663    ]
17664
17665    def __init__(
17666        self,
17667        id=None,
17668    ):
17669        self.id = id if id is not None else ''
17670        '''
17671         The unique identifier of the Managed Secret to rotate.
17672        '''
17673
17674    def __repr__(self):
17675        return '<sdm.ManagedSecretRotateRequest ' + \
17676            'id: ' + repr(self.id) + ' ' +\
17677            '>'
17678
17679    def to_dict(self):
17680        return {
17681            'id': self.id,
17682        }
17683
17684    @classmethod
17685    def from_dict(cls, d):
17686        return cls(id=d.get('id'), )

ManagedSecretRotateRequest specifies Managed Secret to rotate

ManagedSecretRotateRequest(id=None)
17665    def __init__(
17666        self,
17667        id=None,
17668    ):
17669        self.id = id if id is not None else ''
17670        '''
17671         The unique identifier of the Managed Secret to rotate.
17672        '''
id

The unique identifier of the Managed Secret to rotate.

def to_dict(self)
17679    def to_dict(self):
17680        return {
17681            'id': self.id,
17682        }
@classmethod
def from_dict(cls, d)
17684    @classmethod
17685    def from_dict(cls, d):
17686        return cls(id=d.get('id'), )
class ManagedSecretRotateResponse:
17689class ManagedSecretRotateResponse:
17690    '''
17691         ManagedSecretRotateResponse contains information about Secret Engine after
17692     successful rotation.
17693    '''
17694    __slots__ = [
17695        'meta',
17696        'rate_limit',
17697    ]
17698
17699    def __init__(
17700        self,
17701        meta=None,
17702        rate_limit=None,
17703    ):
17704        self.meta = meta if meta is not None else None
17705        '''
17706         Reserved for future use.
17707        '''
17708        self.rate_limit = rate_limit if rate_limit is not None else None
17709        '''
17710         Rate limit information.
17711        '''
17712
17713    def __repr__(self):
17714        return '<sdm.ManagedSecretRotateResponse ' + \
17715            'meta: ' + repr(self.meta) + ' ' +\
17716            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17717            '>'
17718
17719    def to_dict(self):
17720        return {
17721            'meta': self.meta,
17722            'rate_limit': self.rate_limit,
17723        }
17724
17725    @classmethod
17726    def from_dict(cls, d):
17727        return cls(
17728            meta=d.get('meta'),
17729            rate_limit=d.get('rate_limit'),
17730        )

ManagedSecretRotateResponse contains information about Secret Engine after successful rotation.

ManagedSecretRotateResponse(meta=None, rate_limit=None)
17699    def __init__(
17700        self,
17701        meta=None,
17702        rate_limit=None,
17703    ):
17704        self.meta = meta if meta is not None else None
17705        '''
17706         Reserved for future use.
17707        '''
17708        self.rate_limit = rate_limit if rate_limit is not None else None
17709        '''
17710         Rate limit information.
17711        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17719    def to_dict(self):
17720        return {
17721            'meta': self.meta,
17722            'rate_limit': self.rate_limit,
17723        }
@classmethod
def from_dict(cls, d)
17725    @classmethod
17726    def from_dict(cls, d):
17727        return cls(
17728            meta=d.get('meta'),
17729            rate_limit=d.get('rate_limit'),
17730        )
class ManagedSecretRotationPolicy:
17733class ManagedSecretRotationPolicy:
17734    __slots__ = []
17735
17736    def __init__(self, ):
17737        pass
17738
17739    def __repr__(self):
17740        return '<sdm.ManagedSecretRotationPolicy ' + \
17741            '>'
17742
17743    def to_dict(self):
17744        return {}
17745
17746    @classmethod
17747    def from_dict(cls, d):
17748        return cls()
ManagedSecretRotationPolicy()
17736    def __init__(self, ):
17737        pass
def to_dict(self)
17743    def to_dict(self):
17744        return {}
@classmethod
def from_dict(cls, d)
17746    @classmethod
17747    def from_dict(cls, d):
17748        return cls()
class ManagedSecretUpdateRequest:
17751class ManagedSecretUpdateRequest:
17752    '''
17753         ManagedSecretUpdateRequest specifies Managed Secret to update
17754    '''
17755    __slots__ = [
17756        'managed_secret',
17757    ]
17758
17759    def __init__(
17760        self,
17761        managed_secret=None,
17762    ):
17763        self.managed_secret = managed_secret if managed_secret is not None else None
17764        '''
17765         Managed Secret to update
17766        '''
17767
17768    def __repr__(self):
17769        return '<sdm.ManagedSecretUpdateRequest ' + \
17770            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17771            '>'
17772
17773    def to_dict(self):
17774        return {
17775            'managed_secret': self.managed_secret,
17776        }
17777
17778    @classmethod
17779    def from_dict(cls, d):
17780        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretUpdateRequest specifies Managed Secret to update

ManagedSecretUpdateRequest(managed_secret=None)
17759    def __init__(
17760        self,
17761        managed_secret=None,
17762    ):
17763        self.managed_secret = managed_secret if managed_secret is not None else None
17764        '''
17765         Managed Secret to update
17766        '''
managed_secret

Managed Secret to update

def to_dict(self)
17773    def to_dict(self):
17774        return {
17775            'managed_secret': self.managed_secret,
17776        }
@classmethod
def from_dict(cls, d)
17778    @classmethod
17779    def from_dict(cls, d):
17780        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretUpdateResponse:
17783class ManagedSecretUpdateResponse:
17784    '''
17785         ManagedSecretUpdateResponse contains information about Secret Engine after
17786     successful update.
17787    '''
17788    __slots__ = [
17789        'managed_secret',
17790        'meta',
17791        'rate_limit',
17792    ]
17793
17794    def __init__(
17795        self,
17796        managed_secret=None,
17797        meta=None,
17798        rate_limit=None,
17799    ):
17800        self.managed_secret = managed_secret if managed_secret is not None else None
17801        '''
17802         The requested Managed Secret.
17803        '''
17804        self.meta = meta if meta is not None else None
17805        '''
17806         Reserved for future use.
17807        '''
17808        self.rate_limit = rate_limit if rate_limit is not None else None
17809        '''
17810         Rate limit information.
17811        '''
17812
17813    def __repr__(self):
17814        return '<sdm.ManagedSecretUpdateResponse ' + \
17815            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17816            'meta: ' + repr(self.meta) + ' ' +\
17817            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17818            '>'
17819
17820    def to_dict(self):
17821        return {
17822            'managed_secret': self.managed_secret,
17823            'meta': self.meta,
17824            'rate_limit': self.rate_limit,
17825        }
17826
17827    @classmethod
17828    def from_dict(cls, d):
17829        return cls(
17830            managed_secret=d.get('managed_secret'),
17831            meta=d.get('meta'),
17832            rate_limit=d.get('rate_limit'),
17833        )

ManagedSecretUpdateResponse contains information about Secret Engine after successful update.

ManagedSecretUpdateResponse(managed_secret=None, meta=None, rate_limit=None)
17794    def __init__(
17795        self,
17796        managed_secret=None,
17797        meta=None,
17798        rate_limit=None,
17799    ):
17800        self.managed_secret = managed_secret if managed_secret is not None else None
17801        '''
17802         The requested Managed Secret.
17803        '''
17804        self.meta = meta if meta is not None else None
17805        '''
17806         Reserved for future use.
17807        '''
17808        self.rate_limit = rate_limit if rate_limit is not None else None
17809        '''
17810         Rate limit information.
17811        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17820    def to_dict(self):
17821        return {
17822            'managed_secret': self.managed_secret,
17823            'meta': self.meta,
17824            'rate_limit': self.rate_limit,
17825        }
@classmethod
def from_dict(cls, d)
17827    @classmethod
17828    def from_dict(cls, d):
17829        return cls(
17830            managed_secret=d.get('managed_secret'),
17831            meta=d.get('meta'),
17832            rate_limit=d.get('rate_limit'),
17833        )
class ManagedSecretValidateRequest:
17836class ManagedSecretValidateRequest:
17837    '''
17838         ManagedSecretValidateRequest specifies which Managed Secret to validate
17839    '''
17840    __slots__ = [
17841        'id',
17842    ]
17843
17844    def __init__(
17845        self,
17846        id=None,
17847    ):
17848        self.id = id if id is not None else ''
17849        '''
17850         The unique identifier of the Managed Secret to validate.
17851        '''
17852
17853    def __repr__(self):
17854        return '<sdm.ManagedSecretValidateRequest ' + \
17855            'id: ' + repr(self.id) + ' ' +\
17856            '>'
17857
17858    def to_dict(self):
17859        return {
17860            'id': self.id,
17861        }
17862
17863    @classmethod
17864    def from_dict(cls, d):
17865        return cls(id=d.get('id'), )

ManagedSecretValidateRequest specifies which Managed Secret to validate

ManagedSecretValidateRequest(id=None)
17844    def __init__(
17845        self,
17846        id=None,
17847    ):
17848        self.id = id if id is not None else ''
17849        '''
17850         The unique identifier of the Managed Secret to validate.
17851        '''
id

The unique identifier of the Managed Secret to validate.

def to_dict(self)
17858    def to_dict(self):
17859        return {
17860            'id': self.id,
17861        }
@classmethod
def from_dict(cls, d)
17863    @classmethod
17864    def from_dict(cls, d):
17865        return cls(id=d.get('id'), )
class ManagedSecretValidateResponse:
17868class ManagedSecretValidateResponse:
17869    '''
17870         ManagedSecretValidateResponse contains validity of requested Managed
17871     Secret
17872    '''
17873    __slots__ = [
17874        'invalid_info',
17875        'meta',
17876        'rate_limit',
17877        'valid',
17878    ]
17879
17880    def __init__(
17881        self,
17882        invalid_info=None,
17883        meta=None,
17884        rate_limit=None,
17885        valid=None,
17886    ):
17887        self.invalid_info = invalid_info if invalid_info is not None else ''
17888        '''
17889         Information about why secret is invalid
17890        '''
17891        self.meta = meta if meta is not None else None
17892        '''
17893         Reserved for future use.
17894        '''
17895        self.rate_limit = rate_limit if rate_limit is not None else None
17896        '''
17897         Rate limit information.
17898        '''
17899        self.valid = valid if valid is not None else False
17900        '''
17901         Whether the secret is valid
17902        '''
17903
17904    def __repr__(self):
17905        return '<sdm.ManagedSecretValidateResponse ' + \
17906            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17907            'meta: ' + repr(self.meta) + ' ' +\
17908            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17909            'valid: ' + repr(self.valid) + ' ' +\
17910            '>'
17911
17912    def to_dict(self):
17913        return {
17914            'invalid_info': self.invalid_info,
17915            'meta': self.meta,
17916            'rate_limit': self.rate_limit,
17917            'valid': self.valid,
17918        }
17919
17920    @classmethod
17921    def from_dict(cls, d):
17922        return cls(
17923            invalid_info=d.get('invalid_info'),
17924            meta=d.get('meta'),
17925            rate_limit=d.get('rate_limit'),
17926            valid=d.get('valid'),
17927        )

ManagedSecretValidateResponse contains validity of requested Managed Secret

ManagedSecretValidateResponse(invalid_info=None, meta=None, rate_limit=None, valid=None)
17880    def __init__(
17881        self,
17882        invalid_info=None,
17883        meta=None,
17884        rate_limit=None,
17885        valid=None,
17886    ):
17887        self.invalid_info = invalid_info if invalid_info is not None else ''
17888        '''
17889         Information about why secret is invalid
17890        '''
17891        self.meta = meta if meta is not None else None
17892        '''
17893         Reserved for future use.
17894        '''
17895        self.rate_limit = rate_limit if rate_limit is not None else None
17896        '''
17897         Rate limit information.
17898        '''
17899        self.valid = valid if valid is not None else False
17900        '''
17901         Whether the secret is valid
17902        '''
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)
17912    def to_dict(self):
17913        return {
17914            'invalid_info': self.invalid_info,
17915            'meta': self.meta,
17916            'rate_limit': self.rate_limit,
17917            'valid': self.valid,
17918        }
@classmethod
def from_dict(cls, d)
17920    @classmethod
17921    def from_dict(cls, d):
17922        return cls(
17923            invalid_info=d.get('invalid_info'),
17924            meta=d.get('meta'),
17925            rate_limit=d.get('rate_limit'),
17926            valid=d.get('valid'),
17927        )
class Maria:
17930class Maria:
17931    __slots__ = [
17932        'bind_interface',
17933        'database',
17934        'egress_filter',
17935        'healthy',
17936        'hostname',
17937        'id',
17938        'name',
17939        'password',
17940        'port',
17941        'port_override',
17942        'proxy_cluster_id',
17943        'require_native_auth',
17944        'secret_store_id',
17945        'subdomain',
17946        'tags',
17947        'use_azure_single_server_usernames',
17948        'username',
17949    ]
17950
17951    def __init__(
17952        self,
17953        bind_interface=None,
17954        database=None,
17955        egress_filter=None,
17956        healthy=None,
17957        hostname=None,
17958        id=None,
17959        name=None,
17960        password=None,
17961        port=None,
17962        port_override=None,
17963        proxy_cluster_id=None,
17964        require_native_auth=None,
17965        secret_store_id=None,
17966        subdomain=None,
17967        tags=None,
17968        use_azure_single_server_usernames=None,
17969        username=None,
17970    ):
17971        self.bind_interface = bind_interface if bind_interface is not None else ''
17972        '''
17973         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17974        '''
17975        self.database = database if database is not None else ''
17976        '''
17977         The database for healthchecks. Does not affect client requests.
17978        '''
17979        self.egress_filter = egress_filter if egress_filter is not None else ''
17980        '''
17981         A filter applied to the routing logic to pin datasource to nodes.
17982        '''
17983        self.healthy = healthy if healthy is not None else False
17984        '''
17985         True if the datasource is reachable and the credentials are valid.
17986        '''
17987        self.hostname = hostname if hostname is not None else ''
17988        '''
17989         The host to dial to initiate a connection from the egress node to this resource.
17990        '''
17991        self.id = id if id is not None else ''
17992        '''
17993         Unique identifier of the Resource.
17994        '''
17995        self.name = name if name is not None else ''
17996        '''
17997         Unique human-readable name of the Resource.
17998        '''
17999        self.password = password if password is not None else ''
18000        '''
18001         The password to authenticate with.
18002        '''
18003        self.port = port if port is not None else 0
18004        '''
18005         The port to dial to initiate a connection from the egress node to this resource.
18006        '''
18007        self.port_override = port_override if port_override is not None else 0
18008        '''
18009         The local port used by clients to connect to this resource.
18010        '''
18011        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18012        '''
18013         ID of the proxy cluster for this resource, if any.
18014        '''
18015        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18016        '''
18017         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18018        '''
18019        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18020        '''
18021         ID of the secret store containing credentials for this resource, if any.
18022        '''
18023        self.subdomain = subdomain if subdomain is not None else ''
18024        '''
18025         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18026        '''
18027        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18028        '''
18029         Tags is a map of key, value pairs.
18030        '''
18031        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18032        '''
18033         If true, appends the hostname to the username when hitting a database.azure.com address
18034        '''
18035        self.username = username if username is not None else ''
18036        '''
18037         The username to authenticate with.
18038        '''
18039
18040    def __repr__(self):
18041        return '<sdm.Maria ' + \
18042            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18043            'database: ' + repr(self.database) + ' ' +\
18044            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18045            'healthy: ' + repr(self.healthy) + ' ' +\
18046            'hostname: ' + repr(self.hostname) + ' ' +\
18047            'id: ' + repr(self.id) + ' ' +\
18048            'name: ' + repr(self.name) + ' ' +\
18049            'password: ' + repr(self.password) + ' ' +\
18050            'port: ' + repr(self.port) + ' ' +\
18051            'port_override: ' + repr(self.port_override) + ' ' +\
18052            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18053            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18054            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18055            'subdomain: ' + repr(self.subdomain) + ' ' +\
18056            'tags: ' + repr(self.tags) + ' ' +\
18057            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18058            'username: ' + repr(self.username) + ' ' +\
18059            '>'
18060
18061    def to_dict(self):
18062        return {
18063            'bind_interface': self.bind_interface,
18064            'database': self.database,
18065            'egress_filter': self.egress_filter,
18066            'healthy': self.healthy,
18067            'hostname': self.hostname,
18068            'id': self.id,
18069            'name': self.name,
18070            'password': self.password,
18071            'port': self.port,
18072            'port_override': self.port_override,
18073            'proxy_cluster_id': self.proxy_cluster_id,
18074            'require_native_auth': self.require_native_auth,
18075            'secret_store_id': self.secret_store_id,
18076            'subdomain': self.subdomain,
18077            'tags': self.tags,
18078            'use_azure_single_server_usernames':
18079            self.use_azure_single_server_usernames,
18080            'username': self.username,
18081        }
18082
18083    @classmethod
18084    def from_dict(cls, d):
18085        return cls(
18086            bind_interface=d.get('bind_interface'),
18087            database=d.get('database'),
18088            egress_filter=d.get('egress_filter'),
18089            healthy=d.get('healthy'),
18090            hostname=d.get('hostname'),
18091            id=d.get('id'),
18092            name=d.get('name'),
18093            password=d.get('password'),
18094            port=d.get('port'),
18095            port_override=d.get('port_override'),
18096            proxy_cluster_id=d.get('proxy_cluster_id'),
18097            require_native_auth=d.get('require_native_auth'),
18098            secret_store_id=d.get('secret_store_id'),
18099            subdomain=d.get('subdomain'),
18100            tags=d.get('tags'),
18101            use_azure_single_server_usernames=d.get(
18102                'use_azure_single_server_usernames'),
18103            username=d.get('username'),
18104        )
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)
17951    def __init__(
17952        self,
17953        bind_interface=None,
17954        database=None,
17955        egress_filter=None,
17956        healthy=None,
17957        hostname=None,
17958        id=None,
17959        name=None,
17960        password=None,
17961        port=None,
17962        port_override=None,
17963        proxy_cluster_id=None,
17964        require_native_auth=None,
17965        secret_store_id=None,
17966        subdomain=None,
17967        tags=None,
17968        use_azure_single_server_usernames=None,
17969        username=None,
17970    ):
17971        self.bind_interface = bind_interface if bind_interface is not None else ''
17972        '''
17973         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17974        '''
17975        self.database = database if database is not None else ''
17976        '''
17977         The database for healthchecks. Does not affect client requests.
17978        '''
17979        self.egress_filter = egress_filter if egress_filter is not None else ''
17980        '''
17981         A filter applied to the routing logic to pin datasource to nodes.
17982        '''
17983        self.healthy = healthy if healthy is not None else False
17984        '''
17985         True if the datasource is reachable and the credentials are valid.
17986        '''
17987        self.hostname = hostname if hostname is not None else ''
17988        '''
17989         The host to dial to initiate a connection from the egress node to this resource.
17990        '''
17991        self.id = id if id is not None else ''
17992        '''
17993         Unique identifier of the Resource.
17994        '''
17995        self.name = name if name is not None else ''
17996        '''
17997         Unique human-readable name of the Resource.
17998        '''
17999        self.password = password if password is not None else ''
18000        '''
18001         The password to authenticate with.
18002        '''
18003        self.port = port if port is not None else 0
18004        '''
18005         The port to dial to initiate a connection from the egress node to this resource.
18006        '''
18007        self.port_override = port_override if port_override is not None else 0
18008        '''
18009         The local port used by clients to connect to this resource.
18010        '''
18011        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18012        '''
18013         ID of the proxy cluster for this resource, if any.
18014        '''
18015        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18016        '''
18017         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18018        '''
18019        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18020        '''
18021         ID of the secret store containing credentials for this resource, if any.
18022        '''
18023        self.subdomain = subdomain if subdomain is not None else ''
18024        '''
18025         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18026        '''
18027        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18028        '''
18029         Tags is a map of key, value pairs.
18030        '''
18031        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18032        '''
18033         If true, appends the hostname to the username when hitting a database.azure.com address
18034        '''
18035        self.username = username if username is not None else ''
18036        '''
18037         The username to authenticate with.
18038        '''
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.

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.

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

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_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)
18061    def to_dict(self):
18062        return {
18063            'bind_interface': self.bind_interface,
18064            'database': self.database,
18065            'egress_filter': self.egress_filter,
18066            'healthy': self.healthy,
18067            'hostname': self.hostname,
18068            'id': self.id,
18069            'name': self.name,
18070            'password': self.password,
18071            'port': self.port,
18072            'port_override': self.port_override,
18073            'proxy_cluster_id': self.proxy_cluster_id,
18074            'require_native_auth': self.require_native_auth,
18075            'secret_store_id': self.secret_store_id,
18076            'subdomain': self.subdomain,
18077            'tags': self.tags,
18078            'use_azure_single_server_usernames':
18079            self.use_azure_single_server_usernames,
18080            'username': self.username,
18081        }
@classmethod
def from_dict(cls, d)
18083    @classmethod
18084    def from_dict(cls, d):
18085        return cls(
18086            bind_interface=d.get('bind_interface'),
18087            database=d.get('database'),
18088            egress_filter=d.get('egress_filter'),
18089            healthy=d.get('healthy'),
18090            hostname=d.get('hostname'),
18091            id=d.get('id'),
18092            name=d.get('name'),
18093            password=d.get('password'),
18094            port=d.get('port'),
18095            port_override=d.get('port_override'),
18096            proxy_cluster_id=d.get('proxy_cluster_id'),
18097            require_native_auth=d.get('require_native_auth'),
18098            secret_store_id=d.get('secret_store_id'),
18099            subdomain=d.get('subdomain'),
18100            tags=d.get('tags'),
18101            use_azure_single_server_usernames=d.get(
18102                'use_azure_single_server_usernames'),
18103            username=d.get('username'),
18104        )
class Memcached:
18107class Memcached:
18108    __slots__ = [
18109        'bind_interface',
18110        'egress_filter',
18111        'healthy',
18112        'hostname',
18113        'id',
18114        'name',
18115        'port',
18116        'port_override',
18117        'proxy_cluster_id',
18118        'secret_store_id',
18119        'subdomain',
18120        'tags',
18121    ]
18122
18123    def __init__(
18124        self,
18125        bind_interface=None,
18126        egress_filter=None,
18127        healthy=None,
18128        hostname=None,
18129        id=None,
18130        name=None,
18131        port=None,
18132        port_override=None,
18133        proxy_cluster_id=None,
18134        secret_store_id=None,
18135        subdomain=None,
18136        tags=None,
18137    ):
18138        self.bind_interface = bind_interface if bind_interface is not None else ''
18139        '''
18140         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18141        '''
18142        self.egress_filter = egress_filter if egress_filter is not None else ''
18143        '''
18144         A filter applied to the routing logic to pin datasource to nodes.
18145        '''
18146        self.healthy = healthy if healthy is not None else False
18147        '''
18148         True if the datasource is reachable and the credentials are valid.
18149        '''
18150        self.hostname = hostname if hostname is not None else ''
18151        '''
18152         The host to dial to initiate a connection from the egress node to this resource.
18153        '''
18154        self.id = id if id is not None else ''
18155        '''
18156         Unique identifier of the Resource.
18157        '''
18158        self.name = name if name is not None else ''
18159        '''
18160         Unique human-readable name of the Resource.
18161        '''
18162        self.port = port if port is not None else 0
18163        '''
18164         The port to dial to initiate a connection from the egress node to this resource.
18165        '''
18166        self.port_override = port_override if port_override is not None else 0
18167        '''
18168         The local port used by clients to connect to this resource.
18169        '''
18170        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18171        '''
18172         ID of the proxy cluster for this resource, if any.
18173        '''
18174        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18175        '''
18176         ID of the secret store containing credentials for this resource, if any.
18177        '''
18178        self.subdomain = subdomain if subdomain is not None else ''
18179        '''
18180         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18181        '''
18182        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18183        '''
18184         Tags is a map of key, value pairs.
18185        '''
18186
18187    def __repr__(self):
18188        return '<sdm.Memcached ' + \
18189            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18190            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18191            'healthy: ' + repr(self.healthy) + ' ' +\
18192            'hostname: ' + repr(self.hostname) + ' ' +\
18193            'id: ' + repr(self.id) + ' ' +\
18194            'name: ' + repr(self.name) + ' ' +\
18195            'port: ' + repr(self.port) + ' ' +\
18196            'port_override: ' + repr(self.port_override) + ' ' +\
18197            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18198            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18199            'subdomain: ' + repr(self.subdomain) + ' ' +\
18200            'tags: ' + repr(self.tags) + ' ' +\
18201            '>'
18202
18203    def to_dict(self):
18204        return {
18205            'bind_interface': self.bind_interface,
18206            'egress_filter': self.egress_filter,
18207            'healthy': self.healthy,
18208            'hostname': self.hostname,
18209            'id': self.id,
18210            'name': self.name,
18211            'port': self.port,
18212            'port_override': self.port_override,
18213            'proxy_cluster_id': self.proxy_cluster_id,
18214            'secret_store_id': self.secret_store_id,
18215            'subdomain': self.subdomain,
18216            'tags': self.tags,
18217        }
18218
18219    @classmethod
18220    def from_dict(cls, d):
18221        return cls(
18222            bind_interface=d.get('bind_interface'),
18223            egress_filter=d.get('egress_filter'),
18224            healthy=d.get('healthy'),
18225            hostname=d.get('hostname'),
18226            id=d.get('id'),
18227            name=d.get('name'),
18228            port=d.get('port'),
18229            port_override=d.get('port_override'),
18230            proxy_cluster_id=d.get('proxy_cluster_id'),
18231            secret_store_id=d.get('secret_store_id'),
18232            subdomain=d.get('subdomain'),
18233            tags=d.get('tags'),
18234        )
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)
18123    def __init__(
18124        self,
18125        bind_interface=None,
18126        egress_filter=None,
18127        healthy=None,
18128        hostname=None,
18129        id=None,
18130        name=None,
18131        port=None,
18132        port_override=None,
18133        proxy_cluster_id=None,
18134        secret_store_id=None,
18135        subdomain=None,
18136        tags=None,
18137    ):
18138        self.bind_interface = bind_interface if bind_interface is not None else ''
18139        '''
18140         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18141        '''
18142        self.egress_filter = egress_filter if egress_filter is not None else ''
18143        '''
18144         A filter applied to the routing logic to pin datasource to nodes.
18145        '''
18146        self.healthy = healthy if healthy is not None else False
18147        '''
18148         True if the datasource is reachable and the credentials are valid.
18149        '''
18150        self.hostname = hostname if hostname is not None else ''
18151        '''
18152         The host to dial to initiate a connection from the egress node to this resource.
18153        '''
18154        self.id = id if id is not None else ''
18155        '''
18156         Unique identifier of the Resource.
18157        '''
18158        self.name = name if name is not None else ''
18159        '''
18160         Unique human-readable name of the Resource.
18161        '''
18162        self.port = port if port is not None else 0
18163        '''
18164         The port to dial to initiate a connection from the egress node to this resource.
18165        '''
18166        self.port_override = port_override if port_override is not None else 0
18167        '''
18168         The local port used by clients to connect to this resource.
18169        '''
18170        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18171        '''
18172         ID of the proxy cluster for this resource, if any.
18173        '''
18174        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18175        '''
18176         ID of the secret store containing credentials for this resource, if any.
18177        '''
18178        self.subdomain = subdomain if subdomain is not None else ''
18179        '''
18180         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18181        '''
18182        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18183        '''
18184         Tags is a map of key, value pairs.
18185        '''
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.

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.

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.

def to_dict(self)
18203    def to_dict(self):
18204        return {
18205            'bind_interface': self.bind_interface,
18206            'egress_filter': self.egress_filter,
18207            'healthy': self.healthy,
18208            'hostname': self.hostname,
18209            'id': self.id,
18210            'name': self.name,
18211            'port': self.port,
18212            'port_override': self.port_override,
18213            'proxy_cluster_id': self.proxy_cluster_id,
18214            'secret_store_id': self.secret_store_id,
18215            'subdomain': self.subdomain,
18216            'tags': self.tags,
18217        }
@classmethod
def from_dict(cls, d)
18219    @classmethod
18220    def from_dict(cls, d):
18221        return cls(
18222            bind_interface=d.get('bind_interface'),
18223            egress_filter=d.get('egress_filter'),
18224            healthy=d.get('healthy'),
18225            hostname=d.get('hostname'),
18226            id=d.get('id'),
18227            name=d.get('name'),
18228            port=d.get('port'),
18229            port_override=d.get('port_override'),
18230            proxy_cluster_id=d.get('proxy_cluster_id'),
18231            secret_store_id=d.get('secret_store_id'),
18232            subdomain=d.get('subdomain'),
18233            tags=d.get('tags'),
18234        )
class Memsql:
18237class Memsql:
18238    __slots__ = [
18239        'bind_interface',
18240        'database',
18241        'egress_filter',
18242        'healthy',
18243        'hostname',
18244        'id',
18245        'name',
18246        'password',
18247        'port',
18248        'port_override',
18249        'proxy_cluster_id',
18250        'require_native_auth',
18251        'secret_store_id',
18252        'subdomain',
18253        'tags',
18254        'use_azure_single_server_usernames',
18255        'username',
18256    ]
18257
18258    def __init__(
18259        self,
18260        bind_interface=None,
18261        database=None,
18262        egress_filter=None,
18263        healthy=None,
18264        hostname=None,
18265        id=None,
18266        name=None,
18267        password=None,
18268        port=None,
18269        port_override=None,
18270        proxy_cluster_id=None,
18271        require_native_auth=None,
18272        secret_store_id=None,
18273        subdomain=None,
18274        tags=None,
18275        use_azure_single_server_usernames=None,
18276        username=None,
18277    ):
18278        self.bind_interface = bind_interface if bind_interface is not None else ''
18279        '''
18280         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18281        '''
18282        self.database = database if database is not None else ''
18283        '''
18284         The database for healthchecks. Does not affect client requests.
18285        '''
18286        self.egress_filter = egress_filter if egress_filter is not None else ''
18287        '''
18288         A filter applied to the routing logic to pin datasource to nodes.
18289        '''
18290        self.healthy = healthy if healthy is not None else False
18291        '''
18292         True if the datasource is reachable and the credentials are valid.
18293        '''
18294        self.hostname = hostname if hostname is not None else ''
18295        '''
18296         The host to dial to initiate a connection from the egress node to this resource.
18297        '''
18298        self.id = id if id is not None else ''
18299        '''
18300         Unique identifier of the Resource.
18301        '''
18302        self.name = name if name is not None else ''
18303        '''
18304         Unique human-readable name of the Resource.
18305        '''
18306        self.password = password if password is not None else ''
18307        '''
18308         The password to authenticate with.
18309        '''
18310        self.port = port if port is not None else 0
18311        '''
18312         The port to dial to initiate a connection from the egress node to this resource.
18313        '''
18314        self.port_override = port_override if port_override is not None else 0
18315        '''
18316         The local port used by clients to connect to this resource.
18317        '''
18318        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18319        '''
18320         ID of the proxy cluster for this resource, if any.
18321        '''
18322        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18323        '''
18324         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18325        '''
18326        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18327        '''
18328         ID of the secret store containing credentials for this resource, if any.
18329        '''
18330        self.subdomain = subdomain if subdomain is not None else ''
18331        '''
18332         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18333        '''
18334        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18335        '''
18336         Tags is a map of key, value pairs.
18337        '''
18338        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18339        '''
18340         If true, appends the hostname to the username when hitting a database.azure.com address
18341        '''
18342        self.username = username if username is not None else ''
18343        '''
18344         The username to authenticate with.
18345        '''
18346
18347    def __repr__(self):
18348        return '<sdm.Memsql ' + \
18349            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18350            'database: ' + repr(self.database) + ' ' +\
18351            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18352            'healthy: ' + repr(self.healthy) + ' ' +\
18353            'hostname: ' + repr(self.hostname) + ' ' +\
18354            'id: ' + repr(self.id) + ' ' +\
18355            'name: ' + repr(self.name) + ' ' +\
18356            'password: ' + repr(self.password) + ' ' +\
18357            'port: ' + repr(self.port) + ' ' +\
18358            'port_override: ' + repr(self.port_override) + ' ' +\
18359            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18360            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18361            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18362            'subdomain: ' + repr(self.subdomain) + ' ' +\
18363            'tags: ' + repr(self.tags) + ' ' +\
18364            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18365            'username: ' + repr(self.username) + ' ' +\
18366            '>'
18367
18368    def to_dict(self):
18369        return {
18370            'bind_interface': self.bind_interface,
18371            'database': self.database,
18372            'egress_filter': self.egress_filter,
18373            'healthy': self.healthy,
18374            'hostname': self.hostname,
18375            'id': self.id,
18376            'name': self.name,
18377            'password': self.password,
18378            'port': self.port,
18379            'port_override': self.port_override,
18380            'proxy_cluster_id': self.proxy_cluster_id,
18381            'require_native_auth': self.require_native_auth,
18382            'secret_store_id': self.secret_store_id,
18383            'subdomain': self.subdomain,
18384            'tags': self.tags,
18385            'use_azure_single_server_usernames':
18386            self.use_azure_single_server_usernames,
18387            'username': self.username,
18388        }
18389
18390    @classmethod
18391    def from_dict(cls, d):
18392        return cls(
18393            bind_interface=d.get('bind_interface'),
18394            database=d.get('database'),
18395            egress_filter=d.get('egress_filter'),
18396            healthy=d.get('healthy'),
18397            hostname=d.get('hostname'),
18398            id=d.get('id'),
18399            name=d.get('name'),
18400            password=d.get('password'),
18401            port=d.get('port'),
18402            port_override=d.get('port_override'),
18403            proxy_cluster_id=d.get('proxy_cluster_id'),
18404            require_native_auth=d.get('require_native_auth'),
18405            secret_store_id=d.get('secret_store_id'),
18406            subdomain=d.get('subdomain'),
18407            tags=d.get('tags'),
18408            use_azure_single_server_usernames=d.get(
18409                'use_azure_single_server_usernames'),
18410            username=d.get('username'),
18411        )
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)
18258    def __init__(
18259        self,
18260        bind_interface=None,
18261        database=None,
18262        egress_filter=None,
18263        healthy=None,
18264        hostname=None,
18265        id=None,
18266        name=None,
18267        password=None,
18268        port=None,
18269        port_override=None,
18270        proxy_cluster_id=None,
18271        require_native_auth=None,
18272        secret_store_id=None,
18273        subdomain=None,
18274        tags=None,
18275        use_azure_single_server_usernames=None,
18276        username=None,
18277    ):
18278        self.bind_interface = bind_interface if bind_interface is not None else ''
18279        '''
18280         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18281        '''
18282        self.database = database if database is not None else ''
18283        '''
18284         The database for healthchecks. Does not affect client requests.
18285        '''
18286        self.egress_filter = egress_filter if egress_filter is not None else ''
18287        '''
18288         A filter applied to the routing logic to pin datasource to nodes.
18289        '''
18290        self.healthy = healthy if healthy is not None else False
18291        '''
18292         True if the datasource is reachable and the credentials are valid.
18293        '''
18294        self.hostname = hostname if hostname is not None else ''
18295        '''
18296         The host to dial to initiate a connection from the egress node to this resource.
18297        '''
18298        self.id = id if id is not None else ''
18299        '''
18300         Unique identifier of the Resource.
18301        '''
18302        self.name = name if name is not None else ''
18303        '''
18304         Unique human-readable name of the Resource.
18305        '''
18306        self.password = password if password is not None else ''
18307        '''
18308         The password to authenticate with.
18309        '''
18310        self.port = port if port is not None else 0
18311        '''
18312         The port to dial to initiate a connection from the egress node to this resource.
18313        '''
18314        self.port_override = port_override if port_override is not None else 0
18315        '''
18316         The local port used by clients to connect to this resource.
18317        '''
18318        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18319        '''
18320         ID of the proxy cluster for this resource, if any.
18321        '''
18322        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18323        '''
18324         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18325        '''
18326        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18327        '''
18328         ID of the secret store containing credentials for this resource, if any.
18329        '''
18330        self.subdomain = subdomain if subdomain is not None else ''
18331        '''
18332         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18333        '''
18334        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18335        '''
18336         Tags is a map of key, value pairs.
18337        '''
18338        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18339        '''
18340         If true, appends the hostname to the username when hitting a database.azure.com address
18341        '''
18342        self.username = username if username is not None else ''
18343        '''
18344         The username to authenticate with.
18345        '''
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.

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.

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

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_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)
18368    def to_dict(self):
18369        return {
18370            'bind_interface': self.bind_interface,
18371            'database': self.database,
18372            'egress_filter': self.egress_filter,
18373            'healthy': self.healthy,
18374            'hostname': self.hostname,
18375            'id': self.id,
18376            'name': self.name,
18377            'password': self.password,
18378            'port': self.port,
18379            'port_override': self.port_override,
18380            'proxy_cluster_id': self.proxy_cluster_id,
18381            'require_native_auth': self.require_native_auth,
18382            'secret_store_id': self.secret_store_id,
18383            'subdomain': self.subdomain,
18384            'tags': self.tags,
18385            'use_azure_single_server_usernames':
18386            self.use_azure_single_server_usernames,
18387            'username': self.username,
18388        }
@classmethod
def from_dict(cls, d)
18390    @classmethod
18391    def from_dict(cls, d):
18392        return cls(
18393            bind_interface=d.get('bind_interface'),
18394            database=d.get('database'),
18395            egress_filter=d.get('egress_filter'),
18396            healthy=d.get('healthy'),
18397            hostname=d.get('hostname'),
18398            id=d.get('id'),
18399            name=d.get('name'),
18400            password=d.get('password'),
18401            port=d.get('port'),
18402            port_override=d.get('port_override'),
18403            proxy_cluster_id=d.get('proxy_cluster_id'),
18404            require_native_auth=d.get('require_native_auth'),
18405            secret_store_id=d.get('secret_store_id'),
18406            subdomain=d.get('subdomain'),
18407            tags=d.get('tags'),
18408            use_azure_single_server_usernames=d.get(
18409                'use_azure_single_server_usernames'),
18410            username=d.get('username'),
18411        )
class MongoHost:
18414class MongoHost:
18415    __slots__ = [
18416        'auth_database',
18417        'bind_interface',
18418        'egress_filter',
18419        'healthy',
18420        'hostname',
18421        'id',
18422        'name',
18423        'password',
18424        'port',
18425        'port_override',
18426        'proxy_cluster_id',
18427        'secret_store_id',
18428        'subdomain',
18429        'tags',
18430        'tls_required',
18431        'username',
18432    ]
18433
18434    def __init__(
18435        self,
18436        auth_database=None,
18437        bind_interface=None,
18438        egress_filter=None,
18439        healthy=None,
18440        hostname=None,
18441        id=None,
18442        name=None,
18443        password=None,
18444        port=None,
18445        port_override=None,
18446        proxy_cluster_id=None,
18447        secret_store_id=None,
18448        subdomain=None,
18449        tags=None,
18450        tls_required=None,
18451        username=None,
18452    ):
18453        self.auth_database = auth_database if auth_database is not None else ''
18454        '''
18455         The authentication database to use.
18456        '''
18457        self.bind_interface = bind_interface if bind_interface is not None else ''
18458        '''
18459         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18460        '''
18461        self.egress_filter = egress_filter if egress_filter is not None else ''
18462        '''
18463         A filter applied to the routing logic to pin datasource to nodes.
18464        '''
18465        self.healthy = healthy if healthy is not None else False
18466        '''
18467         True if the datasource is reachable and the credentials are valid.
18468        '''
18469        self.hostname = hostname if hostname is not None else ''
18470        '''
18471         The host to dial to initiate a connection from the egress node to this resource.
18472        '''
18473        self.id = id if id is not None else ''
18474        '''
18475         Unique identifier of the Resource.
18476        '''
18477        self.name = name if name is not None else ''
18478        '''
18479         Unique human-readable name of the Resource.
18480        '''
18481        self.password = password if password is not None else ''
18482        '''
18483         The password to authenticate with.
18484        '''
18485        self.port = port if port is not None else 0
18486        '''
18487         The port to dial to initiate a connection from the egress node to this resource.
18488        '''
18489        self.port_override = port_override if port_override is not None else 0
18490        '''
18491         The local port used by clients to connect to this resource.
18492        '''
18493        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18494        '''
18495         ID of the proxy cluster for this resource, if any.
18496        '''
18497        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18498        '''
18499         ID of the secret store containing credentials for this resource, if any.
18500        '''
18501        self.subdomain = subdomain if subdomain is not None else ''
18502        '''
18503         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18504        '''
18505        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18506        '''
18507         Tags is a map of key, value pairs.
18508        '''
18509        self.tls_required = tls_required if tls_required is not None else False
18510        '''
18511         If set, TLS must be used to connect to this resource.
18512        '''
18513        self.username = username if username is not None else ''
18514        '''
18515         The username to authenticate with.
18516        '''
18517
18518    def __repr__(self):
18519        return '<sdm.MongoHost ' + \
18520            'auth_database: ' + repr(self.auth_database) + ' ' +\
18521            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18522            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18523            'healthy: ' + repr(self.healthy) + ' ' +\
18524            'hostname: ' + repr(self.hostname) + ' ' +\
18525            'id: ' + repr(self.id) + ' ' +\
18526            'name: ' + repr(self.name) + ' ' +\
18527            'password: ' + repr(self.password) + ' ' +\
18528            'port: ' + repr(self.port) + ' ' +\
18529            'port_override: ' + repr(self.port_override) + ' ' +\
18530            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18531            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18532            'subdomain: ' + repr(self.subdomain) + ' ' +\
18533            'tags: ' + repr(self.tags) + ' ' +\
18534            'tls_required: ' + repr(self.tls_required) + ' ' +\
18535            'username: ' + repr(self.username) + ' ' +\
18536            '>'
18537
18538    def to_dict(self):
18539        return {
18540            'auth_database': self.auth_database,
18541            'bind_interface': self.bind_interface,
18542            'egress_filter': self.egress_filter,
18543            'healthy': self.healthy,
18544            'hostname': self.hostname,
18545            'id': self.id,
18546            'name': self.name,
18547            'password': self.password,
18548            'port': self.port,
18549            'port_override': self.port_override,
18550            'proxy_cluster_id': self.proxy_cluster_id,
18551            'secret_store_id': self.secret_store_id,
18552            'subdomain': self.subdomain,
18553            'tags': self.tags,
18554            'tls_required': self.tls_required,
18555            'username': self.username,
18556        }
18557
18558    @classmethod
18559    def from_dict(cls, d):
18560        return cls(
18561            auth_database=d.get('auth_database'),
18562            bind_interface=d.get('bind_interface'),
18563            egress_filter=d.get('egress_filter'),
18564            healthy=d.get('healthy'),
18565            hostname=d.get('hostname'),
18566            id=d.get('id'),
18567            name=d.get('name'),
18568            password=d.get('password'),
18569            port=d.get('port'),
18570            port_override=d.get('port_override'),
18571            proxy_cluster_id=d.get('proxy_cluster_id'),
18572            secret_store_id=d.get('secret_store_id'),
18573            subdomain=d.get('subdomain'),
18574            tags=d.get('tags'),
18575            tls_required=d.get('tls_required'),
18576            username=d.get('username'),
18577        )
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)
18434    def __init__(
18435        self,
18436        auth_database=None,
18437        bind_interface=None,
18438        egress_filter=None,
18439        healthy=None,
18440        hostname=None,
18441        id=None,
18442        name=None,
18443        password=None,
18444        port=None,
18445        port_override=None,
18446        proxy_cluster_id=None,
18447        secret_store_id=None,
18448        subdomain=None,
18449        tags=None,
18450        tls_required=None,
18451        username=None,
18452    ):
18453        self.auth_database = auth_database if auth_database is not None else ''
18454        '''
18455         The authentication database to use.
18456        '''
18457        self.bind_interface = bind_interface if bind_interface is not None else ''
18458        '''
18459         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18460        '''
18461        self.egress_filter = egress_filter if egress_filter is not None else ''
18462        '''
18463         A filter applied to the routing logic to pin datasource to nodes.
18464        '''
18465        self.healthy = healthy if healthy is not None else False
18466        '''
18467         True if the datasource is reachable and the credentials are valid.
18468        '''
18469        self.hostname = hostname if hostname is not None else ''
18470        '''
18471         The host to dial to initiate a connection from the egress node to this resource.
18472        '''
18473        self.id = id if id is not None else ''
18474        '''
18475         Unique identifier of the Resource.
18476        '''
18477        self.name = name if name is not None else ''
18478        '''
18479         Unique human-readable name of the Resource.
18480        '''
18481        self.password = password if password is not None else ''
18482        '''
18483         The password to authenticate with.
18484        '''
18485        self.port = port if port is not None else 0
18486        '''
18487         The port to dial to initiate a connection from the egress node to this resource.
18488        '''
18489        self.port_override = port_override if port_override is not None else 0
18490        '''
18491         The local port used by clients to connect to this resource.
18492        '''
18493        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18494        '''
18495         ID of the proxy cluster for this resource, if any.
18496        '''
18497        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18498        '''
18499         ID of the secret store containing credentials for this resource, if any.
18500        '''
18501        self.subdomain = subdomain if subdomain is not None else ''
18502        '''
18503         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18504        '''
18505        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18506        '''
18507         Tags is a map of key, value pairs.
18508        '''
18509        self.tls_required = tls_required if tls_required is not None else False
18510        '''
18511         If set, TLS must be used to connect to this resource.
18512        '''
18513        self.username = username if username is not None else ''
18514        '''
18515         The username to authenticate with.
18516        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
18538    def to_dict(self):
18539        return {
18540            'auth_database': self.auth_database,
18541            'bind_interface': self.bind_interface,
18542            'egress_filter': self.egress_filter,
18543            'healthy': self.healthy,
18544            'hostname': self.hostname,
18545            'id': self.id,
18546            'name': self.name,
18547            'password': self.password,
18548            'port': self.port,
18549            'port_override': self.port_override,
18550            'proxy_cluster_id': self.proxy_cluster_id,
18551            'secret_store_id': self.secret_store_id,
18552            'subdomain': self.subdomain,
18553            'tags': self.tags,
18554            'tls_required': self.tls_required,
18555            'username': self.username,
18556        }
@classmethod
def from_dict(cls, d)
18558    @classmethod
18559    def from_dict(cls, d):
18560        return cls(
18561            auth_database=d.get('auth_database'),
18562            bind_interface=d.get('bind_interface'),
18563            egress_filter=d.get('egress_filter'),
18564            healthy=d.get('healthy'),
18565            hostname=d.get('hostname'),
18566            id=d.get('id'),
18567            name=d.get('name'),
18568            password=d.get('password'),
18569            port=d.get('port'),
18570            port_override=d.get('port_override'),
18571            proxy_cluster_id=d.get('proxy_cluster_id'),
18572            secret_store_id=d.get('secret_store_id'),
18573            subdomain=d.get('subdomain'),
18574            tags=d.get('tags'),
18575            tls_required=d.get('tls_required'),
18576            username=d.get('username'),
18577        )
class MongoLegacyHost:
18580class MongoLegacyHost:
18581    '''
18582    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
18583    without a major version bump.
18584    '''
18585    __slots__ = [
18586        'auth_database',
18587        'bind_interface',
18588        'egress_filter',
18589        'healthy',
18590        'hostname',
18591        'id',
18592        'name',
18593        'password',
18594        'port',
18595        'port_override',
18596        'proxy_cluster_id',
18597        'secret_store_id',
18598        'subdomain',
18599        'tags',
18600        'tls_required',
18601        'username',
18602    ]
18603
18604    def __init__(
18605        self,
18606        auth_database=None,
18607        bind_interface=None,
18608        egress_filter=None,
18609        healthy=None,
18610        hostname=None,
18611        id=None,
18612        name=None,
18613        password=None,
18614        port=None,
18615        port_override=None,
18616        proxy_cluster_id=None,
18617        secret_store_id=None,
18618        subdomain=None,
18619        tags=None,
18620        tls_required=None,
18621        username=None,
18622    ):
18623        self.auth_database = auth_database if auth_database is not None else ''
18624        '''
18625         The authentication database to use.
18626        '''
18627        self.bind_interface = bind_interface if bind_interface is not None else ''
18628        '''
18629         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18630        '''
18631        self.egress_filter = egress_filter if egress_filter is not None else ''
18632        '''
18633         A filter applied to the routing logic to pin datasource to nodes.
18634        '''
18635        self.healthy = healthy if healthy is not None else False
18636        '''
18637         True if the datasource is reachable and the credentials are valid.
18638        '''
18639        self.hostname = hostname if hostname is not None else ''
18640        '''
18641         The host to dial to initiate a connection from the egress node to this resource.
18642        '''
18643        self.id = id if id is not None else ''
18644        '''
18645         Unique identifier of the Resource.
18646        '''
18647        self.name = name if name is not None else ''
18648        '''
18649         Unique human-readable name of the Resource.
18650        '''
18651        self.password = password if password is not None else ''
18652        '''
18653         The password to authenticate with.
18654        '''
18655        self.port = port if port is not None else 0
18656        '''
18657         The port to dial to initiate a connection from the egress node to this resource.
18658        '''
18659        self.port_override = port_override if port_override is not None else 0
18660        '''
18661         The local port used by clients to connect to this resource.
18662        '''
18663        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18664        '''
18665         ID of the proxy cluster for this resource, if any.
18666        '''
18667        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18668        '''
18669         ID of the secret store containing credentials for this resource, if any.
18670        '''
18671        self.subdomain = subdomain if subdomain is not None else ''
18672        '''
18673         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18674        '''
18675        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18676        '''
18677         Tags is a map of key, value pairs.
18678        '''
18679        self.tls_required = tls_required if tls_required is not None else False
18680        '''
18681         If set, TLS must be used to connect to this resource.
18682        '''
18683        self.username = username if username is not None else ''
18684        '''
18685         The username to authenticate with.
18686        '''
18687
18688    def __repr__(self):
18689        return '<sdm.MongoLegacyHost ' + \
18690            'auth_database: ' + repr(self.auth_database) + ' ' +\
18691            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18692            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18693            'healthy: ' + repr(self.healthy) + ' ' +\
18694            'hostname: ' + repr(self.hostname) + ' ' +\
18695            'id: ' + repr(self.id) + ' ' +\
18696            'name: ' + repr(self.name) + ' ' +\
18697            'password: ' + repr(self.password) + ' ' +\
18698            'port: ' + repr(self.port) + ' ' +\
18699            'port_override: ' + repr(self.port_override) + ' ' +\
18700            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18701            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18702            'subdomain: ' + repr(self.subdomain) + ' ' +\
18703            'tags: ' + repr(self.tags) + ' ' +\
18704            'tls_required: ' + repr(self.tls_required) + ' ' +\
18705            'username: ' + repr(self.username) + ' ' +\
18706            '>'
18707
18708    def to_dict(self):
18709        return {
18710            'auth_database': self.auth_database,
18711            'bind_interface': self.bind_interface,
18712            'egress_filter': self.egress_filter,
18713            'healthy': self.healthy,
18714            'hostname': self.hostname,
18715            'id': self.id,
18716            'name': self.name,
18717            'password': self.password,
18718            'port': self.port,
18719            'port_override': self.port_override,
18720            'proxy_cluster_id': self.proxy_cluster_id,
18721            'secret_store_id': self.secret_store_id,
18722            'subdomain': self.subdomain,
18723            'tags': self.tags,
18724            'tls_required': self.tls_required,
18725            'username': self.username,
18726        }
18727
18728    @classmethod
18729    def from_dict(cls, d):
18730        return cls(
18731            auth_database=d.get('auth_database'),
18732            bind_interface=d.get('bind_interface'),
18733            egress_filter=d.get('egress_filter'),
18734            healthy=d.get('healthy'),
18735            hostname=d.get('hostname'),
18736            id=d.get('id'),
18737            name=d.get('name'),
18738            password=d.get('password'),
18739            port=d.get('port'),
18740            port_override=d.get('port_override'),
18741            proxy_cluster_id=d.get('proxy_cluster_id'),
18742            secret_store_id=d.get('secret_store_id'),
18743            subdomain=d.get('subdomain'),
18744            tags=d.get('tags'),
18745            tls_required=d.get('tls_required'),
18746            username=d.get('username'),
18747        )

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)
18604    def __init__(
18605        self,
18606        auth_database=None,
18607        bind_interface=None,
18608        egress_filter=None,
18609        healthy=None,
18610        hostname=None,
18611        id=None,
18612        name=None,
18613        password=None,
18614        port=None,
18615        port_override=None,
18616        proxy_cluster_id=None,
18617        secret_store_id=None,
18618        subdomain=None,
18619        tags=None,
18620        tls_required=None,
18621        username=None,
18622    ):
18623        self.auth_database = auth_database if auth_database is not None else ''
18624        '''
18625         The authentication database to use.
18626        '''
18627        self.bind_interface = bind_interface if bind_interface is not None else ''
18628        '''
18629         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18630        '''
18631        self.egress_filter = egress_filter if egress_filter is not None else ''
18632        '''
18633         A filter applied to the routing logic to pin datasource to nodes.
18634        '''
18635        self.healthy = healthy if healthy is not None else False
18636        '''
18637         True if the datasource is reachable and the credentials are valid.
18638        '''
18639        self.hostname = hostname if hostname is not None else ''
18640        '''
18641         The host to dial to initiate a connection from the egress node to this resource.
18642        '''
18643        self.id = id if id is not None else ''
18644        '''
18645         Unique identifier of the Resource.
18646        '''
18647        self.name = name if name is not None else ''
18648        '''
18649         Unique human-readable name of the Resource.
18650        '''
18651        self.password = password if password is not None else ''
18652        '''
18653         The password to authenticate with.
18654        '''
18655        self.port = port if port is not None else 0
18656        '''
18657         The port to dial to initiate a connection from the egress node to this resource.
18658        '''
18659        self.port_override = port_override if port_override is not None else 0
18660        '''
18661         The local port used by clients to connect to this resource.
18662        '''
18663        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18664        '''
18665         ID of the proxy cluster for this resource, if any.
18666        '''
18667        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18668        '''
18669         ID of the secret store containing credentials for this resource, if any.
18670        '''
18671        self.subdomain = subdomain if subdomain is not None else ''
18672        '''
18673         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18674        '''
18675        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18676        '''
18677         Tags is a map of key, value pairs.
18678        '''
18679        self.tls_required = tls_required if tls_required is not None else False
18680        '''
18681         If set, TLS must be used to connect to this resource.
18682        '''
18683        self.username = username if username is not None else ''
18684        '''
18685         The username to authenticate with.
18686        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
18708    def to_dict(self):
18709        return {
18710            'auth_database': self.auth_database,
18711            'bind_interface': self.bind_interface,
18712            'egress_filter': self.egress_filter,
18713            'healthy': self.healthy,
18714            'hostname': self.hostname,
18715            'id': self.id,
18716            'name': self.name,
18717            'password': self.password,
18718            'port': self.port,
18719            'port_override': self.port_override,
18720            'proxy_cluster_id': self.proxy_cluster_id,
18721            'secret_store_id': self.secret_store_id,
18722            'subdomain': self.subdomain,
18723            'tags': self.tags,
18724            'tls_required': self.tls_required,
18725            'username': self.username,
18726        }
@classmethod
def from_dict(cls, d)
18728    @classmethod
18729    def from_dict(cls, d):
18730        return cls(
18731            auth_database=d.get('auth_database'),
18732            bind_interface=d.get('bind_interface'),
18733            egress_filter=d.get('egress_filter'),
18734            healthy=d.get('healthy'),
18735            hostname=d.get('hostname'),
18736            id=d.get('id'),
18737            name=d.get('name'),
18738            password=d.get('password'),
18739            port=d.get('port'),
18740            port_override=d.get('port_override'),
18741            proxy_cluster_id=d.get('proxy_cluster_id'),
18742            secret_store_id=d.get('secret_store_id'),
18743            subdomain=d.get('subdomain'),
18744            tags=d.get('tags'),
18745            tls_required=d.get('tls_required'),
18746            username=d.get('username'),
18747        )
class MongoLegacyReplicaset:
18750class MongoLegacyReplicaset:
18751    '''
18752    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
18753    without a major version bump.
18754    '''
18755    __slots__ = [
18756        'auth_database',
18757        'bind_interface',
18758        'connect_to_replica',
18759        'egress_filter',
18760        'healthy',
18761        'hostname',
18762        'id',
18763        'name',
18764        'password',
18765        'port',
18766        'port_override',
18767        'proxy_cluster_id',
18768        'replica_set',
18769        'secret_store_id',
18770        'subdomain',
18771        'tags',
18772        'tls_required',
18773        'username',
18774    ]
18775
18776    def __init__(
18777        self,
18778        auth_database=None,
18779        bind_interface=None,
18780        connect_to_replica=None,
18781        egress_filter=None,
18782        healthy=None,
18783        hostname=None,
18784        id=None,
18785        name=None,
18786        password=None,
18787        port=None,
18788        port_override=None,
18789        proxy_cluster_id=None,
18790        replica_set=None,
18791        secret_store_id=None,
18792        subdomain=None,
18793        tags=None,
18794        tls_required=None,
18795        username=None,
18796    ):
18797        self.auth_database = auth_database if auth_database is not None else ''
18798        '''
18799         The authentication database to use.
18800        '''
18801        self.bind_interface = bind_interface if bind_interface is not None else ''
18802        '''
18803         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18804        '''
18805        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18806        '''
18807         Set to connect to a replica instead of the primary node.
18808        '''
18809        self.egress_filter = egress_filter if egress_filter is not None else ''
18810        '''
18811         A filter applied to the routing logic to pin datasource to nodes.
18812        '''
18813        self.healthy = healthy if healthy is not None else False
18814        '''
18815         True if the datasource is reachable and the credentials are valid.
18816        '''
18817        self.hostname = hostname if hostname is not None else ''
18818        '''
18819         The host to dial to initiate a connection from the egress node to this resource.
18820        '''
18821        self.id = id if id is not None else ''
18822        '''
18823         Unique identifier of the Resource.
18824        '''
18825        self.name = name if name is not None else ''
18826        '''
18827         Unique human-readable name of the Resource.
18828        '''
18829        self.password = password if password is not None else ''
18830        '''
18831         The password to authenticate with.
18832        '''
18833        self.port = port if port is not None else 0
18834        '''
18835         The port to dial to initiate a connection from the egress node to this resource.
18836        '''
18837        self.port_override = port_override if port_override is not None else 0
18838        '''
18839         The local port used by clients to connect to this resource.
18840        '''
18841        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18842        '''
18843         ID of the proxy cluster for this resource, if any.
18844        '''
18845        self.replica_set = replica_set if replica_set is not None else ''
18846        '''
18847         The name of the mongo replicaset.
18848        '''
18849        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18850        '''
18851         ID of the secret store containing credentials for this resource, if any.
18852        '''
18853        self.subdomain = subdomain if subdomain is not None else ''
18854        '''
18855         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18856        '''
18857        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18858        '''
18859         Tags is a map of key, value pairs.
18860        '''
18861        self.tls_required = tls_required if tls_required is not None else False
18862        '''
18863         If set, TLS must be used to connect to this resource.
18864        '''
18865        self.username = username if username is not None else ''
18866        '''
18867         The username to authenticate with.
18868        '''
18869
18870    def __repr__(self):
18871        return '<sdm.MongoLegacyReplicaset ' + \
18872            'auth_database: ' + repr(self.auth_database) + ' ' +\
18873            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18874            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18875            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18876            'healthy: ' + repr(self.healthy) + ' ' +\
18877            'hostname: ' + repr(self.hostname) + ' ' +\
18878            'id: ' + repr(self.id) + ' ' +\
18879            'name: ' + repr(self.name) + ' ' +\
18880            'password: ' + repr(self.password) + ' ' +\
18881            'port: ' + repr(self.port) + ' ' +\
18882            'port_override: ' + repr(self.port_override) + ' ' +\
18883            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18884            'replica_set: ' + repr(self.replica_set) + ' ' +\
18885            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18886            'subdomain: ' + repr(self.subdomain) + ' ' +\
18887            'tags: ' + repr(self.tags) + ' ' +\
18888            'tls_required: ' + repr(self.tls_required) + ' ' +\
18889            'username: ' + repr(self.username) + ' ' +\
18890            '>'
18891
18892    def to_dict(self):
18893        return {
18894            'auth_database': self.auth_database,
18895            'bind_interface': self.bind_interface,
18896            'connect_to_replica': self.connect_to_replica,
18897            'egress_filter': self.egress_filter,
18898            'healthy': self.healthy,
18899            'hostname': self.hostname,
18900            'id': self.id,
18901            'name': self.name,
18902            'password': self.password,
18903            'port': self.port,
18904            'port_override': self.port_override,
18905            'proxy_cluster_id': self.proxy_cluster_id,
18906            'replica_set': self.replica_set,
18907            'secret_store_id': self.secret_store_id,
18908            'subdomain': self.subdomain,
18909            'tags': self.tags,
18910            'tls_required': self.tls_required,
18911            'username': self.username,
18912        }
18913
18914    @classmethod
18915    def from_dict(cls, d):
18916        return cls(
18917            auth_database=d.get('auth_database'),
18918            bind_interface=d.get('bind_interface'),
18919            connect_to_replica=d.get('connect_to_replica'),
18920            egress_filter=d.get('egress_filter'),
18921            healthy=d.get('healthy'),
18922            hostname=d.get('hostname'),
18923            id=d.get('id'),
18924            name=d.get('name'),
18925            password=d.get('password'),
18926            port=d.get('port'),
18927            port_override=d.get('port_override'),
18928            proxy_cluster_id=d.get('proxy_cluster_id'),
18929            replica_set=d.get('replica_set'),
18930            secret_store_id=d.get('secret_store_id'),
18931            subdomain=d.get('subdomain'),
18932            tags=d.get('tags'),
18933            tls_required=d.get('tls_required'),
18934            username=d.get('username'),
18935        )

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, replica_set=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
18776    def __init__(
18777        self,
18778        auth_database=None,
18779        bind_interface=None,
18780        connect_to_replica=None,
18781        egress_filter=None,
18782        healthy=None,
18783        hostname=None,
18784        id=None,
18785        name=None,
18786        password=None,
18787        port=None,
18788        port_override=None,
18789        proxy_cluster_id=None,
18790        replica_set=None,
18791        secret_store_id=None,
18792        subdomain=None,
18793        tags=None,
18794        tls_required=None,
18795        username=None,
18796    ):
18797        self.auth_database = auth_database if auth_database is not None else ''
18798        '''
18799         The authentication database to use.
18800        '''
18801        self.bind_interface = bind_interface if bind_interface is not None else ''
18802        '''
18803         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18804        '''
18805        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18806        '''
18807         Set to connect to a replica instead of the primary node.
18808        '''
18809        self.egress_filter = egress_filter if egress_filter is not None else ''
18810        '''
18811         A filter applied to the routing logic to pin datasource to nodes.
18812        '''
18813        self.healthy = healthy if healthy is not None else False
18814        '''
18815         True if the datasource is reachable and the credentials are valid.
18816        '''
18817        self.hostname = hostname if hostname is not None else ''
18818        '''
18819         The host to dial to initiate a connection from the egress node to this resource.
18820        '''
18821        self.id = id if id is not None else ''
18822        '''
18823         Unique identifier of the Resource.
18824        '''
18825        self.name = name if name is not None else ''
18826        '''
18827         Unique human-readable name of the Resource.
18828        '''
18829        self.password = password if password is not None else ''
18830        '''
18831         The password to authenticate with.
18832        '''
18833        self.port = port if port is not None else 0
18834        '''
18835         The port to dial to initiate a connection from the egress node to this resource.
18836        '''
18837        self.port_override = port_override if port_override is not None else 0
18838        '''
18839         The local port used by clients to connect to this resource.
18840        '''
18841        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18842        '''
18843         ID of the proxy cluster for this resource, if any.
18844        '''
18845        self.replica_set = replica_set if replica_set is not None else ''
18846        '''
18847         The name of the mongo replicaset.
18848        '''
18849        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18850        '''
18851         ID of the secret store containing credentials for this resource, if any.
18852        '''
18853        self.subdomain = subdomain if subdomain is not None else ''
18854        '''
18855         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18856        '''
18857        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18858        '''
18859         Tags is a map of key, value pairs.
18860        '''
18861        self.tls_required = tls_required if tls_required is not None else False
18862        '''
18863         If set, TLS must be used to connect to this resource.
18864        '''
18865        self.username = username if username is not None else ''
18866        '''
18867         The username to authenticate with.
18868        '''
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.

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.

proxy_cluster_id

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

replica_set

The name of the mongo replicaset.

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

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

username

The username to authenticate with.

def to_dict(self)
18892    def to_dict(self):
18893        return {
18894            'auth_database': self.auth_database,
18895            'bind_interface': self.bind_interface,
18896            'connect_to_replica': self.connect_to_replica,
18897            'egress_filter': self.egress_filter,
18898            'healthy': self.healthy,
18899            'hostname': self.hostname,
18900            'id': self.id,
18901            'name': self.name,
18902            'password': self.password,
18903            'port': self.port,
18904            'port_override': self.port_override,
18905            'proxy_cluster_id': self.proxy_cluster_id,
18906            'replica_set': self.replica_set,
18907            'secret_store_id': self.secret_store_id,
18908            'subdomain': self.subdomain,
18909            'tags': self.tags,
18910            'tls_required': self.tls_required,
18911            'username': self.username,
18912        }
@classmethod
def from_dict(cls, d)
18914    @classmethod
18915    def from_dict(cls, d):
18916        return cls(
18917            auth_database=d.get('auth_database'),
18918            bind_interface=d.get('bind_interface'),
18919            connect_to_replica=d.get('connect_to_replica'),
18920            egress_filter=d.get('egress_filter'),
18921            healthy=d.get('healthy'),
18922            hostname=d.get('hostname'),
18923            id=d.get('id'),
18924            name=d.get('name'),
18925            password=d.get('password'),
18926            port=d.get('port'),
18927            port_override=d.get('port_override'),
18928            proxy_cluster_id=d.get('proxy_cluster_id'),
18929            replica_set=d.get('replica_set'),
18930            secret_store_id=d.get('secret_store_id'),
18931            subdomain=d.get('subdomain'),
18932            tags=d.get('tags'),
18933            tls_required=d.get('tls_required'),
18934            username=d.get('username'),
18935        )
class MongoReplicaSet:
18938class MongoReplicaSet:
18939    __slots__ = [
18940        'auth_database',
18941        'bind_interface',
18942        'connect_to_replica',
18943        'egress_filter',
18944        'healthy',
18945        'hostname',
18946        'id',
18947        'name',
18948        'password',
18949        'port',
18950        'port_override',
18951        'proxy_cluster_id',
18952        'replica_set',
18953        'secret_store_id',
18954        'subdomain',
18955        'tags',
18956        'tls_required',
18957        'username',
18958    ]
18959
18960    def __init__(
18961        self,
18962        auth_database=None,
18963        bind_interface=None,
18964        connect_to_replica=None,
18965        egress_filter=None,
18966        healthy=None,
18967        hostname=None,
18968        id=None,
18969        name=None,
18970        password=None,
18971        port=None,
18972        port_override=None,
18973        proxy_cluster_id=None,
18974        replica_set=None,
18975        secret_store_id=None,
18976        subdomain=None,
18977        tags=None,
18978        tls_required=None,
18979        username=None,
18980    ):
18981        self.auth_database = auth_database if auth_database is not None else ''
18982        '''
18983         The authentication database to use.
18984        '''
18985        self.bind_interface = bind_interface if bind_interface is not None else ''
18986        '''
18987         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18988        '''
18989        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18990        '''
18991         Set to connect to a replica instead of the primary node.
18992        '''
18993        self.egress_filter = egress_filter if egress_filter is not None else ''
18994        '''
18995         A filter applied to the routing logic to pin datasource to nodes.
18996        '''
18997        self.healthy = healthy if healthy is not None else False
18998        '''
18999         True if the datasource is reachable and the credentials are valid.
19000        '''
19001        self.hostname = hostname if hostname is not None else ''
19002        '''
19003         The host to dial to initiate a connection from the egress node to this resource.
19004        '''
19005        self.id = id if id is not None else ''
19006        '''
19007         Unique identifier of the Resource.
19008        '''
19009        self.name = name if name is not None else ''
19010        '''
19011         Unique human-readable name of the Resource.
19012        '''
19013        self.password = password if password is not None else ''
19014        '''
19015         The password to authenticate with.
19016        '''
19017        self.port = port if port is not None else 0
19018        '''
19019         The port to dial to initiate a connection from the egress node to this resource.
19020        '''
19021        self.port_override = port_override if port_override is not None else 0
19022        '''
19023         The local port used by clients to connect to this resource.
19024        '''
19025        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19026        '''
19027         ID of the proxy cluster for this resource, if any.
19028        '''
19029        self.replica_set = replica_set if replica_set is not None else ''
19030        '''
19031         The name of the mongo replicaset.
19032        '''
19033        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19034        '''
19035         ID of the secret store containing credentials for this resource, if any.
19036        '''
19037        self.subdomain = subdomain if subdomain is not None else ''
19038        '''
19039         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19040        '''
19041        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19042        '''
19043         Tags is a map of key, value pairs.
19044        '''
19045        self.tls_required = tls_required if tls_required is not None else False
19046        '''
19047         If set, TLS must be used to connect to this resource.
19048        '''
19049        self.username = username if username is not None else ''
19050        '''
19051         The username to authenticate with.
19052        '''
19053
19054    def __repr__(self):
19055        return '<sdm.MongoReplicaSet ' + \
19056            'auth_database: ' + repr(self.auth_database) + ' ' +\
19057            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19058            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
19059            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19060            'healthy: ' + repr(self.healthy) + ' ' +\
19061            'hostname: ' + repr(self.hostname) + ' ' +\
19062            'id: ' + repr(self.id) + ' ' +\
19063            'name: ' + repr(self.name) + ' ' +\
19064            'password: ' + repr(self.password) + ' ' +\
19065            'port: ' + repr(self.port) + ' ' +\
19066            'port_override: ' + repr(self.port_override) + ' ' +\
19067            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19068            'replica_set: ' + repr(self.replica_set) + ' ' +\
19069            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19070            'subdomain: ' + repr(self.subdomain) + ' ' +\
19071            'tags: ' + repr(self.tags) + ' ' +\
19072            'tls_required: ' + repr(self.tls_required) + ' ' +\
19073            'username: ' + repr(self.username) + ' ' +\
19074            '>'
19075
19076    def to_dict(self):
19077        return {
19078            'auth_database': self.auth_database,
19079            'bind_interface': self.bind_interface,
19080            'connect_to_replica': self.connect_to_replica,
19081            'egress_filter': self.egress_filter,
19082            'healthy': self.healthy,
19083            'hostname': self.hostname,
19084            'id': self.id,
19085            'name': self.name,
19086            'password': self.password,
19087            'port': self.port,
19088            'port_override': self.port_override,
19089            'proxy_cluster_id': self.proxy_cluster_id,
19090            'replica_set': self.replica_set,
19091            'secret_store_id': self.secret_store_id,
19092            'subdomain': self.subdomain,
19093            'tags': self.tags,
19094            'tls_required': self.tls_required,
19095            'username': self.username,
19096        }
19097
19098    @classmethod
19099    def from_dict(cls, d):
19100        return cls(
19101            auth_database=d.get('auth_database'),
19102            bind_interface=d.get('bind_interface'),
19103            connect_to_replica=d.get('connect_to_replica'),
19104            egress_filter=d.get('egress_filter'),
19105            healthy=d.get('healthy'),
19106            hostname=d.get('hostname'),
19107            id=d.get('id'),
19108            name=d.get('name'),
19109            password=d.get('password'),
19110            port=d.get('port'),
19111            port_override=d.get('port_override'),
19112            proxy_cluster_id=d.get('proxy_cluster_id'),
19113            replica_set=d.get('replica_set'),
19114            secret_store_id=d.get('secret_store_id'),
19115            subdomain=d.get('subdomain'),
19116            tags=d.get('tags'),
19117            tls_required=d.get('tls_required'),
19118            username=d.get('username'),
19119        )
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, replica_set=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
18960    def __init__(
18961        self,
18962        auth_database=None,
18963        bind_interface=None,
18964        connect_to_replica=None,
18965        egress_filter=None,
18966        healthy=None,
18967        hostname=None,
18968        id=None,
18969        name=None,
18970        password=None,
18971        port=None,
18972        port_override=None,
18973        proxy_cluster_id=None,
18974        replica_set=None,
18975        secret_store_id=None,
18976        subdomain=None,
18977        tags=None,
18978        tls_required=None,
18979        username=None,
18980    ):
18981        self.auth_database = auth_database if auth_database is not None else ''
18982        '''
18983         The authentication database to use.
18984        '''
18985        self.bind_interface = bind_interface if bind_interface is not None else ''
18986        '''
18987         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18988        '''
18989        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18990        '''
18991         Set to connect to a replica instead of the primary node.
18992        '''
18993        self.egress_filter = egress_filter if egress_filter is not None else ''
18994        '''
18995         A filter applied to the routing logic to pin datasource to nodes.
18996        '''
18997        self.healthy = healthy if healthy is not None else False
18998        '''
18999         True if the datasource is reachable and the credentials are valid.
19000        '''
19001        self.hostname = hostname if hostname is not None else ''
19002        '''
19003         The host to dial to initiate a connection from the egress node to this resource.
19004        '''
19005        self.id = id if id is not None else ''
19006        '''
19007         Unique identifier of the Resource.
19008        '''
19009        self.name = name if name is not None else ''
19010        '''
19011         Unique human-readable name of the Resource.
19012        '''
19013        self.password = password if password is not None else ''
19014        '''
19015         The password to authenticate with.
19016        '''
19017        self.port = port if port is not None else 0
19018        '''
19019         The port to dial to initiate a connection from the egress node to this resource.
19020        '''
19021        self.port_override = port_override if port_override is not None else 0
19022        '''
19023         The local port used by clients to connect to this resource.
19024        '''
19025        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19026        '''
19027         ID of the proxy cluster for this resource, if any.
19028        '''
19029        self.replica_set = replica_set if replica_set is not None else ''
19030        '''
19031         The name of the mongo replicaset.
19032        '''
19033        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19034        '''
19035         ID of the secret store containing credentials for this resource, if any.
19036        '''
19037        self.subdomain = subdomain if subdomain is not None else ''
19038        '''
19039         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19040        '''
19041        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19042        '''
19043         Tags is a map of key, value pairs.
19044        '''
19045        self.tls_required = tls_required if tls_required is not None else False
19046        '''
19047         If set, TLS must be used to connect to this resource.
19048        '''
19049        self.username = username if username is not None else ''
19050        '''
19051         The username to authenticate with.
19052        '''
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.

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.

proxy_cluster_id

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

replica_set

The name of the mongo replicaset.

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

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

username

The username to authenticate with.

def to_dict(self)
19076    def to_dict(self):
19077        return {
19078            'auth_database': self.auth_database,
19079            'bind_interface': self.bind_interface,
19080            'connect_to_replica': self.connect_to_replica,
19081            'egress_filter': self.egress_filter,
19082            'healthy': self.healthy,
19083            'hostname': self.hostname,
19084            'id': self.id,
19085            'name': self.name,
19086            'password': self.password,
19087            'port': self.port,
19088            'port_override': self.port_override,
19089            'proxy_cluster_id': self.proxy_cluster_id,
19090            'replica_set': self.replica_set,
19091            'secret_store_id': self.secret_store_id,
19092            'subdomain': self.subdomain,
19093            'tags': self.tags,
19094            'tls_required': self.tls_required,
19095            'username': self.username,
19096        }
@classmethod
def from_dict(cls, d)
19098    @classmethod
19099    def from_dict(cls, d):
19100        return cls(
19101            auth_database=d.get('auth_database'),
19102            bind_interface=d.get('bind_interface'),
19103            connect_to_replica=d.get('connect_to_replica'),
19104            egress_filter=d.get('egress_filter'),
19105            healthy=d.get('healthy'),
19106            hostname=d.get('hostname'),
19107            id=d.get('id'),
19108            name=d.get('name'),
19109            password=d.get('password'),
19110            port=d.get('port'),
19111            port_override=d.get('port_override'),
19112            proxy_cluster_id=d.get('proxy_cluster_id'),
19113            replica_set=d.get('replica_set'),
19114            secret_store_id=d.get('secret_store_id'),
19115            subdomain=d.get('subdomain'),
19116            tags=d.get('tags'),
19117            tls_required=d.get('tls_required'),
19118            username=d.get('username'),
19119        )
class MongoShardedCluster:
19122class MongoShardedCluster:
19123    __slots__ = [
19124        'auth_database',
19125        'bind_interface',
19126        'egress_filter',
19127        'healthy',
19128        'hostname',
19129        'id',
19130        'name',
19131        'password',
19132        'port_override',
19133        'proxy_cluster_id',
19134        'secret_store_id',
19135        'subdomain',
19136        'tags',
19137        'tls_required',
19138        'username',
19139    ]
19140
19141    def __init__(
19142        self,
19143        auth_database=None,
19144        bind_interface=None,
19145        egress_filter=None,
19146        healthy=None,
19147        hostname=None,
19148        id=None,
19149        name=None,
19150        password=None,
19151        port_override=None,
19152        proxy_cluster_id=None,
19153        secret_store_id=None,
19154        subdomain=None,
19155        tags=None,
19156        tls_required=None,
19157        username=None,
19158    ):
19159        self.auth_database = auth_database if auth_database is not None else ''
19160        '''
19161         The authentication database to use.
19162        '''
19163        self.bind_interface = bind_interface if bind_interface is not None else ''
19164        '''
19165         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19166        '''
19167        self.egress_filter = egress_filter if egress_filter is not None else ''
19168        '''
19169         A filter applied to the routing logic to pin datasource to nodes.
19170        '''
19171        self.healthy = healthy if healthy is not None else False
19172        '''
19173         True if the datasource is reachable and the credentials are valid.
19174        '''
19175        self.hostname = hostname if hostname is not None else ''
19176        '''
19177         The host to dial to initiate a connection from the egress node to this resource.
19178        '''
19179        self.id = id if id is not None else ''
19180        '''
19181         Unique identifier of the Resource.
19182        '''
19183        self.name = name if name is not None else ''
19184        '''
19185         Unique human-readable name of the Resource.
19186        '''
19187        self.password = password if password is not None else ''
19188        '''
19189         The password to authenticate with.
19190        '''
19191        self.port_override = port_override if port_override is not None else 0
19192        '''
19193         The local port used by clients to connect to this resource.
19194        '''
19195        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19196        '''
19197         ID of the proxy cluster for this resource, if any.
19198        '''
19199        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19200        '''
19201         ID of the secret store containing credentials for this resource, if any.
19202        '''
19203        self.subdomain = subdomain if subdomain is not None else ''
19204        '''
19205         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19206        '''
19207        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19208        '''
19209         Tags is a map of key, value pairs.
19210        '''
19211        self.tls_required = tls_required if tls_required is not None else False
19212        '''
19213         If set, TLS must be used to connect to this resource.
19214        '''
19215        self.username = username if username is not None else ''
19216        '''
19217         The username to authenticate with.
19218        '''
19219
19220    def __repr__(self):
19221        return '<sdm.MongoShardedCluster ' + \
19222            'auth_database: ' + repr(self.auth_database) + ' ' +\
19223            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19224            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19225            'healthy: ' + repr(self.healthy) + ' ' +\
19226            'hostname: ' + repr(self.hostname) + ' ' +\
19227            'id: ' + repr(self.id) + ' ' +\
19228            'name: ' + repr(self.name) + ' ' +\
19229            'password: ' + repr(self.password) + ' ' +\
19230            'port_override: ' + repr(self.port_override) + ' ' +\
19231            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19232            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19233            'subdomain: ' + repr(self.subdomain) + ' ' +\
19234            'tags: ' + repr(self.tags) + ' ' +\
19235            'tls_required: ' + repr(self.tls_required) + ' ' +\
19236            'username: ' + repr(self.username) + ' ' +\
19237            '>'
19238
19239    def to_dict(self):
19240        return {
19241            'auth_database': self.auth_database,
19242            'bind_interface': self.bind_interface,
19243            'egress_filter': self.egress_filter,
19244            'healthy': self.healthy,
19245            'hostname': self.hostname,
19246            'id': self.id,
19247            'name': self.name,
19248            'password': self.password,
19249            'port_override': self.port_override,
19250            'proxy_cluster_id': self.proxy_cluster_id,
19251            'secret_store_id': self.secret_store_id,
19252            'subdomain': self.subdomain,
19253            'tags': self.tags,
19254            'tls_required': self.tls_required,
19255            'username': self.username,
19256        }
19257
19258    @classmethod
19259    def from_dict(cls, d):
19260        return cls(
19261            auth_database=d.get('auth_database'),
19262            bind_interface=d.get('bind_interface'),
19263            egress_filter=d.get('egress_filter'),
19264            healthy=d.get('healthy'),
19265            hostname=d.get('hostname'),
19266            id=d.get('id'),
19267            name=d.get('name'),
19268            password=d.get('password'),
19269            port_override=d.get('port_override'),
19270            proxy_cluster_id=d.get('proxy_cluster_id'),
19271            secret_store_id=d.get('secret_store_id'),
19272            subdomain=d.get('subdomain'),
19273            tags=d.get('tags'),
19274            tls_required=d.get('tls_required'),
19275            username=d.get('username'),
19276        )
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)
19141    def __init__(
19142        self,
19143        auth_database=None,
19144        bind_interface=None,
19145        egress_filter=None,
19146        healthy=None,
19147        hostname=None,
19148        id=None,
19149        name=None,
19150        password=None,
19151        port_override=None,
19152        proxy_cluster_id=None,
19153        secret_store_id=None,
19154        subdomain=None,
19155        tags=None,
19156        tls_required=None,
19157        username=None,
19158    ):
19159        self.auth_database = auth_database if auth_database is not None else ''
19160        '''
19161         The authentication database to use.
19162        '''
19163        self.bind_interface = bind_interface if bind_interface is not None else ''
19164        '''
19165         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19166        '''
19167        self.egress_filter = egress_filter if egress_filter is not None else ''
19168        '''
19169         A filter applied to the routing logic to pin datasource to nodes.
19170        '''
19171        self.healthy = healthy if healthy is not None else False
19172        '''
19173         True if the datasource is reachable and the credentials are valid.
19174        '''
19175        self.hostname = hostname if hostname is not None else ''
19176        '''
19177         The host to dial to initiate a connection from the egress node to this resource.
19178        '''
19179        self.id = id if id is not None else ''
19180        '''
19181         Unique identifier of the Resource.
19182        '''
19183        self.name = name if name is not None else ''
19184        '''
19185         Unique human-readable name of the Resource.
19186        '''
19187        self.password = password if password is not None else ''
19188        '''
19189         The password to authenticate with.
19190        '''
19191        self.port_override = port_override if port_override is not None else 0
19192        '''
19193         The local port used by clients to connect to this resource.
19194        '''
19195        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19196        '''
19197         ID of the proxy cluster for this resource, if any.
19198        '''
19199        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19200        '''
19201         ID of the secret store containing credentials for this resource, if any.
19202        '''
19203        self.subdomain = subdomain if subdomain is not None else ''
19204        '''
19205         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19206        '''
19207        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19208        '''
19209         Tags is a map of key, value pairs.
19210        '''
19211        self.tls_required = tls_required if tls_required is not None else False
19212        '''
19213         If set, TLS must be used to connect to this resource.
19214        '''
19215        self.username = username if username is not None else ''
19216        '''
19217         The username to authenticate with.
19218        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
19239    def to_dict(self):
19240        return {
19241            'auth_database': self.auth_database,
19242            'bind_interface': self.bind_interface,
19243            'egress_filter': self.egress_filter,
19244            'healthy': self.healthy,
19245            'hostname': self.hostname,
19246            'id': self.id,
19247            'name': self.name,
19248            'password': self.password,
19249            'port_override': self.port_override,
19250            'proxy_cluster_id': self.proxy_cluster_id,
19251            'secret_store_id': self.secret_store_id,
19252            'subdomain': self.subdomain,
19253            'tags': self.tags,
19254            'tls_required': self.tls_required,
19255            'username': self.username,
19256        }
@classmethod
def from_dict(cls, d)
19258    @classmethod
19259    def from_dict(cls, d):
19260        return cls(
19261            auth_database=d.get('auth_database'),
19262            bind_interface=d.get('bind_interface'),
19263            egress_filter=d.get('egress_filter'),
19264            healthy=d.get('healthy'),
19265            hostname=d.get('hostname'),
19266            id=d.get('id'),
19267            name=d.get('name'),
19268            password=d.get('password'),
19269            port_override=d.get('port_override'),
19270            proxy_cluster_id=d.get('proxy_cluster_id'),
19271            secret_store_id=d.get('secret_store_id'),
19272            subdomain=d.get('subdomain'),
19273            tags=d.get('tags'),
19274            tls_required=d.get('tls_required'),
19275            username=d.get('username'),
19276        )
class Mysql:
19279class Mysql:
19280    __slots__ = [
19281        'bind_interface',
19282        'database',
19283        'egress_filter',
19284        'healthy',
19285        'hostname',
19286        'id',
19287        'name',
19288        'password',
19289        'port',
19290        'port_override',
19291        'proxy_cluster_id',
19292        'require_native_auth',
19293        'secret_store_id',
19294        'subdomain',
19295        'tags',
19296        'use_azure_single_server_usernames',
19297        'username',
19298    ]
19299
19300    def __init__(
19301        self,
19302        bind_interface=None,
19303        database=None,
19304        egress_filter=None,
19305        healthy=None,
19306        hostname=None,
19307        id=None,
19308        name=None,
19309        password=None,
19310        port=None,
19311        port_override=None,
19312        proxy_cluster_id=None,
19313        require_native_auth=None,
19314        secret_store_id=None,
19315        subdomain=None,
19316        tags=None,
19317        use_azure_single_server_usernames=None,
19318        username=None,
19319    ):
19320        self.bind_interface = bind_interface if bind_interface is not None else ''
19321        '''
19322         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19323        '''
19324        self.database = database if database is not None else ''
19325        '''
19326         The database for healthchecks. Does not affect client requests.
19327        '''
19328        self.egress_filter = egress_filter if egress_filter is not None else ''
19329        '''
19330         A filter applied to the routing logic to pin datasource to nodes.
19331        '''
19332        self.healthy = healthy if healthy is not None else False
19333        '''
19334         True if the datasource is reachable and the credentials are valid.
19335        '''
19336        self.hostname = hostname if hostname is not None else ''
19337        '''
19338         The host to dial to initiate a connection from the egress node to this resource.
19339        '''
19340        self.id = id if id is not None else ''
19341        '''
19342         Unique identifier of the Resource.
19343        '''
19344        self.name = name if name is not None else ''
19345        '''
19346         Unique human-readable name of the Resource.
19347        '''
19348        self.password = password if password is not None else ''
19349        '''
19350         The password to authenticate with.
19351        '''
19352        self.port = port if port is not None else 0
19353        '''
19354         The port to dial to initiate a connection from the egress node to this resource.
19355        '''
19356        self.port_override = port_override if port_override is not None else 0
19357        '''
19358         The local port used by clients to connect to this resource.
19359        '''
19360        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19361        '''
19362         ID of the proxy cluster for this resource, if any.
19363        '''
19364        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19365        '''
19366         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19367        '''
19368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19369        '''
19370         ID of the secret store containing credentials for this resource, if any.
19371        '''
19372        self.subdomain = subdomain if subdomain is not None else ''
19373        '''
19374         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19375        '''
19376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19377        '''
19378         Tags is a map of key, value pairs.
19379        '''
19380        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19381        '''
19382         If true, appends the hostname to the username when hitting a database.azure.com address
19383        '''
19384        self.username = username if username is not None else ''
19385        '''
19386         The username to authenticate with.
19387        '''
19388
19389    def __repr__(self):
19390        return '<sdm.Mysql ' + \
19391            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19392            'database: ' + repr(self.database) + ' ' +\
19393            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19394            'healthy: ' + repr(self.healthy) + ' ' +\
19395            'hostname: ' + repr(self.hostname) + ' ' +\
19396            'id: ' + repr(self.id) + ' ' +\
19397            'name: ' + repr(self.name) + ' ' +\
19398            'password: ' + repr(self.password) + ' ' +\
19399            'port: ' + repr(self.port) + ' ' +\
19400            'port_override: ' + repr(self.port_override) + ' ' +\
19401            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19402            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
19403            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19404            'subdomain: ' + repr(self.subdomain) + ' ' +\
19405            'tags: ' + repr(self.tags) + ' ' +\
19406            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
19407            'username: ' + repr(self.username) + ' ' +\
19408            '>'
19409
19410    def to_dict(self):
19411        return {
19412            'bind_interface': self.bind_interface,
19413            'database': self.database,
19414            'egress_filter': self.egress_filter,
19415            'healthy': self.healthy,
19416            'hostname': self.hostname,
19417            'id': self.id,
19418            'name': self.name,
19419            'password': self.password,
19420            'port': self.port,
19421            'port_override': self.port_override,
19422            'proxy_cluster_id': self.proxy_cluster_id,
19423            'require_native_auth': self.require_native_auth,
19424            'secret_store_id': self.secret_store_id,
19425            'subdomain': self.subdomain,
19426            'tags': self.tags,
19427            'use_azure_single_server_usernames':
19428            self.use_azure_single_server_usernames,
19429            'username': self.username,
19430        }
19431
19432    @classmethod
19433    def from_dict(cls, d):
19434        return cls(
19435            bind_interface=d.get('bind_interface'),
19436            database=d.get('database'),
19437            egress_filter=d.get('egress_filter'),
19438            healthy=d.get('healthy'),
19439            hostname=d.get('hostname'),
19440            id=d.get('id'),
19441            name=d.get('name'),
19442            password=d.get('password'),
19443            port=d.get('port'),
19444            port_override=d.get('port_override'),
19445            proxy_cluster_id=d.get('proxy_cluster_id'),
19446            require_native_auth=d.get('require_native_auth'),
19447            secret_store_id=d.get('secret_store_id'),
19448            subdomain=d.get('subdomain'),
19449            tags=d.get('tags'),
19450            use_azure_single_server_usernames=d.get(
19451                'use_azure_single_server_usernames'),
19452            username=d.get('username'),
19453        )
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)
19300    def __init__(
19301        self,
19302        bind_interface=None,
19303        database=None,
19304        egress_filter=None,
19305        healthy=None,
19306        hostname=None,
19307        id=None,
19308        name=None,
19309        password=None,
19310        port=None,
19311        port_override=None,
19312        proxy_cluster_id=None,
19313        require_native_auth=None,
19314        secret_store_id=None,
19315        subdomain=None,
19316        tags=None,
19317        use_azure_single_server_usernames=None,
19318        username=None,
19319    ):
19320        self.bind_interface = bind_interface if bind_interface is not None else ''
19321        '''
19322         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19323        '''
19324        self.database = database if database is not None else ''
19325        '''
19326         The database for healthchecks. Does not affect client requests.
19327        '''
19328        self.egress_filter = egress_filter if egress_filter is not None else ''
19329        '''
19330         A filter applied to the routing logic to pin datasource to nodes.
19331        '''
19332        self.healthy = healthy if healthy is not None else False
19333        '''
19334         True if the datasource is reachable and the credentials are valid.
19335        '''
19336        self.hostname = hostname if hostname is not None else ''
19337        '''
19338         The host to dial to initiate a connection from the egress node to this resource.
19339        '''
19340        self.id = id if id is not None else ''
19341        '''
19342         Unique identifier of the Resource.
19343        '''
19344        self.name = name if name is not None else ''
19345        '''
19346         Unique human-readable name of the Resource.
19347        '''
19348        self.password = password if password is not None else ''
19349        '''
19350         The password to authenticate with.
19351        '''
19352        self.port = port if port is not None else 0
19353        '''
19354         The port to dial to initiate a connection from the egress node to this resource.
19355        '''
19356        self.port_override = port_override if port_override is not None else 0
19357        '''
19358         The local port used by clients to connect to this resource.
19359        '''
19360        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19361        '''
19362         ID of the proxy cluster for this resource, if any.
19363        '''
19364        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19365        '''
19366         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19367        '''
19368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19369        '''
19370         ID of the secret store containing credentials for this resource, if any.
19371        '''
19372        self.subdomain = subdomain if subdomain is not None else ''
19373        '''
19374         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19375        '''
19376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19377        '''
19378         Tags is a map of key, value pairs.
19379        '''
19380        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19381        '''
19382         If true, appends the hostname to the username when hitting a database.azure.com address
19383        '''
19384        self.username = username if username is not None else ''
19385        '''
19386         The username to authenticate with.
19387        '''
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.

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.

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

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_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)
19410    def to_dict(self):
19411        return {
19412            'bind_interface': self.bind_interface,
19413            'database': self.database,
19414            'egress_filter': self.egress_filter,
19415            'healthy': self.healthy,
19416            'hostname': self.hostname,
19417            'id': self.id,
19418            'name': self.name,
19419            'password': self.password,
19420            'port': self.port,
19421            'port_override': self.port_override,
19422            'proxy_cluster_id': self.proxy_cluster_id,
19423            'require_native_auth': self.require_native_auth,
19424            'secret_store_id': self.secret_store_id,
19425            'subdomain': self.subdomain,
19426            'tags': self.tags,
19427            'use_azure_single_server_usernames':
19428            self.use_azure_single_server_usernames,
19429            'username': self.username,
19430        }
@classmethod
def from_dict(cls, d)
19432    @classmethod
19433    def from_dict(cls, d):
19434        return cls(
19435            bind_interface=d.get('bind_interface'),
19436            database=d.get('database'),
19437            egress_filter=d.get('egress_filter'),
19438            healthy=d.get('healthy'),
19439            hostname=d.get('hostname'),
19440            id=d.get('id'),
19441            name=d.get('name'),
19442            password=d.get('password'),
19443            port=d.get('port'),
19444            port_override=d.get('port_override'),
19445            proxy_cluster_id=d.get('proxy_cluster_id'),
19446            require_native_auth=d.get('require_native_auth'),
19447            secret_store_id=d.get('secret_store_id'),
19448            subdomain=d.get('subdomain'),
19449            tags=d.get('tags'),
19450            use_azure_single_server_usernames=d.get(
19451                'use_azure_single_server_usernames'),
19452            username=d.get('username'),
19453        )
class Neptune:
19456class Neptune:
19457    __slots__ = [
19458        'bind_interface',
19459        'egress_filter',
19460        'endpoint',
19461        'healthy',
19462        'id',
19463        'name',
19464        'port',
19465        'port_override',
19466        'proxy_cluster_id',
19467        'secret_store_id',
19468        'subdomain',
19469        'tags',
19470    ]
19471
19472    def __init__(
19473        self,
19474        bind_interface=None,
19475        egress_filter=None,
19476        endpoint=None,
19477        healthy=None,
19478        id=None,
19479        name=None,
19480        port=None,
19481        port_override=None,
19482        proxy_cluster_id=None,
19483        secret_store_id=None,
19484        subdomain=None,
19485        tags=None,
19486    ):
19487        self.bind_interface = bind_interface if bind_interface is not None else ''
19488        '''
19489         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19490        '''
19491        self.egress_filter = egress_filter if egress_filter is not None else ''
19492        '''
19493         A filter applied to the routing logic to pin datasource to nodes.
19494        '''
19495        self.endpoint = endpoint if endpoint is not None else ''
19496        '''
19497         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19498        '''
19499        self.healthy = healthy if healthy is not None else False
19500        '''
19501         True if the datasource is reachable and the credentials are valid.
19502        '''
19503        self.id = id if id is not None else ''
19504        '''
19505         Unique identifier of the Resource.
19506        '''
19507        self.name = name if name is not None else ''
19508        '''
19509         Unique human-readable name of the Resource.
19510        '''
19511        self.port = port if port is not None else 0
19512        '''
19513         The port to dial to initiate a connection from the egress node to this resource.
19514        '''
19515        self.port_override = port_override if port_override is not None else 0
19516        '''
19517         The local port used by clients to connect to this resource.
19518        '''
19519        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19520        '''
19521         ID of the proxy cluster for this resource, if any.
19522        '''
19523        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19524        '''
19525         ID of the secret store containing credentials for this resource, if any.
19526        '''
19527        self.subdomain = subdomain if subdomain is not None else ''
19528        '''
19529         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19530        '''
19531        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19532        '''
19533         Tags is a map of key, value pairs.
19534        '''
19535
19536    def __repr__(self):
19537        return '<sdm.Neptune ' + \
19538            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19539            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19540            'endpoint: ' + repr(self.endpoint) + ' ' +\
19541            'healthy: ' + repr(self.healthy) + ' ' +\
19542            'id: ' + repr(self.id) + ' ' +\
19543            'name: ' + repr(self.name) + ' ' +\
19544            'port: ' + repr(self.port) + ' ' +\
19545            'port_override: ' + repr(self.port_override) + ' ' +\
19546            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19547            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19548            'subdomain: ' + repr(self.subdomain) + ' ' +\
19549            'tags: ' + repr(self.tags) + ' ' +\
19550            '>'
19551
19552    def to_dict(self):
19553        return {
19554            'bind_interface': self.bind_interface,
19555            'egress_filter': self.egress_filter,
19556            'endpoint': self.endpoint,
19557            'healthy': self.healthy,
19558            'id': self.id,
19559            'name': self.name,
19560            'port': self.port,
19561            'port_override': self.port_override,
19562            'proxy_cluster_id': self.proxy_cluster_id,
19563            'secret_store_id': self.secret_store_id,
19564            'subdomain': self.subdomain,
19565            'tags': self.tags,
19566        }
19567
19568    @classmethod
19569    def from_dict(cls, d):
19570        return cls(
19571            bind_interface=d.get('bind_interface'),
19572            egress_filter=d.get('egress_filter'),
19573            endpoint=d.get('endpoint'),
19574            healthy=d.get('healthy'),
19575            id=d.get('id'),
19576            name=d.get('name'),
19577            port=d.get('port'),
19578            port_override=d.get('port_override'),
19579            proxy_cluster_id=d.get('proxy_cluster_id'),
19580            secret_store_id=d.get('secret_store_id'),
19581            subdomain=d.get('subdomain'),
19582            tags=d.get('tags'),
19583        )
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)
19472    def __init__(
19473        self,
19474        bind_interface=None,
19475        egress_filter=None,
19476        endpoint=None,
19477        healthy=None,
19478        id=None,
19479        name=None,
19480        port=None,
19481        port_override=None,
19482        proxy_cluster_id=None,
19483        secret_store_id=None,
19484        subdomain=None,
19485        tags=None,
19486    ):
19487        self.bind_interface = bind_interface if bind_interface is not None else ''
19488        '''
19489         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19490        '''
19491        self.egress_filter = egress_filter if egress_filter is not None else ''
19492        '''
19493         A filter applied to the routing logic to pin datasource to nodes.
19494        '''
19495        self.endpoint = endpoint if endpoint is not None else ''
19496        '''
19497         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19498        '''
19499        self.healthy = healthy if healthy is not None else False
19500        '''
19501         True if the datasource is reachable and the credentials are valid.
19502        '''
19503        self.id = id if id is not None else ''
19504        '''
19505         Unique identifier of the Resource.
19506        '''
19507        self.name = name if name is not None else ''
19508        '''
19509         Unique human-readable name of the Resource.
19510        '''
19511        self.port = port if port is not None else 0
19512        '''
19513         The port to dial to initiate a connection from the egress node to this resource.
19514        '''
19515        self.port_override = port_override if port_override is not None else 0
19516        '''
19517         The local port used by clients to connect to this resource.
19518        '''
19519        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19520        '''
19521         ID of the proxy cluster for this resource, if any.
19522        '''
19523        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19524        '''
19525         ID of the secret store containing credentials for this resource, if any.
19526        '''
19527        self.subdomain = subdomain if subdomain is not None else ''
19528        '''
19529         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19530        '''
19531        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19532        '''
19533         Tags is a map of key, value pairs.
19534        '''
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.

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.

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.

def to_dict(self)
19552    def to_dict(self):
19553        return {
19554            'bind_interface': self.bind_interface,
19555            'egress_filter': self.egress_filter,
19556            'endpoint': self.endpoint,
19557            'healthy': self.healthy,
19558            'id': self.id,
19559            'name': self.name,
19560            'port': self.port,
19561            'port_override': self.port_override,
19562            'proxy_cluster_id': self.proxy_cluster_id,
19563            'secret_store_id': self.secret_store_id,
19564            'subdomain': self.subdomain,
19565            'tags': self.tags,
19566        }
@classmethod
def from_dict(cls, d)
19568    @classmethod
19569    def from_dict(cls, d):
19570        return cls(
19571            bind_interface=d.get('bind_interface'),
19572            egress_filter=d.get('egress_filter'),
19573            endpoint=d.get('endpoint'),
19574            healthy=d.get('healthy'),
19575            id=d.get('id'),
19576            name=d.get('name'),
19577            port=d.get('port'),
19578            port_override=d.get('port_override'),
19579            proxy_cluster_id=d.get('proxy_cluster_id'),
19580            secret_store_id=d.get('secret_store_id'),
19581            subdomain=d.get('subdomain'),
19582            tags=d.get('tags'),
19583        )
class NeptuneIAM:
19586class NeptuneIAM:
19587    __slots__ = [
19588        'access_key',
19589        'bind_interface',
19590        'egress_filter',
19591        'endpoint',
19592        'healthy',
19593        'id',
19594        'name',
19595        'port',
19596        'port_override',
19597        'proxy_cluster_id',
19598        'region',
19599        'role_arn',
19600        'role_external_id',
19601        'secret_access_key',
19602        'secret_store_id',
19603        'subdomain',
19604        'tags',
19605    ]
19606
19607    def __init__(
19608        self,
19609        access_key=None,
19610        bind_interface=None,
19611        egress_filter=None,
19612        endpoint=None,
19613        healthy=None,
19614        id=None,
19615        name=None,
19616        port=None,
19617        port_override=None,
19618        proxy_cluster_id=None,
19619        region=None,
19620        role_arn=None,
19621        role_external_id=None,
19622        secret_access_key=None,
19623        secret_store_id=None,
19624        subdomain=None,
19625        tags=None,
19626    ):
19627        self.access_key = access_key if access_key is not None else ''
19628        '''
19629         The Access Key ID to use to authenticate.
19630        '''
19631        self.bind_interface = bind_interface if bind_interface is not None else ''
19632        '''
19633         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19634        '''
19635        self.egress_filter = egress_filter if egress_filter is not None else ''
19636        '''
19637         A filter applied to the routing logic to pin datasource to nodes.
19638        '''
19639        self.endpoint = endpoint if endpoint is not None else ''
19640        '''
19641         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19642        '''
19643        self.healthy = healthy if healthy is not None else False
19644        '''
19645         True if the datasource is reachable and the credentials are valid.
19646        '''
19647        self.id = id if id is not None else ''
19648        '''
19649         Unique identifier of the Resource.
19650        '''
19651        self.name = name if name is not None else ''
19652        '''
19653         Unique human-readable name of the Resource.
19654        '''
19655        self.port = port if port is not None else 0
19656        '''
19657         The port to dial to initiate a connection from the egress node to this resource.
19658        '''
19659        self.port_override = port_override if port_override is not None else 0
19660        '''
19661         The local port used by clients to connect to this resource.
19662        '''
19663        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19664        '''
19665         ID of the proxy cluster for this resource, if any.
19666        '''
19667        self.region = region if region is not None else ''
19668        '''
19669         The AWS region to connect to.
19670        '''
19671        self.role_arn = role_arn if role_arn is not None else ''
19672        '''
19673         The role to assume after logging in.
19674        '''
19675        self.role_external_id = role_external_id if role_external_id is not None else ''
19676        '''
19677         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19678        '''
19679        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19680        '''
19681         The Secret Access Key to use to authenticate.
19682        '''
19683        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19684        '''
19685         ID of the secret store containing credentials for this resource, if any.
19686        '''
19687        self.subdomain = subdomain if subdomain is not None else ''
19688        '''
19689         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19690        '''
19691        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19692        '''
19693         Tags is a map of key, value pairs.
19694        '''
19695
19696    def __repr__(self):
19697        return '<sdm.NeptuneIAM ' + \
19698            'access_key: ' + repr(self.access_key) + ' ' +\
19699            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19700            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19701            'endpoint: ' + repr(self.endpoint) + ' ' +\
19702            'healthy: ' + repr(self.healthy) + ' ' +\
19703            'id: ' + repr(self.id) + ' ' +\
19704            'name: ' + repr(self.name) + ' ' +\
19705            'port: ' + repr(self.port) + ' ' +\
19706            'port_override: ' + repr(self.port_override) + ' ' +\
19707            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19708            'region: ' + repr(self.region) + ' ' +\
19709            'role_arn: ' + repr(self.role_arn) + ' ' +\
19710            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
19711            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
19712            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19713            'subdomain: ' + repr(self.subdomain) + ' ' +\
19714            'tags: ' + repr(self.tags) + ' ' +\
19715            '>'
19716
19717    def to_dict(self):
19718        return {
19719            'access_key': self.access_key,
19720            'bind_interface': self.bind_interface,
19721            'egress_filter': self.egress_filter,
19722            'endpoint': self.endpoint,
19723            'healthy': self.healthy,
19724            'id': self.id,
19725            'name': self.name,
19726            'port': self.port,
19727            'port_override': self.port_override,
19728            'proxy_cluster_id': self.proxy_cluster_id,
19729            'region': self.region,
19730            'role_arn': self.role_arn,
19731            'role_external_id': self.role_external_id,
19732            'secret_access_key': self.secret_access_key,
19733            'secret_store_id': self.secret_store_id,
19734            'subdomain': self.subdomain,
19735            'tags': self.tags,
19736        }
19737
19738    @classmethod
19739    def from_dict(cls, d):
19740        return cls(
19741            access_key=d.get('access_key'),
19742            bind_interface=d.get('bind_interface'),
19743            egress_filter=d.get('egress_filter'),
19744            endpoint=d.get('endpoint'),
19745            healthy=d.get('healthy'),
19746            id=d.get('id'),
19747            name=d.get('name'),
19748            port=d.get('port'),
19749            port_override=d.get('port_override'),
19750            proxy_cluster_id=d.get('proxy_cluster_id'),
19751            region=d.get('region'),
19752            role_arn=d.get('role_arn'),
19753            role_external_id=d.get('role_external_id'),
19754            secret_access_key=d.get('secret_access_key'),
19755            secret_store_id=d.get('secret_store_id'),
19756            subdomain=d.get('subdomain'),
19757            tags=d.get('tags'),
19758        )
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)
19607    def __init__(
19608        self,
19609        access_key=None,
19610        bind_interface=None,
19611        egress_filter=None,
19612        endpoint=None,
19613        healthy=None,
19614        id=None,
19615        name=None,
19616        port=None,
19617        port_override=None,
19618        proxy_cluster_id=None,
19619        region=None,
19620        role_arn=None,
19621        role_external_id=None,
19622        secret_access_key=None,
19623        secret_store_id=None,
19624        subdomain=None,
19625        tags=None,
19626    ):
19627        self.access_key = access_key if access_key is not None else ''
19628        '''
19629         The Access Key ID to use to authenticate.
19630        '''
19631        self.bind_interface = bind_interface if bind_interface is not None else ''
19632        '''
19633         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19634        '''
19635        self.egress_filter = egress_filter if egress_filter is not None else ''
19636        '''
19637         A filter applied to the routing logic to pin datasource to nodes.
19638        '''
19639        self.endpoint = endpoint if endpoint is not None else ''
19640        '''
19641         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19642        '''
19643        self.healthy = healthy if healthy is not None else False
19644        '''
19645         True if the datasource is reachable and the credentials are valid.
19646        '''
19647        self.id = id if id is not None else ''
19648        '''
19649         Unique identifier of the Resource.
19650        '''
19651        self.name = name if name is not None else ''
19652        '''
19653         Unique human-readable name of the Resource.
19654        '''
19655        self.port = port if port is not None else 0
19656        '''
19657         The port to dial to initiate a connection from the egress node to this resource.
19658        '''
19659        self.port_override = port_override if port_override is not None else 0
19660        '''
19661         The local port used by clients to connect to this resource.
19662        '''
19663        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19664        '''
19665         ID of the proxy cluster for this resource, if any.
19666        '''
19667        self.region = region if region is not None else ''
19668        '''
19669         The AWS region to connect to.
19670        '''
19671        self.role_arn = role_arn if role_arn is not None else ''
19672        '''
19673         The role to assume after logging in.
19674        '''
19675        self.role_external_id = role_external_id if role_external_id is not None else ''
19676        '''
19677         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19678        '''
19679        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19680        '''
19681         The Secret Access Key to use to authenticate.
19682        '''
19683        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19684        '''
19685         ID of the secret store containing credentials for this resource, if any.
19686        '''
19687        self.subdomain = subdomain if subdomain is not None else ''
19688        '''
19689         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19690        '''
19691        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19692        '''
19693         Tags is a map of key, value pairs.
19694        '''
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.

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.

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

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.

def to_dict(self)
19717    def to_dict(self):
19718        return {
19719            'access_key': self.access_key,
19720            'bind_interface': self.bind_interface,
19721            'egress_filter': self.egress_filter,
19722            'endpoint': self.endpoint,
19723            'healthy': self.healthy,
19724            'id': self.id,
19725            'name': self.name,
19726            'port': self.port,
19727            'port_override': self.port_override,
19728            'proxy_cluster_id': self.proxy_cluster_id,
19729            'region': self.region,
19730            'role_arn': self.role_arn,
19731            'role_external_id': self.role_external_id,
19732            'secret_access_key': self.secret_access_key,
19733            'secret_store_id': self.secret_store_id,
19734            'subdomain': self.subdomain,
19735            'tags': self.tags,
19736        }
@classmethod
def from_dict(cls, d)
19738    @classmethod
19739    def from_dict(cls, d):
19740        return cls(
19741            access_key=d.get('access_key'),
19742            bind_interface=d.get('bind_interface'),
19743            egress_filter=d.get('egress_filter'),
19744            endpoint=d.get('endpoint'),
19745            healthy=d.get('healthy'),
19746            id=d.get('id'),
19747            name=d.get('name'),
19748            port=d.get('port'),
19749            port_override=d.get('port_override'),
19750            proxy_cluster_id=d.get('proxy_cluster_id'),
19751            region=d.get('region'),
19752            role_arn=d.get('role_arn'),
19753            role_external_id=d.get('role_external_id'),
19754            secret_access_key=d.get('secret_access_key'),
19755            secret_store_id=d.get('secret_store_id'),
19756            subdomain=d.get('subdomain'),
19757            tags=d.get('tags'),
19758        )
class NodeCreateResponse:
19761class NodeCreateResponse:
19762    '''
19763         NodeCreateResponse reports how the Nodes were created in the system.
19764    '''
19765    __slots__ = [
19766        'meta',
19767        'node',
19768        'rate_limit',
19769        'token',
19770    ]
19771
19772    def __init__(
19773        self,
19774        meta=None,
19775        node=None,
19776        rate_limit=None,
19777        token=None,
19778    ):
19779        self.meta = meta if meta is not None else None
19780        '''
19781         Reserved for future use.
19782        '''
19783        self.node = node if node is not None else None
19784        '''
19785         The created Node.
19786        '''
19787        self.rate_limit = rate_limit if rate_limit is not None else None
19788        '''
19789         Rate limit information.
19790        '''
19791        self.token = token if token is not None else ''
19792        '''
19793         The auth token generated for the Node. The Node will use this token to
19794         authenticate with the strongDM API.
19795        '''
19796
19797    def __repr__(self):
19798        return '<sdm.NodeCreateResponse ' + \
19799            'meta: ' + repr(self.meta) + ' ' +\
19800            'node: ' + repr(self.node) + ' ' +\
19801            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19802            'token: ' + repr(self.token) + ' ' +\
19803            '>'
19804
19805    def to_dict(self):
19806        return {
19807            'meta': self.meta,
19808            'node': self.node,
19809            'rate_limit': self.rate_limit,
19810            'token': self.token,
19811        }
19812
19813    @classmethod
19814    def from_dict(cls, d):
19815        return cls(
19816            meta=d.get('meta'),
19817            node=d.get('node'),
19818            rate_limit=d.get('rate_limit'),
19819            token=d.get('token'),
19820        )

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
19772    def __init__(
19773        self,
19774        meta=None,
19775        node=None,
19776        rate_limit=None,
19777        token=None,
19778    ):
19779        self.meta = meta if meta is not None else None
19780        '''
19781         Reserved for future use.
19782        '''
19783        self.node = node if node is not None else None
19784        '''
19785         The created Node.
19786        '''
19787        self.rate_limit = rate_limit if rate_limit is not None else None
19788        '''
19789         Rate limit information.
19790        '''
19791        self.token = token if token is not None else ''
19792        '''
19793         The auth token generated for the Node. The Node will use this token to
19794         authenticate with the strongDM API.
19795        '''
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)
19805    def to_dict(self):
19806        return {
19807            'meta': self.meta,
19808            'node': self.node,
19809            'rate_limit': self.rate_limit,
19810            'token': self.token,
19811        }
@classmethod
def from_dict(cls, d)
19813    @classmethod
19814    def from_dict(cls, d):
19815        return cls(
19816            meta=d.get('meta'),
19817            node=d.get('node'),
19818            rate_limit=d.get('rate_limit'),
19819            token=d.get('token'),
19820        )
class NodeDeleteResponse:
19823class NodeDeleteResponse:
19824    '''
19825         NodeDeleteResponse returns information about a Node that was deleted.
19826    '''
19827    __slots__ = [
19828        'meta',
19829        'rate_limit',
19830    ]
19831
19832    def __init__(
19833        self,
19834        meta=None,
19835        rate_limit=None,
19836    ):
19837        self.meta = meta if meta is not None else None
19838        '''
19839         Reserved for future use.
19840        '''
19841        self.rate_limit = rate_limit if rate_limit is not None else None
19842        '''
19843         Rate limit information.
19844        '''
19845
19846    def __repr__(self):
19847        return '<sdm.NodeDeleteResponse ' + \
19848            'meta: ' + repr(self.meta) + ' ' +\
19849            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19850            '>'
19851
19852    def to_dict(self):
19853        return {
19854            'meta': self.meta,
19855            'rate_limit': self.rate_limit,
19856        }
19857
19858    @classmethod
19859    def from_dict(cls, d):
19860        return cls(
19861            meta=d.get('meta'),
19862            rate_limit=d.get('rate_limit'),
19863        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
19832    def __init__(
19833        self,
19834        meta=None,
19835        rate_limit=None,
19836    ):
19837        self.meta = meta if meta is not None else None
19838        '''
19839         Reserved for future use.
19840        '''
19841        self.rate_limit = rate_limit if rate_limit is not None else None
19842        '''
19843         Rate limit information.
19844        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19852    def to_dict(self):
19853        return {
19854            'meta': self.meta,
19855            'rate_limit': self.rate_limit,
19856        }
@classmethod
def from_dict(cls, d)
19858    @classmethod
19859    def from_dict(cls, d):
19860        return cls(
19861            meta=d.get('meta'),
19862            rate_limit=d.get('rate_limit'),
19863        )
class NodeGetResponse:
19866class NodeGetResponse:
19867    '''
19868         NodeGetResponse returns a requested Node.
19869    '''
19870    __slots__ = [
19871        'meta',
19872        'node',
19873        'rate_limit',
19874    ]
19875
19876    def __init__(
19877        self,
19878        meta=None,
19879        node=None,
19880        rate_limit=None,
19881    ):
19882        self.meta = meta if meta is not None else None
19883        '''
19884         Reserved for future use.
19885        '''
19886        self.node = node if node is not None else None
19887        '''
19888         The requested Node.
19889        '''
19890        self.rate_limit = rate_limit if rate_limit is not None else None
19891        '''
19892         Rate limit information.
19893        '''
19894
19895    def __repr__(self):
19896        return '<sdm.NodeGetResponse ' + \
19897            'meta: ' + repr(self.meta) + ' ' +\
19898            'node: ' + repr(self.node) + ' ' +\
19899            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19900            '>'
19901
19902    def to_dict(self):
19903        return {
19904            'meta': self.meta,
19905            'node': self.node,
19906            'rate_limit': self.rate_limit,
19907        }
19908
19909    @classmethod
19910    def from_dict(cls, d):
19911        return cls(
19912            meta=d.get('meta'),
19913            node=d.get('node'),
19914            rate_limit=d.get('rate_limit'),
19915        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
19876    def __init__(
19877        self,
19878        meta=None,
19879        node=None,
19880        rate_limit=None,
19881    ):
19882        self.meta = meta if meta is not None else None
19883        '''
19884         Reserved for future use.
19885        '''
19886        self.node = node if node is not None else None
19887        '''
19888         The requested Node.
19889        '''
19890        self.rate_limit = rate_limit if rate_limit is not None else None
19891        '''
19892         Rate limit information.
19893        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
19902    def to_dict(self):
19903        return {
19904            'meta': self.meta,
19905            'node': self.node,
19906            'rate_limit': self.rate_limit,
19907        }
@classmethod
def from_dict(cls, d)
19909    @classmethod
19910    def from_dict(cls, d):
19911        return cls(
19912            meta=d.get('meta'),
19913            node=d.get('node'),
19914            rate_limit=d.get('rate_limit'),
19915        )
class NodeHistory:
19918class NodeHistory:
19919    '''
19920         NodeHistory records the state of a Node at a given point in time,
19921     where every change (create, update and delete) to a Node produces an
19922     NodeHistory record.
19923    '''
19924    __slots__ = [
19925        'activity_id',
19926        'deleted_at',
19927        'node',
19928        'timestamp',
19929    ]
19930
19931    def __init__(
19932        self,
19933        activity_id=None,
19934        deleted_at=None,
19935        node=None,
19936        timestamp=None,
19937    ):
19938        self.activity_id = activity_id if activity_id is not None else ''
19939        '''
19940         The unique identifier of the Activity that produced this change to the Node.
19941         May be empty for some system-initiated updates.
19942        '''
19943        self.deleted_at = deleted_at if deleted_at is not None else None
19944        '''
19945         If this Node was deleted, the time it was deleted.
19946        '''
19947        self.node = node if node is not None else None
19948        '''
19949         The complete Node state at this time.
19950        '''
19951        self.timestamp = timestamp if timestamp is not None else None
19952        '''
19953         The time at which the Node state was recorded.
19954        '''
19955
19956    def __repr__(self):
19957        return '<sdm.NodeHistory ' + \
19958            'activity_id: ' + repr(self.activity_id) + ' ' +\
19959            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19960            'node: ' + repr(self.node) + ' ' +\
19961            'timestamp: ' + repr(self.timestamp) + ' ' +\
19962            '>'
19963
19964    def to_dict(self):
19965        return {
19966            'activity_id': self.activity_id,
19967            'deleted_at': self.deleted_at,
19968            'node': self.node,
19969            'timestamp': self.timestamp,
19970        }
19971
19972    @classmethod
19973    def from_dict(cls, d):
19974        return cls(
19975            activity_id=d.get('activity_id'),
19976            deleted_at=d.get('deleted_at'),
19977            node=d.get('node'),
19978            timestamp=d.get('timestamp'),
19979        )

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)
19931    def __init__(
19932        self,
19933        activity_id=None,
19934        deleted_at=None,
19935        node=None,
19936        timestamp=None,
19937    ):
19938        self.activity_id = activity_id if activity_id is not None else ''
19939        '''
19940         The unique identifier of the Activity that produced this change to the Node.
19941         May be empty for some system-initiated updates.
19942        '''
19943        self.deleted_at = deleted_at if deleted_at is not None else None
19944        '''
19945         If this Node was deleted, the time it was deleted.
19946        '''
19947        self.node = node if node is not None else None
19948        '''
19949         The complete Node state at this time.
19950        '''
19951        self.timestamp = timestamp if timestamp is not None else None
19952        '''
19953         The time at which the Node state was recorded.
19954        '''
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)
19964    def to_dict(self):
19965        return {
19966            'activity_id': self.activity_id,
19967            'deleted_at': self.deleted_at,
19968            'node': self.node,
19969            'timestamp': self.timestamp,
19970        }
@classmethod
def from_dict(cls, d)
19972    @classmethod
19973    def from_dict(cls, d):
19974        return cls(
19975            activity_id=d.get('activity_id'),
19976            deleted_at=d.get('deleted_at'),
19977            node=d.get('node'),
19978            timestamp=d.get('timestamp'),
19979        )
class NodeMaintenanceWindow:
19982class NodeMaintenanceWindow:
19983    __slots__ = [
19984        'cron_schedule',
19985        'require_idleness',
19986    ]
19987
19988    def __init__(
19989        self,
19990        cron_schedule=None,
19991        require_idleness=None,
19992    ):
19993        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19994        '''
19995         Cron job syntax for when this maintenance window is active. On this schedule, associated
19996         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19997         are represented in UTC.
19998         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19999         Saturday. Not all possible inputs are supported: the month and day of month selections
20000         must be '*'.
20001        '''
20002        self.require_idleness = require_idleness if require_idleness is not None else False
20003        '''
20004         Require Idleness defines whether this window can sever live connections. If true,
20005         this window will not allow a node to be restarted unless it is serving no connections.
20006         If false, given a restart of the node has been requested (for an update, usually), the
20007         node will restart as soon as it enters an allowed day / hour combination. At least one
20008         maintenance window, out of all configured windows for a node, must have this as false.
20009        '''
20010
20011    def __repr__(self):
20012        return '<sdm.NodeMaintenanceWindow ' + \
20013            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
20014            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
20015            '>'
20016
20017    def to_dict(self):
20018        return {
20019            'cron_schedule': self.cron_schedule,
20020            'require_idleness': self.require_idleness,
20021        }
20022
20023    @classmethod
20024    def from_dict(cls, d):
20025        return cls(
20026            cron_schedule=d.get('cron_schedule'),
20027            require_idleness=d.get('require_idleness'),
20028        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
19988    def __init__(
19989        self,
19990        cron_schedule=None,
19991        require_idleness=None,
19992    ):
19993        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19994        '''
19995         Cron job syntax for when this maintenance window is active. On this schedule, associated
19996         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19997         are represented in UTC.
19998         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19999         Saturday. Not all possible inputs are supported: the month and day of month selections
20000         must be '*'.
20001        '''
20002        self.require_idleness = require_idleness if require_idleness is not None else False
20003        '''
20004         Require Idleness defines whether this window can sever live connections. If true,
20005         this window will not allow a node to be restarted unless it is serving no connections.
20006         If false, given a restart of the node has been requested (for an update, usually), the
20007         node will restart as soon as it enters an allowed day / hour combination. At least one
20008         maintenance window, out of all configured windows for a node, must have this as false.
20009        '''
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)
20017    def to_dict(self):
20018        return {
20019            'cron_schedule': self.cron_schedule,
20020            'require_idleness': self.require_idleness,
20021        }
@classmethod
def from_dict(cls, d)
20023    @classmethod
20024    def from_dict(cls, d):
20025        return cls(
20026            cron_schedule=d.get('cron_schedule'),
20027            require_idleness=d.get('require_idleness'),
20028        )
class NodeUpdateResponse:
20031class NodeUpdateResponse:
20032    '''
20033         NodeUpdateResponse returns the fields of a Node after it has been updated by
20034     a NodeUpdateRequest.
20035    '''
20036    __slots__ = [
20037        'meta',
20038        'node',
20039        'rate_limit',
20040    ]
20041
20042    def __init__(
20043        self,
20044        meta=None,
20045        node=None,
20046        rate_limit=None,
20047    ):
20048        self.meta = meta if meta is not None else None
20049        '''
20050         Reserved for future use.
20051        '''
20052        self.node = node if node is not None else None
20053        '''
20054         The updated Node.
20055        '''
20056        self.rate_limit = rate_limit if rate_limit is not None else None
20057        '''
20058         Rate limit information.
20059        '''
20060
20061    def __repr__(self):
20062        return '<sdm.NodeUpdateResponse ' + \
20063            'meta: ' + repr(self.meta) + ' ' +\
20064            'node: ' + repr(self.node) + ' ' +\
20065            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20066            '>'
20067
20068    def to_dict(self):
20069        return {
20070            'meta': self.meta,
20071            'node': self.node,
20072            'rate_limit': self.rate_limit,
20073        }
20074
20075    @classmethod
20076    def from_dict(cls, d):
20077        return cls(
20078            meta=d.get('meta'),
20079            node=d.get('node'),
20080            rate_limit=d.get('rate_limit'),
20081        )

NodeUpdateResponse returns the fields of a Node after it has been updated by a NodeUpdateRequest.

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
20042    def __init__(
20043        self,
20044        meta=None,
20045        node=None,
20046        rate_limit=None,
20047    ):
20048        self.meta = meta if meta is not None else None
20049        '''
20050         Reserved for future use.
20051        '''
20052        self.node = node if node is not None else None
20053        '''
20054         The updated Node.
20055        '''
20056        self.rate_limit = rate_limit if rate_limit is not None else None
20057        '''
20058         Rate limit information.
20059        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

def to_dict(self)
20068    def to_dict(self):
20069        return {
20070            'meta': self.meta,
20071            'node': self.node,
20072            'rate_limit': self.rate_limit,
20073        }
@classmethod
def from_dict(cls, d)
20075    @classmethod
20076    def from_dict(cls, d):
20077        return cls(
20078            meta=d.get('meta'),
20079            node=d.get('node'),
20080            rate_limit=d.get('rate_limit'),
20081        )
class Oracle:
20084class Oracle:
20085    __slots__ = [
20086        'bind_interface',
20087        'database',
20088        'egress_filter',
20089        'healthy',
20090        'hostname',
20091        'id',
20092        'name',
20093        'password',
20094        'port',
20095        'port_override',
20096        'proxy_cluster_id',
20097        'secret_store_id',
20098        'subdomain',
20099        'tags',
20100        'tls_required',
20101        'username',
20102    ]
20103
20104    def __init__(
20105        self,
20106        bind_interface=None,
20107        database=None,
20108        egress_filter=None,
20109        healthy=None,
20110        hostname=None,
20111        id=None,
20112        name=None,
20113        password=None,
20114        port=None,
20115        port_override=None,
20116        proxy_cluster_id=None,
20117        secret_store_id=None,
20118        subdomain=None,
20119        tags=None,
20120        tls_required=None,
20121        username=None,
20122    ):
20123        self.bind_interface = bind_interface if bind_interface is not None else ''
20124        '''
20125         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20126        '''
20127        self.database = database if database is not None else ''
20128        '''
20129         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20130        '''
20131        self.egress_filter = egress_filter if egress_filter is not None else ''
20132        '''
20133         A filter applied to the routing logic to pin datasource to nodes.
20134        '''
20135        self.healthy = healthy if healthy is not None else False
20136        '''
20137         True if the datasource is reachable and the credentials are valid.
20138        '''
20139        self.hostname = hostname if hostname is not None else ''
20140        '''
20141         The host to dial to initiate a connection from the egress node to this resource.
20142        '''
20143        self.id = id if id is not None else ''
20144        '''
20145         Unique identifier of the Resource.
20146        '''
20147        self.name = name if name is not None else ''
20148        '''
20149         Unique human-readable name of the Resource.
20150        '''
20151        self.password = password if password is not None else ''
20152        '''
20153         The password to authenticate with.
20154        '''
20155        self.port = port if port is not None else 0
20156        '''
20157         The port to dial to initiate a connection from the egress node to this resource.
20158        '''
20159        self.port_override = port_override if port_override is not None else 0
20160        '''
20161         The local port used by clients to connect to this resource.
20162        '''
20163        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20164        '''
20165         ID of the proxy cluster for this resource, if any.
20166        '''
20167        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20168        '''
20169         ID of the secret store containing credentials for this resource, if any.
20170        '''
20171        self.subdomain = subdomain if subdomain is not None else ''
20172        '''
20173         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20174        '''
20175        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20176        '''
20177         Tags is a map of key, value pairs.
20178        '''
20179        self.tls_required = tls_required if tls_required is not None else False
20180        '''
20181         If set, TLS must be used to connect to this resource.
20182        '''
20183        self.username = username if username is not None else ''
20184        '''
20185         The username to authenticate with.
20186        '''
20187
20188    def __repr__(self):
20189        return '<sdm.Oracle ' + \
20190            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20191            'database: ' + repr(self.database) + ' ' +\
20192            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20193            'healthy: ' + repr(self.healthy) + ' ' +\
20194            'hostname: ' + repr(self.hostname) + ' ' +\
20195            'id: ' + repr(self.id) + ' ' +\
20196            'name: ' + repr(self.name) + ' ' +\
20197            'password: ' + repr(self.password) + ' ' +\
20198            'port: ' + repr(self.port) + ' ' +\
20199            'port_override: ' + repr(self.port_override) + ' ' +\
20200            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20201            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20202            'subdomain: ' + repr(self.subdomain) + ' ' +\
20203            'tags: ' + repr(self.tags) + ' ' +\
20204            'tls_required: ' + repr(self.tls_required) + ' ' +\
20205            'username: ' + repr(self.username) + ' ' +\
20206            '>'
20207
20208    def to_dict(self):
20209        return {
20210            'bind_interface': self.bind_interface,
20211            'database': self.database,
20212            'egress_filter': self.egress_filter,
20213            'healthy': self.healthy,
20214            'hostname': self.hostname,
20215            'id': self.id,
20216            'name': self.name,
20217            'password': self.password,
20218            'port': self.port,
20219            'port_override': self.port_override,
20220            'proxy_cluster_id': self.proxy_cluster_id,
20221            'secret_store_id': self.secret_store_id,
20222            'subdomain': self.subdomain,
20223            'tags': self.tags,
20224            'tls_required': self.tls_required,
20225            'username': self.username,
20226        }
20227
20228    @classmethod
20229    def from_dict(cls, d):
20230        return cls(
20231            bind_interface=d.get('bind_interface'),
20232            database=d.get('database'),
20233            egress_filter=d.get('egress_filter'),
20234            healthy=d.get('healthy'),
20235            hostname=d.get('hostname'),
20236            id=d.get('id'),
20237            name=d.get('name'),
20238            password=d.get('password'),
20239            port=d.get('port'),
20240            port_override=d.get('port_override'),
20241            proxy_cluster_id=d.get('proxy_cluster_id'),
20242            secret_store_id=d.get('secret_store_id'),
20243            subdomain=d.get('subdomain'),
20244            tags=d.get('tags'),
20245            tls_required=d.get('tls_required'),
20246            username=d.get('username'),
20247        )
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)
20104    def __init__(
20105        self,
20106        bind_interface=None,
20107        database=None,
20108        egress_filter=None,
20109        healthy=None,
20110        hostname=None,
20111        id=None,
20112        name=None,
20113        password=None,
20114        port=None,
20115        port_override=None,
20116        proxy_cluster_id=None,
20117        secret_store_id=None,
20118        subdomain=None,
20119        tags=None,
20120        tls_required=None,
20121        username=None,
20122    ):
20123        self.bind_interface = bind_interface if bind_interface is not None else ''
20124        '''
20125         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20126        '''
20127        self.database = database if database is not None else ''
20128        '''
20129         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20130        '''
20131        self.egress_filter = egress_filter if egress_filter is not None else ''
20132        '''
20133         A filter applied to the routing logic to pin datasource to nodes.
20134        '''
20135        self.healthy = healthy if healthy is not None else False
20136        '''
20137         True if the datasource is reachable and the credentials are valid.
20138        '''
20139        self.hostname = hostname if hostname is not None else ''
20140        '''
20141         The host to dial to initiate a connection from the egress node to this resource.
20142        '''
20143        self.id = id if id is not None else ''
20144        '''
20145         Unique identifier of the Resource.
20146        '''
20147        self.name = name if name is not None else ''
20148        '''
20149         Unique human-readable name of the Resource.
20150        '''
20151        self.password = password if password is not None else ''
20152        '''
20153         The password to authenticate with.
20154        '''
20155        self.port = port if port is not None else 0
20156        '''
20157         The port to dial to initiate a connection from the egress node to this resource.
20158        '''
20159        self.port_override = port_override if port_override is not None else 0
20160        '''
20161         The local port used by clients to connect to this resource.
20162        '''
20163        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20164        '''
20165         ID of the proxy cluster for this resource, if any.
20166        '''
20167        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20168        '''
20169         ID of the secret store containing credentials for this resource, if any.
20170        '''
20171        self.subdomain = subdomain if subdomain is not None else ''
20172        '''
20173         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20174        '''
20175        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20176        '''
20177         Tags is a map of key, value pairs.
20178        '''
20179        self.tls_required = tls_required if tls_required is not None else False
20180        '''
20181         If set, TLS must be used to connect to this resource.
20182        '''
20183        self.username = username if username is not None else ''
20184        '''
20185         The username to authenticate with.
20186        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
20208    def to_dict(self):
20209        return {
20210            'bind_interface': self.bind_interface,
20211            'database': self.database,
20212            'egress_filter': self.egress_filter,
20213            'healthy': self.healthy,
20214            'hostname': self.hostname,
20215            'id': self.id,
20216            'name': self.name,
20217            'password': self.password,
20218            'port': self.port,
20219            'port_override': self.port_override,
20220            'proxy_cluster_id': self.proxy_cluster_id,
20221            'secret_store_id': self.secret_store_id,
20222            'subdomain': self.subdomain,
20223            'tags': self.tags,
20224            'tls_required': self.tls_required,
20225            'username': self.username,
20226        }
@classmethod
def from_dict(cls, d)
20228    @classmethod
20229    def from_dict(cls, d):
20230        return cls(
20231            bind_interface=d.get('bind_interface'),
20232            database=d.get('database'),
20233            egress_filter=d.get('egress_filter'),
20234            healthy=d.get('healthy'),
20235            hostname=d.get('hostname'),
20236            id=d.get('id'),
20237            name=d.get('name'),
20238            password=d.get('password'),
20239            port=d.get('port'),
20240            port_override=d.get('port_override'),
20241            proxy_cluster_id=d.get('proxy_cluster_id'),
20242            secret_store_id=d.get('secret_store_id'),
20243            subdomain=d.get('subdomain'),
20244            tags=d.get('tags'),
20245            tls_required=d.get('tls_required'),
20246            username=d.get('username'),
20247        )
class OracleNNE:
20250class OracleNNE:
20251    __slots__ = [
20252        'bind_interface',
20253        'database',
20254        'egress_filter',
20255        'healthy',
20256        'hostname',
20257        'id',
20258        'name',
20259        'password',
20260        'port',
20261        'port_override',
20262        'proxy_cluster_id',
20263        'secret_store_id',
20264        'subdomain',
20265        'tags',
20266        'username',
20267    ]
20268
20269    def __init__(
20270        self,
20271        bind_interface=None,
20272        database=None,
20273        egress_filter=None,
20274        healthy=None,
20275        hostname=None,
20276        id=None,
20277        name=None,
20278        password=None,
20279        port=None,
20280        port_override=None,
20281        proxy_cluster_id=None,
20282        secret_store_id=None,
20283        subdomain=None,
20284        tags=None,
20285        username=None,
20286    ):
20287        self.bind_interface = bind_interface if bind_interface is not None else ''
20288        '''
20289         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20290        '''
20291        self.database = database if database is not None else ''
20292        '''
20293         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20294        '''
20295        self.egress_filter = egress_filter if egress_filter is not None else ''
20296        '''
20297         A filter applied to the routing logic to pin datasource to nodes.
20298        '''
20299        self.healthy = healthy if healthy is not None else False
20300        '''
20301         True if the datasource is reachable and the credentials are valid.
20302        '''
20303        self.hostname = hostname if hostname is not None else ''
20304        '''
20305         The host to dial to initiate a connection from the egress node to this resource.
20306        '''
20307        self.id = id if id is not None else ''
20308        '''
20309         Unique identifier of the Resource.
20310        '''
20311        self.name = name if name is not None else ''
20312        '''
20313         Unique human-readable name of the Resource.
20314        '''
20315        self.password = password if password is not None else ''
20316        '''
20317         The password to authenticate with.
20318        '''
20319        self.port = port if port is not None else 0
20320        '''
20321         The port to dial to initiate a connection from the egress node to this resource.
20322        '''
20323        self.port_override = port_override if port_override is not None else 0
20324        '''
20325         The local port used by clients to connect to this resource.
20326        '''
20327        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20328        '''
20329         ID of the proxy cluster for this resource, if any.
20330        '''
20331        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20332        '''
20333         ID of the secret store containing credentials for this resource, if any.
20334        '''
20335        self.subdomain = subdomain if subdomain is not None else ''
20336        '''
20337         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20338        '''
20339        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20340        '''
20341         Tags is a map of key, value pairs.
20342        '''
20343        self.username = username if username is not None else ''
20344        '''
20345         The username to authenticate with.
20346        '''
20347
20348    def __repr__(self):
20349        return '<sdm.OracleNNE ' + \
20350            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20351            'database: ' + repr(self.database) + ' ' +\
20352            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20353            'healthy: ' + repr(self.healthy) + ' ' +\
20354            'hostname: ' + repr(self.hostname) + ' ' +\
20355            'id: ' + repr(self.id) + ' ' +\
20356            'name: ' + repr(self.name) + ' ' +\
20357            'password: ' + repr(self.password) + ' ' +\
20358            'port: ' + repr(self.port) + ' ' +\
20359            'port_override: ' + repr(self.port_override) + ' ' +\
20360            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20361            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20362            'subdomain: ' + repr(self.subdomain) + ' ' +\
20363            'tags: ' + repr(self.tags) + ' ' +\
20364            'username: ' + repr(self.username) + ' ' +\
20365            '>'
20366
20367    def to_dict(self):
20368        return {
20369            'bind_interface': self.bind_interface,
20370            'database': self.database,
20371            'egress_filter': self.egress_filter,
20372            'healthy': self.healthy,
20373            'hostname': self.hostname,
20374            'id': self.id,
20375            'name': self.name,
20376            'password': self.password,
20377            'port': self.port,
20378            'port_override': self.port_override,
20379            'proxy_cluster_id': self.proxy_cluster_id,
20380            'secret_store_id': self.secret_store_id,
20381            'subdomain': self.subdomain,
20382            'tags': self.tags,
20383            'username': self.username,
20384        }
20385
20386    @classmethod
20387    def from_dict(cls, d):
20388        return cls(
20389            bind_interface=d.get('bind_interface'),
20390            database=d.get('database'),
20391            egress_filter=d.get('egress_filter'),
20392            healthy=d.get('healthy'),
20393            hostname=d.get('hostname'),
20394            id=d.get('id'),
20395            name=d.get('name'),
20396            password=d.get('password'),
20397            port=d.get('port'),
20398            port_override=d.get('port_override'),
20399            proxy_cluster_id=d.get('proxy_cluster_id'),
20400            secret_store_id=d.get('secret_store_id'),
20401            subdomain=d.get('subdomain'),
20402            tags=d.get('tags'),
20403            username=d.get('username'),
20404        )
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, username=None)
20269    def __init__(
20270        self,
20271        bind_interface=None,
20272        database=None,
20273        egress_filter=None,
20274        healthy=None,
20275        hostname=None,
20276        id=None,
20277        name=None,
20278        password=None,
20279        port=None,
20280        port_override=None,
20281        proxy_cluster_id=None,
20282        secret_store_id=None,
20283        subdomain=None,
20284        tags=None,
20285        username=None,
20286    ):
20287        self.bind_interface = bind_interface if bind_interface is not None else ''
20288        '''
20289         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20290        '''
20291        self.database = database if database is not None else ''
20292        '''
20293         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20294        '''
20295        self.egress_filter = egress_filter if egress_filter is not None else ''
20296        '''
20297         A filter applied to the routing logic to pin datasource to nodes.
20298        '''
20299        self.healthy = healthy if healthy is not None else False
20300        '''
20301         True if the datasource is reachable and the credentials are valid.
20302        '''
20303        self.hostname = hostname if hostname is not None else ''
20304        '''
20305         The host to dial to initiate a connection from the egress node to this resource.
20306        '''
20307        self.id = id if id is not None else ''
20308        '''
20309         Unique identifier of the Resource.
20310        '''
20311        self.name = name if name is not None else ''
20312        '''
20313         Unique human-readable name of the Resource.
20314        '''
20315        self.password = password if password is not None else ''
20316        '''
20317         The password to authenticate with.
20318        '''
20319        self.port = port if port is not None else 0
20320        '''
20321         The port to dial to initiate a connection from the egress node to this resource.
20322        '''
20323        self.port_override = port_override if port_override is not None else 0
20324        '''
20325         The local port used by clients to connect to this resource.
20326        '''
20327        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20328        '''
20329         ID of the proxy cluster for this resource, if any.
20330        '''
20331        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20332        '''
20333         ID of the secret store containing credentials for this resource, if any.
20334        '''
20335        self.subdomain = subdomain if subdomain is not None else ''
20336        '''
20337         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20338        '''
20339        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20340        '''
20341         Tags is a map of key, value pairs.
20342        '''
20343        self.username = username if username is not None else ''
20344        '''
20345         The username to authenticate with.
20346        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
20367    def to_dict(self):
20368        return {
20369            'bind_interface': self.bind_interface,
20370            'database': self.database,
20371            'egress_filter': self.egress_filter,
20372            'healthy': self.healthy,
20373            'hostname': self.hostname,
20374            'id': self.id,
20375            'name': self.name,
20376            'password': self.password,
20377            'port': self.port,
20378            'port_override': self.port_override,
20379            'proxy_cluster_id': self.proxy_cluster_id,
20380            'secret_store_id': self.secret_store_id,
20381            'subdomain': self.subdomain,
20382            'tags': self.tags,
20383            'username': self.username,
20384        }
@classmethod
def from_dict(cls, d)
20386    @classmethod
20387    def from_dict(cls, d):
20388        return cls(
20389            bind_interface=d.get('bind_interface'),
20390            database=d.get('database'),
20391            egress_filter=d.get('egress_filter'),
20392            healthy=d.get('healthy'),
20393            hostname=d.get('hostname'),
20394            id=d.get('id'),
20395            name=d.get('name'),
20396            password=d.get('password'),
20397            port=d.get('port'),
20398            port_override=d.get('port_override'),
20399            proxy_cluster_id=d.get('proxy_cluster_id'),
20400            secret_store_id=d.get('secret_store_id'),
20401            subdomain=d.get('subdomain'),
20402            tags=d.get('tags'),
20403            username=d.get('username'),
20404        )
class Organization:
20407class Organization:
20408    __slots__ = [
20409        'auth_provider',
20410        'created_at',
20411        'device_trust_enabled',
20412        'device_trust_provider',
20413        'discard_replays',
20414        'enforce_single_session',
20415        'idle_timeout',
20416        'idle_timeout_enabled',
20417        'kind',
20418        'log_config',
20419        'log_local_encoder',
20420        'log_local_format',
20421        'log_local_storage',
20422        'log_remote_encoder',
20423        'log_socket_path',
20424        'log_tcp_address',
20425        'loopback_range',
20426        'mfa_enabled',
20427        'mfa_provider',
20428        'name',
20429        'public_key_pem',
20430        'require_secret_store',
20431        'saml_metadata_url',
20432        'scim_provider',
20433        'sensitive_label',
20434        'session_timeout',
20435        'session_timeout_enabled',
20436        'ssh_certificate_authority_public_key',
20437        'ssh_certificate_authority_updated_at',
20438        'updated_at',
20439        'websites_subdomain',
20440    ]
20441
20442    def __init__(
20443        self,
20444        auth_provider=None,
20445        created_at=None,
20446        device_trust_enabled=None,
20447        device_trust_provider=None,
20448        discard_replays=None,
20449        enforce_single_session=None,
20450        idle_timeout=None,
20451        idle_timeout_enabled=None,
20452        kind=None,
20453        log_config=None,
20454        log_local_encoder=None,
20455        log_local_format=None,
20456        log_local_storage=None,
20457        log_remote_encoder=None,
20458        log_socket_path=None,
20459        log_tcp_address=None,
20460        loopback_range=None,
20461        mfa_enabled=None,
20462        mfa_provider=None,
20463        name=None,
20464        public_key_pem=None,
20465        require_secret_store=None,
20466        saml_metadata_url=None,
20467        scim_provider=None,
20468        sensitive_label=None,
20469        session_timeout=None,
20470        session_timeout_enabled=None,
20471        ssh_certificate_authority_public_key=None,
20472        ssh_certificate_authority_updated_at=None,
20473        updated_at=None,
20474        websites_subdomain=None,
20475    ):
20476        self.auth_provider = auth_provider if auth_provider is not None else ''
20477        '''
20478         The Organization's authentication provider, one of the AuthProvider constants.
20479        '''
20480        self.created_at = created_at if created_at is not None else None
20481        '''
20482         The time at which the Organization was created.
20483        '''
20484        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20485        '''
20486         Indicates if the Organization has device trust enabled.
20487        '''
20488        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20489        '''
20490         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20491        '''
20492        self.discard_replays = discard_replays if discard_replays is not None else False
20493        '''
20494         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20495         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
20496        '''
20497        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20498        '''
20499         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20500        '''
20501        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20502        '''
20503         The Organization's idle timeout, if enabled.
20504        '''
20505        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20506        '''
20507         Indicates if the Organization has idle timeouts enabled.
20508        '''
20509        self.kind = kind if kind is not None else ''
20510        '''
20511         The Organization's type, one of the OrgKind constants.
20512        '''
20513        self.log_config = log_config if log_config is not None else None
20514        '''
20515         The Organization's logging settings
20516        '''
20517        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20518        '''
20519         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20520         Deprecated: use log_config.local_encoder instead
20521        '''
20522        self.log_local_format = log_local_format if log_local_format is not None else ''
20523        '''
20524         The Organization's local log format, one of the LogLocalFormat constants.
20525         Deprecated: use log_config.local_format instead
20526        '''
20527        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20528        '''
20529         The Organization's local log storage, one of the LogLocalStorage constants.
20530         Deprecated: use log_config.local_storage instead
20531        '''
20532        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20533        '''
20534         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20535         Deprecated: use categories specific log_config.categories[].remote_encoder instead
20536        '''
20537        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20538        '''
20539         The Organization's socket path for Socket local log storage.
20540         Deprecated: use log_config.local_socket_path instead
20541        '''
20542        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20543        '''
20544         The Organization's TCP address for TCP or Syslog local log storage.
20545         Deprecated: use log_config.local_tcp_address instead
20546        '''
20547        self.loopback_range = loopback_range if loopback_range is not None else ''
20548        '''
20549         The Organization's loopback range.
20550        '''
20551        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20552        '''
20553         Indicates if the Organization has multi-factor authentication enabled.
20554        '''
20555        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20556        '''
20557         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20558        '''
20559        self.name = name if name is not None else ''
20560        '''
20561         The Organization's name.
20562        '''
20563        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20564        '''
20565         The Organization's public key PEM for encrypting remote logs.
20566         Deprecated: use log_config.public_key instead
20567        '''
20568        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20569        '''
20570         Indicates if the Organization requires secret stores.
20571        '''
20572        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20573        '''
20574         The Organization's URL for SAML metadata.
20575        '''
20576        self.scim_provider = scim_provider if scim_provider is not None else ''
20577        '''
20578         The Organization's SCIM provider, one of the SCIMProvider constants.
20579        '''
20580        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20581        '''
20582         The Organization's label for sensitive resources.
20583        '''
20584        self.session_timeout = session_timeout if session_timeout is not None else None
20585        '''
20586         The Organization's session timeout, if enabled.
20587        '''
20588        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20589        '''
20590         Indicates if the Organization has session timeouts enabled.
20591        '''
20592        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20593        '''
20594         The Organization's SSH certificate authority public key.
20595        '''
20596        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20597        '''
20598         The time at which the Organization's SSH certificate authority was last updated.
20599        '''
20600        self.updated_at = updated_at if updated_at is not None else None
20601        '''
20602         The time at which the Organization was last updated.
20603        '''
20604        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20605        '''
20606         The Organization's web site domain.
20607        '''
20608
20609    def __repr__(self):
20610        return '<sdm.Organization ' + \
20611            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
20612            'created_at: ' + repr(self.created_at) + ' ' +\
20613            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
20614            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
20615            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
20616            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
20617            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
20618            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
20619            'kind: ' + repr(self.kind) + ' ' +\
20620            'log_config: ' + repr(self.log_config) + ' ' +\
20621            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
20622            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
20623            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
20624            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
20625            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
20626            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
20627            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
20628            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
20629            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
20630            'name: ' + repr(self.name) + ' ' +\
20631            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
20632            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
20633            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
20634            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
20635            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
20636            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
20637            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
20638            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
20639            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
20640            'updated_at: ' + repr(self.updated_at) + ' ' +\
20641            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
20642            '>'
20643
20644    def to_dict(self):
20645        return {
20646            'auth_provider': self.auth_provider,
20647            'created_at': self.created_at,
20648            'device_trust_enabled': self.device_trust_enabled,
20649            'device_trust_provider': self.device_trust_provider,
20650            'discard_replays': self.discard_replays,
20651            'enforce_single_session': self.enforce_single_session,
20652            'idle_timeout': self.idle_timeout,
20653            'idle_timeout_enabled': self.idle_timeout_enabled,
20654            'kind': self.kind,
20655            'log_config': self.log_config,
20656            'log_local_encoder': self.log_local_encoder,
20657            'log_local_format': self.log_local_format,
20658            'log_local_storage': self.log_local_storage,
20659            'log_remote_encoder': self.log_remote_encoder,
20660            'log_socket_path': self.log_socket_path,
20661            'log_tcp_address': self.log_tcp_address,
20662            'loopback_range': self.loopback_range,
20663            'mfa_enabled': self.mfa_enabled,
20664            'mfa_provider': self.mfa_provider,
20665            'name': self.name,
20666            'public_key_pem': self.public_key_pem,
20667            'require_secret_store': self.require_secret_store,
20668            'saml_metadata_url': self.saml_metadata_url,
20669            'scim_provider': self.scim_provider,
20670            'sensitive_label': self.sensitive_label,
20671            'session_timeout': self.session_timeout,
20672            'session_timeout_enabled': self.session_timeout_enabled,
20673            'ssh_certificate_authority_public_key':
20674            self.ssh_certificate_authority_public_key,
20675            'ssh_certificate_authority_updated_at':
20676            self.ssh_certificate_authority_updated_at,
20677            'updated_at': self.updated_at,
20678            'websites_subdomain': self.websites_subdomain,
20679        }
20680
20681    @classmethod
20682    def from_dict(cls, d):
20683        return cls(
20684            auth_provider=d.get('auth_provider'),
20685            created_at=d.get('created_at'),
20686            device_trust_enabled=d.get('device_trust_enabled'),
20687            device_trust_provider=d.get('device_trust_provider'),
20688            discard_replays=d.get('discard_replays'),
20689            enforce_single_session=d.get('enforce_single_session'),
20690            idle_timeout=d.get('idle_timeout'),
20691            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20692            kind=d.get('kind'),
20693            log_config=d.get('log_config'),
20694            log_local_encoder=d.get('log_local_encoder'),
20695            log_local_format=d.get('log_local_format'),
20696            log_local_storage=d.get('log_local_storage'),
20697            log_remote_encoder=d.get('log_remote_encoder'),
20698            log_socket_path=d.get('log_socket_path'),
20699            log_tcp_address=d.get('log_tcp_address'),
20700            loopback_range=d.get('loopback_range'),
20701            mfa_enabled=d.get('mfa_enabled'),
20702            mfa_provider=d.get('mfa_provider'),
20703            name=d.get('name'),
20704            public_key_pem=d.get('public_key_pem'),
20705            require_secret_store=d.get('require_secret_store'),
20706            saml_metadata_url=d.get('saml_metadata_url'),
20707            scim_provider=d.get('scim_provider'),
20708            sensitive_label=d.get('sensitive_label'),
20709            session_timeout=d.get('session_timeout'),
20710            session_timeout_enabled=d.get('session_timeout_enabled'),
20711            ssh_certificate_authority_public_key=d.get(
20712                'ssh_certificate_authority_public_key'),
20713            ssh_certificate_authority_updated_at=d.get(
20714                'ssh_certificate_authority_updated_at'),
20715            updated_at=d.get('updated_at'),
20716            websites_subdomain=d.get('websites_subdomain'),
20717        )
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)
20442    def __init__(
20443        self,
20444        auth_provider=None,
20445        created_at=None,
20446        device_trust_enabled=None,
20447        device_trust_provider=None,
20448        discard_replays=None,
20449        enforce_single_session=None,
20450        idle_timeout=None,
20451        idle_timeout_enabled=None,
20452        kind=None,
20453        log_config=None,
20454        log_local_encoder=None,
20455        log_local_format=None,
20456        log_local_storage=None,
20457        log_remote_encoder=None,
20458        log_socket_path=None,
20459        log_tcp_address=None,
20460        loopback_range=None,
20461        mfa_enabled=None,
20462        mfa_provider=None,
20463        name=None,
20464        public_key_pem=None,
20465        require_secret_store=None,
20466        saml_metadata_url=None,
20467        scim_provider=None,
20468        sensitive_label=None,
20469        session_timeout=None,
20470        session_timeout_enabled=None,
20471        ssh_certificate_authority_public_key=None,
20472        ssh_certificate_authority_updated_at=None,
20473        updated_at=None,
20474        websites_subdomain=None,
20475    ):
20476        self.auth_provider = auth_provider if auth_provider is not None else ''
20477        '''
20478         The Organization's authentication provider, one of the AuthProvider constants.
20479        '''
20480        self.created_at = created_at if created_at is not None else None
20481        '''
20482         The time at which the Organization was created.
20483        '''
20484        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20485        '''
20486         Indicates if the Organization has device trust enabled.
20487        '''
20488        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20489        '''
20490         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20491        '''
20492        self.discard_replays = discard_replays if discard_replays is not None else False
20493        '''
20494         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20495         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
20496        '''
20497        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20498        '''
20499         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20500        '''
20501        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20502        '''
20503         The Organization's idle timeout, if enabled.
20504        '''
20505        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20506        '''
20507         Indicates if the Organization has idle timeouts enabled.
20508        '''
20509        self.kind = kind if kind is not None else ''
20510        '''
20511         The Organization's type, one of the OrgKind constants.
20512        '''
20513        self.log_config = log_config if log_config is not None else None
20514        '''
20515         The Organization's logging settings
20516        '''
20517        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20518        '''
20519         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20520         Deprecated: use log_config.local_encoder instead
20521        '''
20522        self.log_local_format = log_local_format if log_local_format is not None else ''
20523        '''
20524         The Organization's local log format, one of the LogLocalFormat constants.
20525         Deprecated: use log_config.local_format instead
20526        '''
20527        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20528        '''
20529         The Organization's local log storage, one of the LogLocalStorage constants.
20530         Deprecated: use log_config.local_storage instead
20531        '''
20532        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20533        '''
20534         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20535         Deprecated: use categories specific log_config.categories[].remote_encoder instead
20536        '''
20537        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20538        '''
20539         The Organization's socket path for Socket local log storage.
20540         Deprecated: use log_config.local_socket_path instead
20541        '''
20542        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20543        '''
20544         The Organization's TCP address for TCP or Syslog local log storage.
20545         Deprecated: use log_config.local_tcp_address instead
20546        '''
20547        self.loopback_range = loopback_range if loopback_range is not None else ''
20548        '''
20549         The Organization's loopback range.
20550        '''
20551        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20552        '''
20553         Indicates if the Organization has multi-factor authentication enabled.
20554        '''
20555        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20556        '''
20557         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20558        '''
20559        self.name = name if name is not None else ''
20560        '''
20561         The Organization's name.
20562        '''
20563        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20564        '''
20565         The Organization's public key PEM for encrypting remote logs.
20566         Deprecated: use log_config.public_key instead
20567        '''
20568        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20569        '''
20570         Indicates if the Organization requires secret stores.
20571        '''
20572        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20573        '''
20574         The Organization's URL for SAML metadata.
20575        '''
20576        self.scim_provider = scim_provider if scim_provider is not None else ''
20577        '''
20578         The Organization's SCIM provider, one of the SCIMProvider constants.
20579        '''
20580        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20581        '''
20582         The Organization's label for sensitive resources.
20583        '''
20584        self.session_timeout = session_timeout if session_timeout is not None else None
20585        '''
20586         The Organization's session timeout, if enabled.
20587        '''
20588        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20589        '''
20590         Indicates if the Organization has session timeouts enabled.
20591        '''
20592        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20593        '''
20594         The Organization's SSH certificate authority public key.
20595        '''
20596        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20597        '''
20598         The time at which the Organization's SSH certificate authority was last updated.
20599        '''
20600        self.updated_at = updated_at if updated_at is not None else None
20601        '''
20602         The time at which the Organization was last updated.
20603        '''
20604        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20605        '''
20606         The Organization's web site domain.
20607        '''
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)
20644    def to_dict(self):
20645        return {
20646            'auth_provider': self.auth_provider,
20647            'created_at': self.created_at,
20648            'device_trust_enabled': self.device_trust_enabled,
20649            'device_trust_provider': self.device_trust_provider,
20650            'discard_replays': self.discard_replays,
20651            'enforce_single_session': self.enforce_single_session,
20652            'idle_timeout': self.idle_timeout,
20653            'idle_timeout_enabled': self.idle_timeout_enabled,
20654            'kind': self.kind,
20655            'log_config': self.log_config,
20656            'log_local_encoder': self.log_local_encoder,
20657            'log_local_format': self.log_local_format,
20658            'log_local_storage': self.log_local_storage,
20659            'log_remote_encoder': self.log_remote_encoder,
20660            'log_socket_path': self.log_socket_path,
20661            'log_tcp_address': self.log_tcp_address,
20662            'loopback_range': self.loopback_range,
20663            'mfa_enabled': self.mfa_enabled,
20664            'mfa_provider': self.mfa_provider,
20665            'name': self.name,
20666            'public_key_pem': self.public_key_pem,
20667            'require_secret_store': self.require_secret_store,
20668            'saml_metadata_url': self.saml_metadata_url,
20669            'scim_provider': self.scim_provider,
20670            'sensitive_label': self.sensitive_label,
20671            'session_timeout': self.session_timeout,
20672            'session_timeout_enabled': self.session_timeout_enabled,
20673            'ssh_certificate_authority_public_key':
20674            self.ssh_certificate_authority_public_key,
20675            'ssh_certificate_authority_updated_at':
20676            self.ssh_certificate_authority_updated_at,
20677            'updated_at': self.updated_at,
20678            'websites_subdomain': self.websites_subdomain,
20679        }
@classmethod
def from_dict(cls, d)
20681    @classmethod
20682    def from_dict(cls, d):
20683        return cls(
20684            auth_provider=d.get('auth_provider'),
20685            created_at=d.get('created_at'),
20686            device_trust_enabled=d.get('device_trust_enabled'),
20687            device_trust_provider=d.get('device_trust_provider'),
20688            discard_replays=d.get('discard_replays'),
20689            enforce_single_session=d.get('enforce_single_session'),
20690            idle_timeout=d.get('idle_timeout'),
20691            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20692            kind=d.get('kind'),
20693            log_config=d.get('log_config'),
20694            log_local_encoder=d.get('log_local_encoder'),
20695            log_local_format=d.get('log_local_format'),
20696            log_local_storage=d.get('log_local_storage'),
20697            log_remote_encoder=d.get('log_remote_encoder'),
20698            log_socket_path=d.get('log_socket_path'),
20699            log_tcp_address=d.get('log_tcp_address'),
20700            loopback_range=d.get('loopback_range'),
20701            mfa_enabled=d.get('mfa_enabled'),
20702            mfa_provider=d.get('mfa_provider'),
20703            name=d.get('name'),
20704            public_key_pem=d.get('public_key_pem'),
20705            require_secret_store=d.get('require_secret_store'),
20706            saml_metadata_url=d.get('saml_metadata_url'),
20707            scim_provider=d.get('scim_provider'),
20708            sensitive_label=d.get('sensitive_label'),
20709            session_timeout=d.get('session_timeout'),
20710            session_timeout_enabled=d.get('session_timeout_enabled'),
20711            ssh_certificate_authority_public_key=d.get(
20712                'ssh_certificate_authority_public_key'),
20713            ssh_certificate_authority_updated_at=d.get(
20714                'ssh_certificate_authority_updated_at'),
20715            updated_at=d.get('updated_at'),
20716            websites_subdomain=d.get('websites_subdomain'),
20717        )
class OrganizationHistoryRecord:
20720class OrganizationHistoryRecord:
20721    '''
20722         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20723     where every change to an Organization produces an OrganizationHistoryRecord.
20724    '''
20725    __slots__ = [
20726        'activity_id',
20727        'organization',
20728        'timestamp',
20729    ]
20730
20731    def __init__(
20732        self,
20733        activity_id=None,
20734        organization=None,
20735        timestamp=None,
20736    ):
20737        self.activity_id = activity_id if activity_id is not None else ''
20738        '''
20739         The unique identifier of the Activity that produced this change to the Organization.
20740         May be empty for some system-initiated organization updates.
20741        '''
20742        self.organization = organization if organization is not None else None
20743        '''
20744         The complete Organization state at this time.
20745        '''
20746        self.timestamp = timestamp if timestamp is not None else None
20747        '''
20748         The time at which the Organization state was recorded.
20749        '''
20750
20751    def __repr__(self):
20752        return '<sdm.OrganizationHistoryRecord ' + \
20753            'activity_id: ' + repr(self.activity_id) + ' ' +\
20754            'organization: ' + repr(self.organization) + ' ' +\
20755            'timestamp: ' + repr(self.timestamp) + ' ' +\
20756            '>'
20757
20758    def to_dict(self):
20759        return {
20760            'activity_id': self.activity_id,
20761            'organization': self.organization,
20762            'timestamp': self.timestamp,
20763        }
20764
20765    @classmethod
20766    def from_dict(cls, d):
20767        return cls(
20768            activity_id=d.get('activity_id'),
20769            organization=d.get('organization'),
20770            timestamp=d.get('timestamp'),
20771        )

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)
20731    def __init__(
20732        self,
20733        activity_id=None,
20734        organization=None,
20735        timestamp=None,
20736    ):
20737        self.activity_id = activity_id if activity_id is not None else ''
20738        '''
20739         The unique identifier of the Activity that produced this change to the Organization.
20740         May be empty for some system-initiated organization updates.
20741        '''
20742        self.organization = organization if organization is not None else None
20743        '''
20744         The complete Organization state at this time.
20745        '''
20746        self.timestamp = timestamp if timestamp is not None else None
20747        '''
20748         The time at which the Organization state was recorded.
20749        '''
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)
20758    def to_dict(self):
20759        return {
20760            'activity_id': self.activity_id,
20761            'organization': self.organization,
20762            'timestamp': self.timestamp,
20763        }
@classmethod
def from_dict(cls, d)
20765    @classmethod
20766    def from_dict(cls, d):
20767        return cls(
20768            activity_id=d.get('activity_id'),
20769            organization=d.get('organization'),
20770            timestamp=d.get('timestamp'),
20771        )
class PeeringGroup:
20774class PeeringGroup:
20775    '''
20776         PeeringGroups are the building blocks used for explicit network topology making.
20777     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20778    '''
20779    __slots__ = [
20780        'id',
20781        'name',
20782    ]
20783
20784    def __init__(
20785        self,
20786        id=None,
20787        name=None,
20788    ):
20789        self.id = id if id is not None else ''
20790        '''
20791         Unique identifier of the PeeringGroup.
20792        '''
20793        self.name = name if name is not None else ''
20794        '''
20795         Unique human-readable name of the PeeringGroup.
20796        '''
20797
20798    def __repr__(self):
20799        return '<sdm.PeeringGroup ' + \
20800            'id: ' + repr(self.id) + ' ' +\
20801            'name: ' + repr(self.name) + ' ' +\
20802            '>'
20803
20804    def to_dict(self):
20805        return {
20806            'id': self.id,
20807            'name': self.name,
20808        }
20809
20810    @classmethod
20811    def from_dict(cls, d):
20812        return cls(
20813            id=d.get('id'),
20814            name=d.get('name'),
20815        )

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)
20784    def __init__(
20785        self,
20786        id=None,
20787        name=None,
20788    ):
20789        self.id = id if id is not None else ''
20790        '''
20791         Unique identifier of the PeeringGroup.
20792        '''
20793        self.name = name if name is not None else ''
20794        '''
20795         Unique human-readable name of the PeeringGroup.
20796        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
20804    def to_dict(self):
20805        return {
20806            'id': self.id,
20807            'name': self.name,
20808        }
@classmethod
def from_dict(cls, d)
20810    @classmethod
20811    def from_dict(cls, d):
20812        return cls(
20813            id=d.get('id'),
20814            name=d.get('name'),
20815        )
class PeeringGroupCreateResponse:
20818class PeeringGroupCreateResponse:
20819    '''
20820         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20821    '''
20822    __slots__ = [
20823        'meta',
20824        'peering_group',
20825        'rate_limit',
20826    ]
20827
20828    def __init__(
20829        self,
20830        meta=None,
20831        peering_group=None,
20832        rate_limit=None,
20833    ):
20834        self.meta = meta if meta is not None else None
20835        '''
20836         Reserved for future use.
20837        '''
20838        self.peering_group = peering_group if peering_group is not None else None
20839        '''
20840         The created PeeringGroup.
20841        '''
20842        self.rate_limit = rate_limit if rate_limit is not None else None
20843        '''
20844         Rate limit information.
20845        '''
20846
20847    def __repr__(self):
20848        return '<sdm.PeeringGroupCreateResponse ' + \
20849            'meta: ' + repr(self.meta) + ' ' +\
20850            'peering_group: ' + repr(self.peering_group) + ' ' +\
20851            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20852            '>'
20853
20854    def to_dict(self):
20855        return {
20856            'meta': self.meta,
20857            'peering_group': self.peering_group,
20858            'rate_limit': self.rate_limit,
20859        }
20860
20861    @classmethod
20862    def from_dict(cls, d):
20863        return cls(
20864            meta=d.get('meta'),
20865            peering_group=d.get('peering_group'),
20866            rate_limit=d.get('rate_limit'),
20867        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
20828    def __init__(
20829        self,
20830        meta=None,
20831        peering_group=None,
20832        rate_limit=None,
20833    ):
20834        self.meta = meta if meta is not None else None
20835        '''
20836         Reserved for future use.
20837        '''
20838        self.peering_group = peering_group if peering_group is not None else None
20839        '''
20840         The created PeeringGroup.
20841        '''
20842        self.rate_limit = rate_limit if rate_limit is not None else None
20843        '''
20844         Rate limit information.
20845        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20854    def to_dict(self):
20855        return {
20856            'meta': self.meta,
20857            'peering_group': self.peering_group,
20858            'rate_limit': self.rate_limit,
20859        }
@classmethod
def from_dict(cls, d)
20861    @classmethod
20862    def from_dict(cls, d):
20863        return cls(
20864            meta=d.get('meta'),
20865            peering_group=d.get('peering_group'),
20866            rate_limit=d.get('rate_limit'),
20867        )
class PeeringGroupDeleteResponse:
20870class PeeringGroupDeleteResponse:
20871    '''
20872         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20873    '''
20874    __slots__ = [
20875        'meta',
20876        'rate_limit',
20877    ]
20878
20879    def __init__(
20880        self,
20881        meta=None,
20882        rate_limit=None,
20883    ):
20884        self.meta = meta if meta is not None else None
20885        '''
20886         Reserved for future use.
20887        '''
20888        self.rate_limit = rate_limit if rate_limit is not None else None
20889        '''
20890         Rate limit information.
20891        '''
20892
20893    def __repr__(self):
20894        return '<sdm.PeeringGroupDeleteResponse ' + \
20895            'meta: ' + repr(self.meta) + ' ' +\
20896            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20897            '>'
20898
20899    def to_dict(self):
20900        return {
20901            'meta': self.meta,
20902            'rate_limit': self.rate_limit,
20903        }
20904
20905    @classmethod
20906    def from_dict(cls, d):
20907        return cls(
20908            meta=d.get('meta'),
20909            rate_limit=d.get('rate_limit'),
20910        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
20879    def __init__(
20880        self,
20881        meta=None,
20882        rate_limit=None,
20883    ):
20884        self.meta = meta if meta is not None else None
20885        '''
20886         Reserved for future use.
20887        '''
20888        self.rate_limit = rate_limit if rate_limit is not None else None
20889        '''
20890         Rate limit information.
20891        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20899    def to_dict(self):
20900        return {
20901            'meta': self.meta,
20902            'rate_limit': self.rate_limit,
20903        }
@classmethod
def from_dict(cls, d)
20905    @classmethod
20906    def from_dict(cls, d):
20907        return cls(
20908            meta=d.get('meta'),
20909            rate_limit=d.get('rate_limit'),
20910        )
class PeeringGroupGetResponse:
20913class PeeringGroupGetResponse:
20914    '''
20915         PeeringGroupGetResponse returns a requested PeeringGroup.
20916    '''
20917    __slots__ = [
20918        'meta',
20919        'peering_group',
20920        'rate_limit',
20921    ]
20922
20923    def __init__(
20924        self,
20925        meta=None,
20926        peering_group=None,
20927        rate_limit=None,
20928    ):
20929        self.meta = meta if meta is not None else None
20930        '''
20931         Reserved for future use.
20932        '''
20933        self.peering_group = peering_group if peering_group is not None else None
20934        '''
20935         The requested PeeringGroup.
20936        '''
20937        self.rate_limit = rate_limit if rate_limit is not None else None
20938        '''
20939         Rate limit information.
20940        '''
20941
20942    def __repr__(self):
20943        return '<sdm.PeeringGroupGetResponse ' + \
20944            'meta: ' + repr(self.meta) + ' ' +\
20945            'peering_group: ' + repr(self.peering_group) + ' ' +\
20946            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20947            '>'
20948
20949    def to_dict(self):
20950        return {
20951            'meta': self.meta,
20952            'peering_group': self.peering_group,
20953            'rate_limit': self.rate_limit,
20954        }
20955
20956    @classmethod
20957    def from_dict(cls, d):
20958        return cls(
20959            meta=d.get('meta'),
20960            peering_group=d.get('peering_group'),
20961            rate_limit=d.get('rate_limit'),
20962        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
20923    def __init__(
20924        self,
20925        meta=None,
20926        peering_group=None,
20927        rate_limit=None,
20928    ):
20929        self.meta = meta if meta is not None else None
20930        '''
20931         Reserved for future use.
20932        '''
20933        self.peering_group = peering_group if peering_group is not None else None
20934        '''
20935         The requested PeeringGroup.
20936        '''
20937        self.rate_limit = rate_limit if rate_limit is not None else None
20938        '''
20939         Rate limit information.
20940        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20949    def to_dict(self):
20950        return {
20951            'meta': self.meta,
20952            'peering_group': self.peering_group,
20953            'rate_limit': self.rate_limit,
20954        }
@classmethod
def from_dict(cls, d)
20956    @classmethod
20957    def from_dict(cls, d):
20958        return cls(
20959            meta=d.get('meta'),
20960            peering_group=d.get('peering_group'),
20961            rate_limit=d.get('rate_limit'),
20962        )
class PeeringGroupNode:
20965class PeeringGroupNode:
20966    '''
20967         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20968    '''
20969    __slots__ = [
20970        'group_id',
20971        'id',
20972        'node_id',
20973    ]
20974
20975    def __init__(
20976        self,
20977        group_id=None,
20978        id=None,
20979        node_id=None,
20980    ):
20981        self.group_id = group_id if group_id is not None else ''
20982        '''
20983         Peering Group ID to which the node will be attached to.
20984        '''
20985        self.id = id if id is not None else ''
20986        '''
20987         Unique identifier of the Attachment.
20988        '''
20989        self.node_id = node_id if node_id is not None else ''
20990        '''
20991         Node ID to be attached.
20992        '''
20993
20994    def __repr__(self):
20995        return '<sdm.PeeringGroupNode ' + \
20996            'group_id: ' + repr(self.group_id) + ' ' +\
20997            'id: ' + repr(self.id) + ' ' +\
20998            'node_id: ' + repr(self.node_id) + ' ' +\
20999            '>'
21000
21001    def to_dict(self):
21002        return {
21003            'group_id': self.group_id,
21004            'id': self.id,
21005            'node_id': self.node_id,
21006        }
21007
21008    @classmethod
21009    def from_dict(cls, d):
21010        return cls(
21011            group_id=d.get('group_id'),
21012            id=d.get('id'),
21013            node_id=d.get('node_id'),
21014        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
20975    def __init__(
20976        self,
20977        group_id=None,
20978        id=None,
20979        node_id=None,
20980    ):
20981        self.group_id = group_id if group_id is not None else ''
20982        '''
20983         Peering Group ID to which the node will be attached to.
20984        '''
20985        self.id = id if id is not None else ''
20986        '''
20987         Unique identifier of the Attachment.
20988        '''
20989        self.node_id = node_id if node_id is not None else ''
20990        '''
20991         Node ID to be attached.
20992        '''
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)
21001    def to_dict(self):
21002        return {
21003            'group_id': self.group_id,
21004            'id': self.id,
21005            'node_id': self.node_id,
21006        }
@classmethod
def from_dict(cls, d)
21008    @classmethod
21009    def from_dict(cls, d):
21010        return cls(
21011            group_id=d.get('group_id'),
21012            id=d.get('id'),
21013            node_id=d.get('node_id'),
21014        )
class PeeringGroupNodeCreateResponse:
21017class PeeringGroupNodeCreateResponse:
21018    '''
21019         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
21020    '''
21021    __slots__ = [
21022        'meta',
21023        'peering_group_node',
21024        'rate_limit',
21025    ]
21026
21027    def __init__(
21028        self,
21029        meta=None,
21030        peering_group_node=None,
21031        rate_limit=None,
21032    ):
21033        self.meta = meta if meta is not None else None
21034        '''
21035         Reserved for future use.
21036        '''
21037        self.peering_group_node = peering_group_node if peering_group_node is not None else None
21038        '''
21039         The created PeeringGroupNode.
21040        '''
21041        self.rate_limit = rate_limit if rate_limit is not None else None
21042        '''
21043         Rate limit information.
21044        '''
21045
21046    def __repr__(self):
21047        return '<sdm.PeeringGroupNodeCreateResponse ' + \
21048            'meta: ' + repr(self.meta) + ' ' +\
21049            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
21050            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21051            '>'
21052
21053    def to_dict(self):
21054        return {
21055            'meta': self.meta,
21056            'peering_group_node': self.peering_group_node,
21057            'rate_limit': self.rate_limit,
21058        }
21059
21060    @classmethod
21061    def from_dict(cls, d):
21062        return cls(
21063            meta=d.get('meta'),
21064            peering_group_node=d.get('peering_group_node'),
21065            rate_limit=d.get('rate_limit'),
21066        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
21027    def __init__(
21028        self,
21029        meta=None,
21030        peering_group_node=None,
21031        rate_limit=None,
21032    ):
21033        self.meta = meta if meta is not None else None
21034        '''
21035         Reserved for future use.
21036        '''
21037        self.peering_group_node = peering_group_node if peering_group_node is not None else None
21038        '''
21039         The created PeeringGroupNode.
21040        '''
21041        self.rate_limit = rate_limit if rate_limit is not None else None
21042        '''
21043         Rate limit information.
21044        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
21053    def to_dict(self):
21054        return {
21055            'meta': self.meta,
21056            'peering_group_node': self.peering_group_node,
21057            'rate_limit': self.rate_limit,
21058        }
@classmethod
def from_dict(cls, d)
21060    @classmethod
21061    def from_dict(cls, d):
21062        return cls(
21063            meta=d.get('meta'),
21064            peering_group_node=d.get('peering_group_node'),
21065            rate_limit=d.get('rate_limit'),
21066        )
class PeeringGroupNodeDeleteResponse:
21069class PeeringGroupNodeDeleteResponse:
21070    '''
21071         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
21072    '''
21073    __slots__ = [
21074        'meta',
21075        'rate_limit',
21076    ]
21077
21078    def __init__(
21079        self,
21080        meta=None,
21081        rate_limit=None,
21082    ):
21083        self.meta = meta if meta is not None else None
21084        '''
21085         Reserved for future use.
21086        '''
21087        self.rate_limit = rate_limit if rate_limit is not None else None
21088        '''
21089         Rate limit information.
21090        '''
21091
21092    def __repr__(self):
21093        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
21094            'meta: ' + repr(self.meta) + ' ' +\
21095            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21096            '>'
21097
21098    def to_dict(self):
21099        return {
21100            'meta': self.meta,
21101            'rate_limit': self.rate_limit,
21102        }
21103
21104    @classmethod
21105    def from_dict(cls, d):
21106        return cls(
21107            meta=d.get('meta'),
21108            rate_limit=d.get('rate_limit'),
21109        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
21078    def __init__(
21079        self,
21080        meta=None,
21081        rate_limit=None,
21082    ):
21083        self.meta = meta if meta is not None else None
21084        '''
21085         Reserved for future use.
21086        '''
21087        self.rate_limit = rate_limit if rate_limit is not None else None
21088        '''
21089         Rate limit information.
21090        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21098    def to_dict(self):
21099        return {
21100            'meta': self.meta,
21101            'rate_limit': self.rate_limit,
21102        }
@classmethod
def from_dict(cls, d)
21104    @classmethod
21105    def from_dict(cls, d):
21106        return cls(
21107            meta=d.get('meta'),
21108            rate_limit=d.get('rate_limit'),
21109        )
class PeeringGroupNodeGetResponse:
21112class PeeringGroupNodeGetResponse:
21113    '''
21114         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
21115    '''
21116    __slots__ = [
21117        'meta',
21118        'peering_group_node',
21119        'rate_limit',
21120    ]
21121
21122    def __init__(
21123        self,
21124        meta=None,
21125        peering_group_node=None,
21126        rate_limit=None,
21127    ):
21128        self.meta = meta if meta is not None else None
21129        '''
21130         Reserved for future use.
21131        '''
21132        self.peering_group_node = peering_group_node if peering_group_node is not None else None
21133        '''
21134         The requested PeeringGroupNode.
21135        '''
21136        self.rate_limit = rate_limit if rate_limit is not None else None
21137        '''
21138         Rate limit information.
21139        '''
21140
21141    def __repr__(self):
21142        return '<sdm.PeeringGroupNodeGetResponse ' + \
21143            'meta: ' + repr(self.meta) + ' ' +\
21144            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
21145            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21146            '>'
21147
21148    def to_dict(self):
21149        return {
21150            'meta': self.meta,
21151            'peering_group_node': self.peering_group_node,
21152            'rate_limit': self.rate_limit,
21153        }
21154
21155    @classmethod
21156    def from_dict(cls, d):
21157        return cls(
21158            meta=d.get('meta'),
21159            peering_group_node=d.get('peering_group_node'),
21160            rate_limit=d.get('rate_limit'),
21161        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
21122    def __init__(
21123        self,
21124        meta=None,
21125        peering_group_node=None,
21126        rate_limit=None,
21127    ):
21128        self.meta = meta if meta is not None else None
21129        '''
21130         Reserved for future use.
21131        '''
21132        self.peering_group_node = peering_group_node if peering_group_node is not None else None
21133        '''
21134         The requested PeeringGroupNode.
21135        '''
21136        self.rate_limit = rate_limit if rate_limit is not None else None
21137        '''
21138         Rate limit information.
21139        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
21148    def to_dict(self):
21149        return {
21150            'meta': self.meta,
21151            'peering_group_node': self.peering_group_node,
21152            'rate_limit': self.rate_limit,
21153        }
@classmethod
def from_dict(cls, d)
21155    @classmethod
21156    def from_dict(cls, d):
21157        return cls(
21158            meta=d.get('meta'),
21159            peering_group_node=d.get('peering_group_node'),
21160            rate_limit=d.get('rate_limit'),
21161        )
class PeeringGroupPeer:
21164class PeeringGroupPeer:
21165    '''
21166         PeeringGroupPeer represents the link between two PeeringGroups
21167    '''
21168    __slots__ = [
21169        'group_id',
21170        'id',
21171        'peers_with_group_id',
21172    ]
21173
21174    def __init__(
21175        self,
21176        group_id=None,
21177        id=None,
21178        peers_with_group_id=None,
21179    ):
21180        self.group_id = group_id if group_id is not None else ''
21181        '''
21182         Group ID from which the link will originate.
21183        '''
21184        self.id = id if id is not None else ''
21185        '''
21186         Unique identifier of the Attachment.
21187        '''
21188        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
21189        '''
21190         Peering Group ID to which Group ID will link.
21191        '''
21192
21193    def __repr__(self):
21194        return '<sdm.PeeringGroupPeer ' + \
21195            'group_id: ' + repr(self.group_id) + ' ' +\
21196            'id: ' + repr(self.id) + ' ' +\
21197            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
21198            '>'
21199
21200    def to_dict(self):
21201        return {
21202            'group_id': self.group_id,
21203            'id': self.id,
21204            'peers_with_group_id': self.peers_with_group_id,
21205        }
21206
21207    @classmethod
21208    def from_dict(cls, d):
21209        return cls(
21210            group_id=d.get('group_id'),
21211            id=d.get('id'),
21212            peers_with_group_id=d.get('peers_with_group_id'),
21213        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
21174    def __init__(
21175        self,
21176        group_id=None,
21177        id=None,
21178        peers_with_group_id=None,
21179    ):
21180        self.group_id = group_id if group_id is not None else ''
21181        '''
21182         Group ID from which the link will originate.
21183        '''
21184        self.id = id if id is not None else ''
21185        '''
21186         Unique identifier of the Attachment.
21187        '''
21188        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
21189        '''
21190         Peering Group ID to which Group ID will link.
21191        '''
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)
21200    def to_dict(self):
21201        return {
21202            'group_id': self.group_id,
21203            'id': self.id,
21204            'peers_with_group_id': self.peers_with_group_id,
21205        }
@classmethod
def from_dict(cls, d)
21207    @classmethod
21208    def from_dict(cls, d):
21209        return cls(
21210            group_id=d.get('group_id'),
21211            id=d.get('id'),
21212            peers_with_group_id=d.get('peers_with_group_id'),
21213        )
class PeeringGroupPeerCreateResponse:
21216class PeeringGroupPeerCreateResponse:
21217    '''
21218         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
21219    '''
21220    __slots__ = [
21221        'meta',
21222        'peering_group_peer',
21223        'rate_limit',
21224    ]
21225
21226    def __init__(
21227        self,
21228        meta=None,
21229        peering_group_peer=None,
21230        rate_limit=None,
21231    ):
21232        self.meta = meta if meta is not None else None
21233        '''
21234         Reserved for future use.
21235        '''
21236        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21237        '''
21238         The created PeeringGroupPeer.
21239        '''
21240        self.rate_limit = rate_limit if rate_limit is not None else None
21241        '''
21242         Rate limit information.
21243        '''
21244
21245    def __repr__(self):
21246        return '<sdm.PeeringGroupPeerCreateResponse ' + \
21247            'meta: ' + repr(self.meta) + ' ' +\
21248            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21249            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21250            '>'
21251
21252    def to_dict(self):
21253        return {
21254            'meta': self.meta,
21255            'peering_group_peer': self.peering_group_peer,
21256            'rate_limit': self.rate_limit,
21257        }
21258
21259    @classmethod
21260    def from_dict(cls, d):
21261        return cls(
21262            meta=d.get('meta'),
21263            peering_group_peer=d.get('peering_group_peer'),
21264            rate_limit=d.get('rate_limit'),
21265        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
21226    def __init__(
21227        self,
21228        meta=None,
21229        peering_group_peer=None,
21230        rate_limit=None,
21231    ):
21232        self.meta = meta if meta is not None else None
21233        '''
21234         Reserved for future use.
21235        '''
21236        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21237        '''
21238         The created PeeringGroupPeer.
21239        '''
21240        self.rate_limit = rate_limit if rate_limit is not None else None
21241        '''
21242         Rate limit information.
21243        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
21252    def to_dict(self):
21253        return {
21254            'meta': self.meta,
21255            'peering_group_peer': self.peering_group_peer,
21256            'rate_limit': self.rate_limit,
21257        }
@classmethod
def from_dict(cls, d)
21259    @classmethod
21260    def from_dict(cls, d):
21261        return cls(
21262            meta=d.get('meta'),
21263            peering_group_peer=d.get('peering_group_peer'),
21264            rate_limit=d.get('rate_limit'),
21265        )
class PeeringGroupPeerDeleteResponse:
21268class PeeringGroupPeerDeleteResponse:
21269    '''
21270         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
21271    '''
21272    __slots__ = [
21273        'meta',
21274        'rate_limit',
21275    ]
21276
21277    def __init__(
21278        self,
21279        meta=None,
21280        rate_limit=None,
21281    ):
21282        self.meta = meta if meta is not None else None
21283        '''
21284         Reserved for future use.
21285        '''
21286        self.rate_limit = rate_limit if rate_limit is not None else None
21287        '''
21288         Rate limit information.
21289        '''
21290
21291    def __repr__(self):
21292        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
21293            'meta: ' + repr(self.meta) + ' ' +\
21294            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21295            '>'
21296
21297    def to_dict(self):
21298        return {
21299            'meta': self.meta,
21300            'rate_limit': self.rate_limit,
21301        }
21302
21303    @classmethod
21304    def from_dict(cls, d):
21305        return cls(
21306            meta=d.get('meta'),
21307            rate_limit=d.get('rate_limit'),
21308        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
21277    def __init__(
21278        self,
21279        meta=None,
21280        rate_limit=None,
21281    ):
21282        self.meta = meta if meta is not None else None
21283        '''
21284         Reserved for future use.
21285        '''
21286        self.rate_limit = rate_limit if rate_limit is not None else None
21287        '''
21288         Rate limit information.
21289        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21297    def to_dict(self):
21298        return {
21299            'meta': self.meta,
21300            'rate_limit': self.rate_limit,
21301        }
@classmethod
def from_dict(cls, d)
21303    @classmethod
21304    def from_dict(cls, d):
21305        return cls(
21306            meta=d.get('meta'),
21307            rate_limit=d.get('rate_limit'),
21308        )
class PeeringGroupPeerGetResponse:
21311class PeeringGroupPeerGetResponse:
21312    '''
21313         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
21314    '''
21315    __slots__ = [
21316        'meta',
21317        'peering_group_peer',
21318        'rate_limit',
21319    ]
21320
21321    def __init__(
21322        self,
21323        meta=None,
21324        peering_group_peer=None,
21325        rate_limit=None,
21326    ):
21327        self.meta = meta if meta is not None else None
21328        '''
21329         Reserved for future use.
21330        '''
21331        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21332        '''
21333         The requested PeeringGroupPeer.
21334        '''
21335        self.rate_limit = rate_limit if rate_limit is not None else None
21336        '''
21337         Rate limit information.
21338        '''
21339
21340    def __repr__(self):
21341        return '<sdm.PeeringGroupPeerGetResponse ' + \
21342            'meta: ' + repr(self.meta) + ' ' +\
21343            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21344            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21345            '>'
21346
21347    def to_dict(self):
21348        return {
21349            'meta': self.meta,
21350            'peering_group_peer': self.peering_group_peer,
21351            'rate_limit': self.rate_limit,
21352        }
21353
21354    @classmethod
21355    def from_dict(cls, d):
21356        return cls(
21357            meta=d.get('meta'),
21358            peering_group_peer=d.get('peering_group_peer'),
21359            rate_limit=d.get('rate_limit'),
21360        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
21321    def __init__(
21322        self,
21323        meta=None,
21324        peering_group_peer=None,
21325        rate_limit=None,
21326    ):
21327        self.meta = meta if meta is not None else None
21328        '''
21329         Reserved for future use.
21330        '''
21331        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21332        '''
21333         The requested PeeringGroupPeer.
21334        '''
21335        self.rate_limit = rate_limit if rate_limit is not None else None
21336        '''
21337         Rate limit information.
21338        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
21347    def to_dict(self):
21348        return {
21349            'meta': self.meta,
21350            'peering_group_peer': self.peering_group_peer,
21351            'rate_limit': self.rate_limit,
21352        }
@classmethod
def from_dict(cls, d)
21354    @classmethod
21355    def from_dict(cls, d):
21356        return cls(
21357            meta=d.get('meta'),
21358            peering_group_peer=d.get('peering_group_peer'),
21359            rate_limit=d.get('rate_limit'),
21360        )
class PeeringGroupResource:
21363class PeeringGroupResource:
21364    '''
21365         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
21366    '''
21367    __slots__ = [
21368        'group_id',
21369        'id',
21370        'resource_id',
21371    ]
21372
21373    def __init__(
21374        self,
21375        group_id=None,
21376        id=None,
21377        resource_id=None,
21378    ):
21379        self.group_id = group_id if group_id is not None else ''
21380        '''
21381         Peering Group ID to which the resource will be attached to.
21382        '''
21383        self.id = id if id is not None else ''
21384        '''
21385         Unique identifier of the Attachment.
21386        '''
21387        self.resource_id = resource_id if resource_id is not None else ''
21388        '''
21389         Resource ID to be attached.
21390        '''
21391
21392    def __repr__(self):
21393        return '<sdm.PeeringGroupResource ' + \
21394            'group_id: ' + repr(self.group_id) + ' ' +\
21395            'id: ' + repr(self.id) + ' ' +\
21396            'resource_id: ' + repr(self.resource_id) + ' ' +\
21397            '>'
21398
21399    def to_dict(self):
21400        return {
21401            'group_id': self.group_id,
21402            'id': self.id,
21403            'resource_id': self.resource_id,
21404        }
21405
21406    @classmethod
21407    def from_dict(cls, d):
21408        return cls(
21409            group_id=d.get('group_id'),
21410            id=d.get('id'),
21411            resource_id=d.get('resource_id'),
21412        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
21373    def __init__(
21374        self,
21375        group_id=None,
21376        id=None,
21377        resource_id=None,
21378    ):
21379        self.group_id = group_id if group_id is not None else ''
21380        '''
21381         Peering Group ID to which the resource will be attached to.
21382        '''
21383        self.id = id if id is not None else ''
21384        '''
21385         Unique identifier of the Attachment.
21386        '''
21387        self.resource_id = resource_id if resource_id is not None else ''
21388        '''
21389         Resource ID to be attached.
21390        '''
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)
21399    def to_dict(self):
21400        return {
21401            'group_id': self.group_id,
21402            'id': self.id,
21403            'resource_id': self.resource_id,
21404        }
@classmethod
def from_dict(cls, d)
21406    @classmethod
21407    def from_dict(cls, d):
21408        return cls(
21409            group_id=d.get('group_id'),
21410            id=d.get('id'),
21411            resource_id=d.get('resource_id'),
21412        )
class PeeringGroupResourceCreateResponse:
21415class PeeringGroupResourceCreateResponse:
21416    '''
21417         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21418    '''
21419    __slots__ = [
21420        'meta',
21421        'peering_group_resource',
21422        'rate_limit',
21423    ]
21424
21425    def __init__(
21426        self,
21427        meta=None,
21428        peering_group_resource=None,
21429        rate_limit=None,
21430    ):
21431        self.meta = meta if meta is not None else None
21432        '''
21433         Reserved for future use.
21434        '''
21435        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21436        '''
21437         The created PeeringGroupResource.
21438        '''
21439        self.rate_limit = rate_limit if rate_limit is not None else None
21440        '''
21441         Rate limit information.
21442        '''
21443
21444    def __repr__(self):
21445        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21446            'meta: ' + repr(self.meta) + ' ' +\
21447            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21448            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21449            '>'
21450
21451    def to_dict(self):
21452        return {
21453            'meta': self.meta,
21454            'peering_group_resource': self.peering_group_resource,
21455            'rate_limit': self.rate_limit,
21456        }
21457
21458    @classmethod
21459    def from_dict(cls, d):
21460        return cls(
21461            meta=d.get('meta'),
21462            peering_group_resource=d.get('peering_group_resource'),
21463            rate_limit=d.get('rate_limit'),
21464        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
21425    def __init__(
21426        self,
21427        meta=None,
21428        peering_group_resource=None,
21429        rate_limit=None,
21430    ):
21431        self.meta = meta if meta is not None else None
21432        '''
21433         Reserved for future use.
21434        '''
21435        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21436        '''
21437         The created PeeringGroupResource.
21438        '''
21439        self.rate_limit = rate_limit if rate_limit is not None else None
21440        '''
21441         Rate limit information.
21442        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21451    def to_dict(self):
21452        return {
21453            'meta': self.meta,
21454            'peering_group_resource': self.peering_group_resource,
21455            'rate_limit': self.rate_limit,
21456        }
@classmethod
def from_dict(cls, d)
21458    @classmethod
21459    def from_dict(cls, d):
21460        return cls(
21461            meta=d.get('meta'),
21462            peering_group_resource=d.get('peering_group_resource'),
21463            rate_limit=d.get('rate_limit'),
21464        )
class PeeringGroupResourceDeleteResponse:
21467class PeeringGroupResourceDeleteResponse:
21468    '''
21469         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21470    '''
21471    __slots__ = [
21472        'meta',
21473        'rate_limit',
21474    ]
21475
21476    def __init__(
21477        self,
21478        meta=None,
21479        rate_limit=None,
21480    ):
21481        self.meta = meta if meta is not None else None
21482        '''
21483         Reserved for future use.
21484        '''
21485        self.rate_limit = rate_limit if rate_limit is not None else None
21486        '''
21487         Rate limit information.
21488        '''
21489
21490    def __repr__(self):
21491        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21492            'meta: ' + repr(self.meta) + ' ' +\
21493            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21494            '>'
21495
21496    def to_dict(self):
21497        return {
21498            'meta': self.meta,
21499            'rate_limit': self.rate_limit,
21500        }
21501
21502    @classmethod
21503    def from_dict(cls, d):
21504        return cls(
21505            meta=d.get('meta'),
21506            rate_limit=d.get('rate_limit'),
21507        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
21476    def __init__(
21477        self,
21478        meta=None,
21479        rate_limit=None,
21480    ):
21481        self.meta = meta if meta is not None else None
21482        '''
21483         Reserved for future use.
21484        '''
21485        self.rate_limit = rate_limit if rate_limit is not None else None
21486        '''
21487         Rate limit information.
21488        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21496    def to_dict(self):
21497        return {
21498            'meta': self.meta,
21499            'rate_limit': self.rate_limit,
21500        }
@classmethod
def from_dict(cls, d)
21502    @classmethod
21503    def from_dict(cls, d):
21504        return cls(
21505            meta=d.get('meta'),
21506            rate_limit=d.get('rate_limit'),
21507        )
class PeeringGroupResourceGetResponse:
21510class PeeringGroupResourceGetResponse:
21511    '''
21512         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21513    '''
21514    __slots__ = [
21515        'meta',
21516        'peering_group_resource',
21517        'rate_limit',
21518    ]
21519
21520    def __init__(
21521        self,
21522        meta=None,
21523        peering_group_resource=None,
21524        rate_limit=None,
21525    ):
21526        self.meta = meta if meta is not None else None
21527        '''
21528         Reserved for future use.
21529        '''
21530        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21531        '''
21532         The requested PeeringGroupResource.
21533        '''
21534        self.rate_limit = rate_limit if rate_limit is not None else None
21535        '''
21536         Rate limit information.
21537        '''
21538
21539    def __repr__(self):
21540        return '<sdm.PeeringGroupResourceGetResponse ' + \
21541            'meta: ' + repr(self.meta) + ' ' +\
21542            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21543            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21544            '>'
21545
21546    def to_dict(self):
21547        return {
21548            'meta': self.meta,
21549            'peering_group_resource': self.peering_group_resource,
21550            'rate_limit': self.rate_limit,
21551        }
21552
21553    @classmethod
21554    def from_dict(cls, d):
21555        return cls(
21556            meta=d.get('meta'),
21557            peering_group_resource=d.get('peering_group_resource'),
21558            rate_limit=d.get('rate_limit'),
21559        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
21520    def __init__(
21521        self,
21522        meta=None,
21523        peering_group_resource=None,
21524        rate_limit=None,
21525    ):
21526        self.meta = meta if meta is not None else None
21527        '''
21528         Reserved for future use.
21529        '''
21530        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21531        '''
21532         The requested PeeringGroupResource.
21533        '''
21534        self.rate_limit = rate_limit if rate_limit is not None else None
21535        '''
21536         Rate limit information.
21537        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21546    def to_dict(self):
21547        return {
21548            'meta': self.meta,
21549            'peering_group_resource': self.peering_group_resource,
21550            'rate_limit': self.rate_limit,
21551        }
@classmethod
def from_dict(cls, d)
21553    @classmethod
21554    def from_dict(cls, d):
21555        return cls(
21556            meta=d.get('meta'),
21557            peering_group_resource=d.get('peering_group_resource'),
21558            rate_limit=d.get('rate_limit'),
21559        )
class Policy:
21562class Policy:
21563    '''
21564         Policy is a collection of one or more statements that enforce fine-grained access control
21565     for the users of an organization.
21566    '''
21567    __slots__ = [
21568        'description',
21569        'id',
21570        'name',
21571        'policy',
21572    ]
21573
21574    def __init__(
21575        self,
21576        description=None,
21577        id=None,
21578        name=None,
21579        policy=None,
21580    ):
21581        self.description = description if description is not None else ''
21582        '''
21583         Optional description of the Policy.
21584        '''
21585        self.id = id if id is not None else ''
21586        '''
21587         Unique identifier of the Policy.
21588        '''
21589        self.name = name if name is not None else ''
21590        '''
21591         Unique human-readable name of the Policy.
21592        '''
21593        self.policy = policy if policy is not None else ''
21594        '''
21595         The content of the Policy, in Cedar policy language.
21596        '''
21597
21598    def __repr__(self):
21599        return '<sdm.Policy ' + \
21600            'description: ' + repr(self.description) + ' ' +\
21601            'id: ' + repr(self.id) + ' ' +\
21602            'name: ' + repr(self.name) + ' ' +\
21603            'policy: ' + repr(self.policy) + ' ' +\
21604            '>'
21605
21606    def to_dict(self):
21607        return {
21608            'description': self.description,
21609            'id': self.id,
21610            'name': self.name,
21611            'policy': self.policy,
21612        }
21613
21614    @classmethod
21615    def from_dict(cls, d):
21616        return cls(
21617            description=d.get('description'),
21618            id=d.get('id'),
21619            name=d.get('name'),
21620            policy=d.get('policy'),
21621        )

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)
21574    def __init__(
21575        self,
21576        description=None,
21577        id=None,
21578        name=None,
21579        policy=None,
21580    ):
21581        self.description = description if description is not None else ''
21582        '''
21583         Optional description of the Policy.
21584        '''
21585        self.id = id if id is not None else ''
21586        '''
21587         Unique identifier of the Policy.
21588        '''
21589        self.name = name if name is not None else ''
21590        '''
21591         Unique human-readable name of the Policy.
21592        '''
21593        self.policy = policy if policy is not None else ''
21594        '''
21595         The content of the Policy, in Cedar policy language.
21596        '''
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)
21606    def to_dict(self):
21607        return {
21608            'description': self.description,
21609            'id': self.id,
21610            'name': self.name,
21611            'policy': self.policy,
21612        }
@classmethod
def from_dict(cls, d)
21614    @classmethod
21615    def from_dict(cls, d):
21616        return cls(
21617            description=d.get('description'),
21618            id=d.get('id'),
21619            name=d.get('name'),
21620            policy=d.get('policy'),
21621        )
class PolicyCreateResponse:
21624class PolicyCreateResponse:
21625    '''
21626         PolicyCreateResponse reports how the Policy was created in the system.
21627    '''
21628    __slots__ = [
21629        'policy',
21630        'rate_limit',
21631    ]
21632
21633    def __init__(
21634        self,
21635        policy=None,
21636        rate_limit=None,
21637    ):
21638        self.policy = policy if policy is not None else None
21639        '''
21640         The created Policy.
21641        '''
21642        self.rate_limit = rate_limit if rate_limit is not None else None
21643        '''
21644         Rate limit information.
21645        '''
21646
21647    def __repr__(self):
21648        return '<sdm.PolicyCreateResponse ' + \
21649            'policy: ' + repr(self.policy) + ' ' +\
21650            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21651            '>'
21652
21653    def to_dict(self):
21654        return {
21655            'policy': self.policy,
21656            'rate_limit': self.rate_limit,
21657        }
21658
21659    @classmethod
21660    def from_dict(cls, d):
21661        return cls(
21662            policy=d.get('policy'),
21663            rate_limit=d.get('rate_limit'),
21664        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
21633    def __init__(
21634        self,
21635        policy=None,
21636        rate_limit=None,
21637    ):
21638        self.policy = policy if policy is not None else None
21639        '''
21640         The created Policy.
21641        '''
21642        self.rate_limit = rate_limit if rate_limit is not None else None
21643        '''
21644         Rate limit information.
21645        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
21653    def to_dict(self):
21654        return {
21655            'policy': self.policy,
21656            'rate_limit': self.rate_limit,
21657        }
@classmethod
def from_dict(cls, d)
21659    @classmethod
21660    def from_dict(cls, d):
21661        return cls(
21662            policy=d.get('policy'),
21663            rate_limit=d.get('rate_limit'),
21664        )
class PolicyDeleteResponse:
21667class PolicyDeleteResponse:
21668    '''
21669         PolicyDeleteResponse returns information about a Policy that was deleted.
21670    '''
21671    __slots__ = [
21672        'rate_limit',
21673    ]
21674
21675    def __init__(
21676        self,
21677        rate_limit=None,
21678    ):
21679        self.rate_limit = rate_limit if rate_limit is not None else None
21680        '''
21681         Rate limit information.
21682        '''
21683
21684    def __repr__(self):
21685        return '<sdm.PolicyDeleteResponse ' + \
21686            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21687            '>'
21688
21689    def to_dict(self):
21690        return {
21691            'rate_limit': self.rate_limit,
21692        }
21693
21694    @classmethod
21695    def from_dict(cls, d):
21696        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
21675    def __init__(
21676        self,
21677        rate_limit=None,
21678    ):
21679        self.rate_limit = rate_limit if rate_limit is not None else None
21680        '''
21681         Rate limit information.
21682        '''
rate_limit

Rate limit information.

def to_dict(self)
21689    def to_dict(self):
21690        return {
21691            'rate_limit': self.rate_limit,
21692        }
@classmethod
def from_dict(cls, d)
21694    @classmethod
21695    def from_dict(cls, d):
21696        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
21699class PolicyGetResponse:
21700    '''
21701         PolicyGetResponse returns a requested Policy.
21702    '''
21703    __slots__ = [
21704        'meta',
21705        'policy',
21706        'rate_limit',
21707    ]
21708
21709    def __init__(
21710        self,
21711        meta=None,
21712        policy=None,
21713        rate_limit=None,
21714    ):
21715        self.meta = meta if meta is not None else None
21716        '''
21717         Reserved for future use.
21718        '''
21719        self.policy = policy if policy is not None else None
21720        '''
21721         The requested Policy.
21722        '''
21723        self.rate_limit = rate_limit if rate_limit is not None else None
21724        '''
21725         Rate limit information.
21726        '''
21727
21728    def __repr__(self):
21729        return '<sdm.PolicyGetResponse ' + \
21730            'meta: ' + repr(self.meta) + ' ' +\
21731            'policy: ' + repr(self.policy) + ' ' +\
21732            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21733            '>'
21734
21735    def to_dict(self):
21736        return {
21737            'meta': self.meta,
21738            'policy': self.policy,
21739            'rate_limit': self.rate_limit,
21740        }
21741
21742    @classmethod
21743    def from_dict(cls, d):
21744        return cls(
21745            meta=d.get('meta'),
21746            policy=d.get('policy'),
21747            rate_limit=d.get('rate_limit'),
21748        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
21709    def __init__(
21710        self,
21711        meta=None,
21712        policy=None,
21713        rate_limit=None,
21714    ):
21715        self.meta = meta if meta is not None else None
21716        '''
21717         Reserved for future use.
21718        '''
21719        self.policy = policy if policy is not None else None
21720        '''
21721         The requested Policy.
21722        '''
21723        self.rate_limit = rate_limit if rate_limit is not None else None
21724        '''
21725         Rate limit information.
21726        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
21735    def to_dict(self):
21736        return {
21737            'meta': self.meta,
21738            'policy': self.policy,
21739            'rate_limit': self.rate_limit,
21740        }
@classmethod
def from_dict(cls, d)
21742    @classmethod
21743    def from_dict(cls, d):
21744        return cls(
21745            meta=d.get('meta'),
21746            policy=d.get('policy'),
21747            rate_limit=d.get('rate_limit'),
21748        )
class PolicyHistory:
21751class PolicyHistory:
21752    '''
21753         PolicyHistory records the state of a Policy at a given point in time,
21754     where every change (create, update and delete) to a Policy produces a
21755     PolicyHistory record.
21756    '''
21757    __slots__ = [
21758        'activity_id',
21759        'deleted_at',
21760        'policy',
21761        'timestamp',
21762    ]
21763
21764    def __init__(
21765        self,
21766        activity_id=None,
21767        deleted_at=None,
21768        policy=None,
21769        timestamp=None,
21770    ):
21771        self.activity_id = activity_id if activity_id is not None else ''
21772        '''
21773         The unique identifier of the Activity that produced this change to the Policy.
21774         May be empty for some system-initiated updates.
21775        '''
21776        self.deleted_at = deleted_at if deleted_at is not None else None
21777        '''
21778         If this Policy was deleted, the time it was deleted.
21779        '''
21780        self.policy = policy if policy is not None else None
21781        '''
21782         The complete Policy state at this time.
21783        '''
21784        self.timestamp = timestamp if timestamp is not None else None
21785        '''
21786         The time at which the Policy state was recorded.
21787        '''
21788
21789    def __repr__(self):
21790        return '<sdm.PolicyHistory ' + \
21791            'activity_id: ' + repr(self.activity_id) + ' ' +\
21792            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21793            'policy: ' + repr(self.policy) + ' ' +\
21794            'timestamp: ' + repr(self.timestamp) + ' ' +\
21795            '>'
21796
21797    def to_dict(self):
21798        return {
21799            'activity_id': self.activity_id,
21800            'deleted_at': self.deleted_at,
21801            'policy': self.policy,
21802            'timestamp': self.timestamp,
21803        }
21804
21805    @classmethod
21806    def from_dict(cls, d):
21807        return cls(
21808            activity_id=d.get('activity_id'),
21809            deleted_at=d.get('deleted_at'),
21810            policy=d.get('policy'),
21811            timestamp=d.get('timestamp'),
21812        )

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)
21764    def __init__(
21765        self,
21766        activity_id=None,
21767        deleted_at=None,
21768        policy=None,
21769        timestamp=None,
21770    ):
21771        self.activity_id = activity_id if activity_id is not None else ''
21772        '''
21773         The unique identifier of the Activity that produced this change to the Policy.
21774         May be empty for some system-initiated updates.
21775        '''
21776        self.deleted_at = deleted_at if deleted_at is not None else None
21777        '''
21778         If this Policy was deleted, the time it was deleted.
21779        '''
21780        self.policy = policy if policy is not None else None
21781        '''
21782         The complete Policy state at this time.
21783        '''
21784        self.timestamp = timestamp if timestamp is not None else None
21785        '''
21786         The time at which the Policy state was recorded.
21787        '''
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)
21797    def to_dict(self):
21798        return {
21799            'activity_id': self.activity_id,
21800            'deleted_at': self.deleted_at,
21801            'policy': self.policy,
21802            'timestamp': self.timestamp,
21803        }
@classmethod
def from_dict(cls, d)
21805    @classmethod
21806    def from_dict(cls, d):
21807        return cls(
21808            activity_id=d.get('activity_id'),
21809            deleted_at=d.get('deleted_at'),
21810            policy=d.get('policy'),
21811            timestamp=d.get('timestamp'),
21812        )
class PolicyListResponse:
21815class PolicyListResponse:
21816    '''
21817         PolicyListResponse returns a list of Policy records that meet
21818     the criteria of a PolicyListRequest.
21819    '''
21820    __slots__ = [
21821        'rate_limit',
21822    ]
21823
21824    def __init__(
21825        self,
21826        rate_limit=None,
21827    ):
21828        self.rate_limit = rate_limit if rate_limit is not None else None
21829        '''
21830         Rate limit information.
21831        '''
21832
21833    def __repr__(self):
21834        return '<sdm.PolicyListResponse ' + \
21835            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21836            '>'
21837
21838    def to_dict(self):
21839        return {
21840            'rate_limit': self.rate_limit,
21841        }
21842
21843    @classmethod
21844    def from_dict(cls, d):
21845        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)
21824    def __init__(
21825        self,
21826        rate_limit=None,
21827    ):
21828        self.rate_limit = rate_limit if rate_limit is not None else None
21829        '''
21830         Rate limit information.
21831        '''
rate_limit

Rate limit information.

def to_dict(self)
21838    def to_dict(self):
21839        return {
21840            'rate_limit': self.rate_limit,
21841        }
@classmethod
def from_dict(cls, d)
21843    @classmethod
21844    def from_dict(cls, d):
21845        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
21848class PolicyUpdateResponse:
21849    '''
21850         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21851     a PolicyUpdateRequest.
21852    '''
21853    __slots__ = [
21854        'policy',
21855        'rate_limit',
21856    ]
21857
21858    def __init__(
21859        self,
21860        policy=None,
21861        rate_limit=None,
21862    ):
21863        self.policy = policy if policy is not None else None
21864        '''
21865         The updated Policy.
21866        '''
21867        self.rate_limit = rate_limit if rate_limit is not None else None
21868        '''
21869         Rate limit information.
21870        '''
21871
21872    def __repr__(self):
21873        return '<sdm.PolicyUpdateResponse ' + \
21874            'policy: ' + repr(self.policy) + ' ' +\
21875            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21876            '>'
21877
21878    def to_dict(self):
21879        return {
21880            'policy': self.policy,
21881            'rate_limit': self.rate_limit,
21882        }
21883
21884    @classmethod
21885    def from_dict(cls, d):
21886        return cls(
21887            policy=d.get('policy'),
21888            rate_limit=d.get('rate_limit'),
21889        )

PolicyUpdateResponse returns the fields of a Policy after it has been updated by a PolicyUpdateRequest.

PolicyUpdateResponse(policy=None, rate_limit=None)
21858    def __init__(
21859        self,
21860        policy=None,
21861        rate_limit=None,
21862    ):
21863        self.policy = policy if policy is not None else None
21864        '''
21865         The updated Policy.
21866        '''
21867        self.rate_limit = rate_limit if rate_limit is not None else None
21868        '''
21869         Rate limit information.
21870        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
21878    def to_dict(self):
21879        return {
21880            'policy': self.policy,
21881            'rate_limit': self.rate_limit,
21882        }
@classmethod
def from_dict(cls, d)
21884    @classmethod
21885    def from_dict(cls, d):
21886        return cls(
21887            policy=d.get('policy'),
21888            rate_limit=d.get('rate_limit'),
21889        )
class Postgres:
21892class Postgres:
21893    __slots__ = [
21894        'bind_interface',
21895        'database',
21896        'egress_filter',
21897        'healthy',
21898        'hostname',
21899        'id',
21900        'name',
21901        'override_database',
21902        'password',
21903        'port',
21904        'port_override',
21905        'proxy_cluster_id',
21906        'secret_store_id',
21907        'subdomain',
21908        'tags',
21909        'username',
21910    ]
21911
21912    def __init__(
21913        self,
21914        bind_interface=None,
21915        database=None,
21916        egress_filter=None,
21917        healthy=None,
21918        hostname=None,
21919        id=None,
21920        name=None,
21921        override_database=None,
21922        password=None,
21923        port=None,
21924        port_override=None,
21925        proxy_cluster_id=None,
21926        secret_store_id=None,
21927        subdomain=None,
21928        tags=None,
21929        username=None,
21930    ):
21931        self.bind_interface = bind_interface if bind_interface is not None else ''
21932        '''
21933         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21934        '''
21935        self.database = database if database is not None else ''
21936        '''
21937         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21938        '''
21939        self.egress_filter = egress_filter if egress_filter is not None else ''
21940        '''
21941         A filter applied to the routing logic to pin datasource to nodes.
21942        '''
21943        self.healthy = healthy if healthy is not None else False
21944        '''
21945         True if the datasource is reachable and the credentials are valid.
21946        '''
21947        self.hostname = hostname if hostname is not None else ''
21948        '''
21949         The host to dial to initiate a connection from the egress node to this resource.
21950        '''
21951        self.id = id if id is not None else ''
21952        '''
21953         Unique identifier of the Resource.
21954        '''
21955        self.name = name if name is not None else ''
21956        '''
21957         Unique human-readable name of the Resource.
21958        '''
21959        self.override_database = override_database if override_database is not None else False
21960        '''
21961         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.
21962        '''
21963        self.password = password if password is not None else ''
21964        '''
21965         The password to authenticate with.
21966        '''
21967        self.port = port if port is not None else 0
21968        '''
21969         The port to dial to initiate a connection from the egress node to this resource.
21970        '''
21971        self.port_override = port_override if port_override is not None else 0
21972        '''
21973         The local port used by clients to connect to this resource.
21974        '''
21975        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21976        '''
21977         ID of the proxy cluster for this resource, if any.
21978        '''
21979        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21980        '''
21981         ID of the secret store containing credentials for this resource, if any.
21982        '''
21983        self.subdomain = subdomain if subdomain is not None else ''
21984        '''
21985         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21986        '''
21987        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21988        '''
21989         Tags is a map of key, value pairs.
21990        '''
21991        self.username = username if username is not None else ''
21992        '''
21993         The username to authenticate with.
21994        '''
21995
21996    def __repr__(self):
21997        return '<sdm.Postgres ' + \
21998            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21999            'database: ' + repr(self.database) + ' ' +\
22000            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22001            'healthy: ' + repr(self.healthy) + ' ' +\
22002            'hostname: ' + repr(self.hostname) + ' ' +\
22003            'id: ' + repr(self.id) + ' ' +\
22004            'name: ' + repr(self.name) + ' ' +\
22005            'override_database: ' + repr(self.override_database) + ' ' +\
22006            'password: ' + repr(self.password) + ' ' +\
22007            'port: ' + repr(self.port) + ' ' +\
22008            'port_override: ' + repr(self.port_override) + ' ' +\
22009            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22010            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22011            'subdomain: ' + repr(self.subdomain) + ' ' +\
22012            'tags: ' + repr(self.tags) + ' ' +\
22013            'username: ' + repr(self.username) + ' ' +\
22014            '>'
22015
22016    def to_dict(self):
22017        return {
22018            'bind_interface': self.bind_interface,
22019            'database': self.database,
22020            'egress_filter': self.egress_filter,
22021            'healthy': self.healthy,
22022            'hostname': self.hostname,
22023            'id': self.id,
22024            'name': self.name,
22025            'override_database': self.override_database,
22026            'password': self.password,
22027            'port': self.port,
22028            'port_override': self.port_override,
22029            'proxy_cluster_id': self.proxy_cluster_id,
22030            'secret_store_id': self.secret_store_id,
22031            'subdomain': self.subdomain,
22032            'tags': self.tags,
22033            'username': self.username,
22034        }
22035
22036    @classmethod
22037    def from_dict(cls, d):
22038        return cls(
22039            bind_interface=d.get('bind_interface'),
22040            database=d.get('database'),
22041            egress_filter=d.get('egress_filter'),
22042            healthy=d.get('healthy'),
22043            hostname=d.get('hostname'),
22044            id=d.get('id'),
22045            name=d.get('name'),
22046            override_database=d.get('override_database'),
22047            password=d.get('password'),
22048            port=d.get('port'),
22049            port_override=d.get('port_override'),
22050            proxy_cluster_id=d.get('proxy_cluster_id'),
22051            secret_store_id=d.get('secret_store_id'),
22052            subdomain=d.get('subdomain'),
22053            tags=d.get('tags'),
22054            username=d.get('username'),
22055        )
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)
21912    def __init__(
21913        self,
21914        bind_interface=None,
21915        database=None,
21916        egress_filter=None,
21917        healthy=None,
21918        hostname=None,
21919        id=None,
21920        name=None,
21921        override_database=None,
21922        password=None,
21923        port=None,
21924        port_override=None,
21925        proxy_cluster_id=None,
21926        secret_store_id=None,
21927        subdomain=None,
21928        tags=None,
21929        username=None,
21930    ):
21931        self.bind_interface = bind_interface if bind_interface is not None else ''
21932        '''
21933         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21934        '''
21935        self.database = database if database is not None else ''
21936        '''
21937         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21938        '''
21939        self.egress_filter = egress_filter if egress_filter is not None else ''
21940        '''
21941         A filter applied to the routing logic to pin datasource to nodes.
21942        '''
21943        self.healthy = healthy if healthy is not None else False
21944        '''
21945         True if the datasource is reachable and the credentials are valid.
21946        '''
21947        self.hostname = hostname if hostname is not None else ''
21948        '''
21949         The host to dial to initiate a connection from the egress node to this resource.
21950        '''
21951        self.id = id if id is not None else ''
21952        '''
21953         Unique identifier of the Resource.
21954        '''
21955        self.name = name if name is not None else ''
21956        '''
21957         Unique human-readable name of the Resource.
21958        '''
21959        self.override_database = override_database if override_database is not None else False
21960        '''
21961         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.
21962        '''
21963        self.password = password if password is not None else ''
21964        '''
21965         The password to authenticate with.
21966        '''
21967        self.port = port if port is not None else 0
21968        '''
21969         The port to dial to initiate a connection from the egress node to this resource.
21970        '''
21971        self.port_override = port_override if port_override is not None else 0
21972        '''
21973         The local port used by clients to connect to this resource.
21974        '''
21975        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21976        '''
21977         ID of the proxy cluster for this resource, if any.
21978        '''
21979        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21980        '''
21981         ID of the secret store containing credentials for this resource, if any.
21982        '''
21983        self.subdomain = subdomain if subdomain is not None else ''
21984        '''
21985         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21986        '''
21987        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21988        '''
21989         Tags is a map of key, value pairs.
21990        '''
21991        self.username = username if username is not None else ''
21992        '''
21993         The username to authenticate with.
21994        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
22016    def to_dict(self):
22017        return {
22018            'bind_interface': self.bind_interface,
22019            'database': self.database,
22020            'egress_filter': self.egress_filter,
22021            'healthy': self.healthy,
22022            'hostname': self.hostname,
22023            'id': self.id,
22024            'name': self.name,
22025            'override_database': self.override_database,
22026            'password': self.password,
22027            'port': self.port,
22028            'port_override': self.port_override,
22029            'proxy_cluster_id': self.proxy_cluster_id,
22030            'secret_store_id': self.secret_store_id,
22031            'subdomain': self.subdomain,
22032            'tags': self.tags,
22033            'username': self.username,
22034        }
@classmethod
def from_dict(cls, d)
22036    @classmethod
22037    def from_dict(cls, d):
22038        return cls(
22039            bind_interface=d.get('bind_interface'),
22040            database=d.get('database'),
22041            egress_filter=d.get('egress_filter'),
22042            healthy=d.get('healthy'),
22043            hostname=d.get('hostname'),
22044            id=d.get('id'),
22045            name=d.get('name'),
22046            override_database=d.get('override_database'),
22047            password=d.get('password'),
22048            port=d.get('port'),
22049            port_override=d.get('port_override'),
22050            proxy_cluster_id=d.get('proxy_cluster_id'),
22051            secret_store_id=d.get('secret_store_id'),
22052            subdomain=d.get('subdomain'),
22053            tags=d.get('tags'),
22054            username=d.get('username'),
22055        )
class Presto:
22058class Presto:
22059    __slots__ = [
22060        'bind_interface',
22061        'database',
22062        'egress_filter',
22063        'healthy',
22064        'hostname',
22065        'id',
22066        'name',
22067        'password',
22068        'port',
22069        'port_override',
22070        'proxy_cluster_id',
22071        'secret_store_id',
22072        'subdomain',
22073        'tags',
22074        'tls_required',
22075        'username',
22076    ]
22077
22078    def __init__(
22079        self,
22080        bind_interface=None,
22081        database=None,
22082        egress_filter=None,
22083        healthy=None,
22084        hostname=None,
22085        id=None,
22086        name=None,
22087        password=None,
22088        port=None,
22089        port_override=None,
22090        proxy_cluster_id=None,
22091        secret_store_id=None,
22092        subdomain=None,
22093        tags=None,
22094        tls_required=None,
22095        username=None,
22096    ):
22097        self.bind_interface = bind_interface if bind_interface is not None else ''
22098        '''
22099         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22100        '''
22101        self.database = database if database is not None else ''
22102        '''
22103         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
22104        '''
22105        self.egress_filter = egress_filter if egress_filter is not None else ''
22106        '''
22107         A filter applied to the routing logic to pin datasource to nodes.
22108        '''
22109        self.healthy = healthy if healthy is not None else False
22110        '''
22111         True if the datasource is reachable and the credentials are valid.
22112        '''
22113        self.hostname = hostname if hostname is not None else ''
22114        '''
22115         The host to dial to initiate a connection from the egress node to this resource.
22116        '''
22117        self.id = id if id is not None else ''
22118        '''
22119         Unique identifier of the Resource.
22120        '''
22121        self.name = name if name is not None else ''
22122        '''
22123         Unique human-readable name of the Resource.
22124        '''
22125        self.password = password if password is not None else ''
22126        '''
22127         The password to authenticate with.
22128        '''
22129        self.port = port if port is not None else 0
22130        '''
22131         The port to dial to initiate a connection from the egress node to this resource.
22132        '''
22133        self.port_override = port_override if port_override is not None else 0
22134        '''
22135         The local port used by clients to connect to this resource.
22136        '''
22137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22138        '''
22139         ID of the proxy cluster for this resource, if any.
22140        '''
22141        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22142        '''
22143         ID of the secret store containing credentials for this resource, if any.
22144        '''
22145        self.subdomain = subdomain if subdomain is not None else ''
22146        '''
22147         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22148        '''
22149        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22150        '''
22151         Tags is a map of key, value pairs.
22152        '''
22153        self.tls_required = tls_required if tls_required is not None else False
22154        '''
22155         If set, TLS must be used to connect to this resource.
22156        '''
22157        self.username = username if username is not None else ''
22158        '''
22159         The username to authenticate with.
22160        '''
22161
22162    def __repr__(self):
22163        return '<sdm.Presto ' + \
22164            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22165            'database: ' + repr(self.database) + ' ' +\
22166            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22167            'healthy: ' + repr(self.healthy) + ' ' +\
22168            'hostname: ' + repr(self.hostname) + ' ' +\
22169            'id: ' + repr(self.id) + ' ' +\
22170            'name: ' + repr(self.name) + ' ' +\
22171            'password: ' + repr(self.password) + ' ' +\
22172            'port: ' + repr(self.port) + ' ' +\
22173            'port_override: ' + repr(self.port_override) + ' ' +\
22174            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22175            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22176            'subdomain: ' + repr(self.subdomain) + ' ' +\
22177            'tags: ' + repr(self.tags) + ' ' +\
22178            'tls_required: ' + repr(self.tls_required) + ' ' +\
22179            'username: ' + repr(self.username) + ' ' +\
22180            '>'
22181
22182    def to_dict(self):
22183        return {
22184            'bind_interface': self.bind_interface,
22185            'database': self.database,
22186            'egress_filter': self.egress_filter,
22187            'healthy': self.healthy,
22188            'hostname': self.hostname,
22189            'id': self.id,
22190            'name': self.name,
22191            'password': self.password,
22192            'port': self.port,
22193            'port_override': self.port_override,
22194            'proxy_cluster_id': self.proxy_cluster_id,
22195            'secret_store_id': self.secret_store_id,
22196            'subdomain': self.subdomain,
22197            'tags': self.tags,
22198            'tls_required': self.tls_required,
22199            'username': self.username,
22200        }
22201
22202    @classmethod
22203    def from_dict(cls, d):
22204        return cls(
22205            bind_interface=d.get('bind_interface'),
22206            database=d.get('database'),
22207            egress_filter=d.get('egress_filter'),
22208            healthy=d.get('healthy'),
22209            hostname=d.get('hostname'),
22210            id=d.get('id'),
22211            name=d.get('name'),
22212            password=d.get('password'),
22213            port=d.get('port'),
22214            port_override=d.get('port_override'),
22215            proxy_cluster_id=d.get('proxy_cluster_id'),
22216            secret_store_id=d.get('secret_store_id'),
22217            subdomain=d.get('subdomain'),
22218            tags=d.get('tags'),
22219            tls_required=d.get('tls_required'),
22220            username=d.get('username'),
22221        )
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)
22078    def __init__(
22079        self,
22080        bind_interface=None,
22081        database=None,
22082        egress_filter=None,
22083        healthy=None,
22084        hostname=None,
22085        id=None,
22086        name=None,
22087        password=None,
22088        port=None,
22089        port_override=None,
22090        proxy_cluster_id=None,
22091        secret_store_id=None,
22092        subdomain=None,
22093        tags=None,
22094        tls_required=None,
22095        username=None,
22096    ):
22097        self.bind_interface = bind_interface if bind_interface is not None else ''
22098        '''
22099         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22100        '''
22101        self.database = database if database is not None else ''
22102        '''
22103         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
22104        '''
22105        self.egress_filter = egress_filter if egress_filter is not None else ''
22106        '''
22107         A filter applied to the routing logic to pin datasource to nodes.
22108        '''
22109        self.healthy = healthy if healthy is not None else False
22110        '''
22111         True if the datasource is reachable and the credentials are valid.
22112        '''
22113        self.hostname = hostname if hostname is not None else ''
22114        '''
22115         The host to dial to initiate a connection from the egress node to this resource.
22116        '''
22117        self.id = id if id is not None else ''
22118        '''
22119         Unique identifier of the Resource.
22120        '''
22121        self.name = name if name is not None else ''
22122        '''
22123         Unique human-readable name of the Resource.
22124        '''
22125        self.password = password if password is not None else ''
22126        '''
22127         The password to authenticate with.
22128        '''
22129        self.port = port if port is not None else 0
22130        '''
22131         The port to dial to initiate a connection from the egress node to this resource.
22132        '''
22133        self.port_override = port_override if port_override is not None else 0
22134        '''
22135         The local port used by clients to connect to this resource.
22136        '''
22137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22138        '''
22139         ID of the proxy cluster for this resource, if any.
22140        '''
22141        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22142        '''
22143         ID of the secret store containing credentials for this resource, if any.
22144        '''
22145        self.subdomain = subdomain if subdomain is not None else ''
22146        '''
22147         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22148        '''
22149        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22150        '''
22151         Tags is a map of key, value pairs.
22152        '''
22153        self.tls_required = tls_required if tls_required is not None else False
22154        '''
22155         If set, TLS must be used to connect to this resource.
22156        '''
22157        self.username = username if username is not None else ''
22158        '''
22159         The username to authenticate with.
22160        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
22182    def to_dict(self):
22183        return {
22184            'bind_interface': self.bind_interface,
22185            'database': self.database,
22186            'egress_filter': self.egress_filter,
22187            'healthy': self.healthy,
22188            'hostname': self.hostname,
22189            'id': self.id,
22190            'name': self.name,
22191            'password': self.password,
22192            'port': self.port,
22193            'port_override': self.port_override,
22194            'proxy_cluster_id': self.proxy_cluster_id,
22195            'secret_store_id': self.secret_store_id,
22196            'subdomain': self.subdomain,
22197            'tags': self.tags,
22198            'tls_required': self.tls_required,
22199            'username': self.username,
22200        }
@classmethod
def from_dict(cls, d)
22202    @classmethod
22203    def from_dict(cls, d):
22204        return cls(
22205            bind_interface=d.get('bind_interface'),
22206            database=d.get('database'),
22207            egress_filter=d.get('egress_filter'),
22208            healthy=d.get('healthy'),
22209            hostname=d.get('hostname'),
22210            id=d.get('id'),
22211            name=d.get('name'),
22212            password=d.get('password'),
22213            port=d.get('port'),
22214            port_override=d.get('port_override'),
22215            proxy_cluster_id=d.get('proxy_cluster_id'),
22216            secret_store_id=d.get('secret_store_id'),
22217            subdomain=d.get('subdomain'),
22218            tags=d.get('tags'),
22219            tls_required=d.get('tls_required'),
22220            username=d.get('username'),
22221        )
class ProxyCluster:
22224class ProxyCluster:
22225    '''
22226         ProxyCluster represents a cluster of StrongDM proxies.
22227    '''
22228    __slots__ = [
22229        'address',
22230        'id',
22231        'maintenance_windows',
22232        'name',
22233        'tags',
22234    ]
22235
22236    def __init__(
22237        self,
22238        address=None,
22239        id=None,
22240        maintenance_windows=None,
22241        name=None,
22242        tags=None,
22243    ):
22244        self.address = address if address is not None else ''
22245        '''
22246         The public hostname/port tuple at which the proxy cluster will be
22247         accessible to clients.
22248        '''
22249        self.id = id if id is not None else ''
22250        '''
22251         Unique identifier of the Proxy Cluster.
22252        '''
22253        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22254        '''
22255         Maintenance Windows define when this node is allowed to restart. If a node
22256         is requested to restart, it will check each window to determine if any of
22257         them permit it to restart, and if any do, it will. This check is repeated
22258         per window until the restart is successfully completed.
22259         
22260         If not set here, may be set on the command line or via an environment variable
22261         on the process itself; any server setting will take precedence over local
22262         settings. This setting is ineffective for nodes below version 38.44.0.
22263         
22264         If this setting is not applied via this remote configuration or via local
22265         configuration, the default setting is used: always allow restarts if serving
22266         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22267        '''
22268        self.name = name if name is not None else ''
22269        '''
22270         Unique human-readable name of the proxy cluster. Names must
22271         include only letters, numbers, and hyphens (no spaces, underscores, or
22272         other special characters). Generated if not provided on create.
22273        '''
22274        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22275        '''
22276         Tags is a map of key, value pairs.
22277        '''
22278
22279    def __repr__(self):
22280        return '<sdm.ProxyCluster ' + \
22281            'address: ' + repr(self.address) + ' ' +\
22282            'id: ' + repr(self.id) + ' ' +\
22283            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
22284            'name: ' + repr(self.name) + ' ' +\
22285            'tags: ' + repr(self.tags) + ' ' +\
22286            '>'
22287
22288    def to_dict(self):
22289        return {
22290            'address': self.address,
22291            'id': self.id,
22292            'maintenance_windows': self.maintenance_windows,
22293            'name': self.name,
22294            'tags': self.tags,
22295        }
22296
22297    @classmethod
22298    def from_dict(cls, d):
22299        return cls(
22300            address=d.get('address'),
22301            id=d.get('id'),
22302            maintenance_windows=d.get('maintenance_windows'),
22303            name=d.get('name'),
22304            tags=d.get('tags'),
22305        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
22236    def __init__(
22237        self,
22238        address=None,
22239        id=None,
22240        maintenance_windows=None,
22241        name=None,
22242        tags=None,
22243    ):
22244        self.address = address if address is not None else ''
22245        '''
22246         The public hostname/port tuple at which the proxy cluster will be
22247         accessible to clients.
22248        '''
22249        self.id = id if id is not None else ''
22250        '''
22251         Unique identifier of the Proxy Cluster.
22252        '''
22253        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22254        '''
22255         Maintenance Windows define when this node is allowed to restart. If a node
22256         is requested to restart, it will check each window to determine if any of
22257         them permit it to restart, and if any do, it will. This check is repeated
22258         per window until the restart is successfully completed.
22259         
22260         If not set here, may be set on the command line or via an environment variable
22261         on the process itself; any server setting will take precedence over local
22262         settings. This setting is ineffective for nodes below version 38.44.0.
22263         
22264         If this setting is not applied via this remote configuration or via local
22265         configuration, the default setting is used: always allow restarts if serving
22266         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22267        '''
22268        self.name = name if name is not None else ''
22269        '''
22270         Unique human-readable name of the proxy cluster. Names must
22271         include only letters, numbers, and hyphens (no spaces, underscores, or
22272         other special characters). Generated if not provided on create.
22273        '''
22274        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22275        '''
22276         Tags is a map of key, value pairs.
22277        '''
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)
22288    def to_dict(self):
22289        return {
22290            'address': self.address,
22291            'id': self.id,
22292            'maintenance_windows': self.maintenance_windows,
22293            'name': self.name,
22294            'tags': self.tags,
22295        }
@classmethod
def from_dict(cls, d)
22297    @classmethod
22298    def from_dict(cls, d):
22299        return cls(
22300            address=d.get('address'),
22301            id=d.get('id'),
22302            maintenance_windows=d.get('maintenance_windows'),
22303            name=d.get('name'),
22304            tags=d.get('tags'),
22305        )
class ProxyClusterKey:
22308class ProxyClusterKey:
22309    '''
22310         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
22311     The proxies within a cluster share the same key. One cluster can have
22312     multiple keys in order to facilitate key rotation.
22313    '''
22314    __slots__ = [
22315        'created_at',
22316        'id',
22317        'last_used_at',
22318        'proxy_cluster_id',
22319    ]
22320
22321    def __init__(
22322        self,
22323        created_at=None,
22324        id=None,
22325        last_used_at=None,
22326        proxy_cluster_id=None,
22327    ):
22328        self.created_at = created_at if created_at is not None else None
22329        '''
22330         The timestamp when this key was created.
22331        '''
22332        self.id = id if id is not None else ''
22333        '''
22334         Unique identifier of the Relay.
22335        '''
22336        self.last_used_at = last_used_at if last_used_at is not None else None
22337        '''
22338         The timestamp when this key was last used, if at all.
22339        '''
22340        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22341        '''
22342         The ID of the proxy cluster which this key authenticates to.
22343        '''
22344
22345    def __repr__(self):
22346        return '<sdm.ProxyClusterKey ' + \
22347            'created_at: ' + repr(self.created_at) + ' ' +\
22348            'id: ' + repr(self.id) + ' ' +\
22349            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
22350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22351            '>'
22352
22353    def to_dict(self):
22354        return {
22355            'created_at': self.created_at,
22356            'id': self.id,
22357            'last_used_at': self.last_used_at,
22358            'proxy_cluster_id': self.proxy_cluster_id,
22359        }
22360
22361    @classmethod
22362    def from_dict(cls, d):
22363        return cls(
22364            created_at=d.get('created_at'),
22365            id=d.get('id'),
22366            last_used_at=d.get('last_used_at'),
22367            proxy_cluster_id=d.get('proxy_cluster_id'),
22368        )

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)
22321    def __init__(
22322        self,
22323        created_at=None,
22324        id=None,
22325        last_used_at=None,
22326        proxy_cluster_id=None,
22327    ):
22328        self.created_at = created_at if created_at is not None else None
22329        '''
22330         The timestamp when this key was created.
22331        '''
22332        self.id = id if id is not None else ''
22333        '''
22334         Unique identifier of the Relay.
22335        '''
22336        self.last_used_at = last_used_at if last_used_at is not None else None
22337        '''
22338         The timestamp when this key was last used, if at all.
22339        '''
22340        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22341        '''
22342         The ID of the proxy cluster which this key authenticates to.
22343        '''
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)
22353    def to_dict(self):
22354        return {
22355            'created_at': self.created_at,
22356            'id': self.id,
22357            'last_used_at': self.last_used_at,
22358            'proxy_cluster_id': self.proxy_cluster_id,
22359        }
@classmethod
def from_dict(cls, d)
22361    @classmethod
22362    def from_dict(cls, d):
22363        return cls(
22364            created_at=d.get('created_at'),
22365            id=d.get('id'),
22366            last_used_at=d.get('last_used_at'),
22367            proxy_cluster_id=d.get('proxy_cluster_id'),
22368        )
class ProxyClusterKeyCreateResponse:
22371class ProxyClusterKeyCreateResponse:
22372    '''
22373         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22374    '''
22375    __slots__ = [
22376        'meta',
22377        'proxy_cluster_key',
22378        'rate_limit',
22379        'secret_key',
22380    ]
22381
22382    def __init__(
22383        self,
22384        meta=None,
22385        proxy_cluster_key=None,
22386        rate_limit=None,
22387        secret_key=None,
22388    ):
22389        self.meta = meta if meta is not None else None
22390        '''
22391         Reserved for future use.
22392        '''
22393        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22394        '''
22395         The created ProxyClusterKey.
22396        '''
22397        self.rate_limit = rate_limit if rate_limit is not None else None
22398        '''
22399         Rate limit information.
22400        '''
22401        self.secret_key = secret_key if secret_key is not None else ''
22402        '''
22403         The secret key component of this key. It must be saved upon creation
22404         because it will not be available for retrieval later.
22405        '''
22406
22407    def __repr__(self):
22408        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22409            'meta: ' + repr(self.meta) + ' ' +\
22410            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22411            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22412            'secret_key: ' + repr(self.secret_key) + ' ' +\
22413            '>'
22414
22415    def to_dict(self):
22416        return {
22417            'meta': self.meta,
22418            'proxy_cluster_key': self.proxy_cluster_key,
22419            'rate_limit': self.rate_limit,
22420            'secret_key': self.secret_key,
22421        }
22422
22423    @classmethod
22424    def from_dict(cls, d):
22425        return cls(
22426            meta=d.get('meta'),
22427            proxy_cluster_key=d.get('proxy_cluster_key'),
22428            rate_limit=d.get('rate_limit'),
22429            secret_key=d.get('secret_key'),
22430        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
22382    def __init__(
22383        self,
22384        meta=None,
22385        proxy_cluster_key=None,
22386        rate_limit=None,
22387        secret_key=None,
22388    ):
22389        self.meta = meta if meta is not None else None
22390        '''
22391         Reserved for future use.
22392        '''
22393        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22394        '''
22395         The created ProxyClusterKey.
22396        '''
22397        self.rate_limit = rate_limit if rate_limit is not None else None
22398        '''
22399         Rate limit information.
22400        '''
22401        self.secret_key = secret_key if secret_key is not None else ''
22402        '''
22403         The secret key component of this key. It must be saved upon creation
22404         because it will not be available for retrieval later.
22405        '''
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)
22415    def to_dict(self):
22416        return {
22417            'meta': self.meta,
22418            'proxy_cluster_key': self.proxy_cluster_key,
22419            'rate_limit': self.rate_limit,
22420            'secret_key': self.secret_key,
22421        }
@classmethod
def from_dict(cls, d)
22423    @classmethod
22424    def from_dict(cls, d):
22425        return cls(
22426            meta=d.get('meta'),
22427            proxy_cluster_key=d.get('proxy_cluster_key'),
22428            rate_limit=d.get('rate_limit'),
22429            secret_key=d.get('secret_key'),
22430        )
class ProxyClusterKeyDeleteResponse:
22433class ProxyClusterKeyDeleteResponse:
22434    '''
22435         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22436    '''
22437    __slots__ = [
22438        'meta',
22439        'rate_limit',
22440    ]
22441
22442    def __init__(
22443        self,
22444        meta=None,
22445        rate_limit=None,
22446    ):
22447        self.meta = meta if meta is not None else None
22448        '''
22449         Reserved for future use.
22450        '''
22451        self.rate_limit = rate_limit if rate_limit is not None else None
22452        '''
22453         Rate limit information.
22454        '''
22455
22456    def __repr__(self):
22457        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22458            'meta: ' + repr(self.meta) + ' ' +\
22459            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22460            '>'
22461
22462    def to_dict(self):
22463        return {
22464            'meta': self.meta,
22465            'rate_limit': self.rate_limit,
22466        }
22467
22468    @classmethod
22469    def from_dict(cls, d):
22470        return cls(
22471            meta=d.get('meta'),
22472            rate_limit=d.get('rate_limit'),
22473        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
22442    def __init__(
22443        self,
22444        meta=None,
22445        rate_limit=None,
22446    ):
22447        self.meta = meta if meta is not None else None
22448        '''
22449         Reserved for future use.
22450        '''
22451        self.rate_limit = rate_limit if rate_limit is not None else None
22452        '''
22453         Rate limit information.
22454        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22462    def to_dict(self):
22463        return {
22464            'meta': self.meta,
22465            'rate_limit': self.rate_limit,
22466        }
@classmethod
def from_dict(cls, d)
22468    @classmethod
22469    def from_dict(cls, d):
22470        return cls(
22471            meta=d.get('meta'),
22472            rate_limit=d.get('rate_limit'),
22473        )
class ProxyClusterKeyGetResponse:
22476class ProxyClusterKeyGetResponse:
22477    '''
22478         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22479    '''
22480    __slots__ = [
22481        'meta',
22482        'proxy_cluster_key',
22483        'rate_limit',
22484    ]
22485
22486    def __init__(
22487        self,
22488        meta=None,
22489        proxy_cluster_key=None,
22490        rate_limit=None,
22491    ):
22492        self.meta = meta if meta is not None else None
22493        '''
22494         Reserved for future use.
22495        '''
22496        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22497        '''
22498         The requested ProxyClusterKey.
22499        '''
22500        self.rate_limit = rate_limit if rate_limit is not None else None
22501        '''
22502         Rate limit information.
22503        '''
22504
22505    def __repr__(self):
22506        return '<sdm.ProxyClusterKeyGetResponse ' + \
22507            'meta: ' + repr(self.meta) + ' ' +\
22508            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22509            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22510            '>'
22511
22512    def to_dict(self):
22513        return {
22514            'meta': self.meta,
22515            'proxy_cluster_key': self.proxy_cluster_key,
22516            'rate_limit': self.rate_limit,
22517        }
22518
22519    @classmethod
22520    def from_dict(cls, d):
22521        return cls(
22522            meta=d.get('meta'),
22523            proxy_cluster_key=d.get('proxy_cluster_key'),
22524            rate_limit=d.get('rate_limit'),
22525        )

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
22486    def __init__(
22487        self,
22488        meta=None,
22489        proxy_cluster_key=None,
22490        rate_limit=None,
22491    ):
22492        self.meta = meta if meta is not None else None
22493        '''
22494         Reserved for future use.
22495        '''
22496        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22497        '''
22498         The requested ProxyClusterKey.
22499        '''
22500        self.rate_limit = rate_limit if rate_limit is not None else None
22501        '''
22502         Rate limit information.
22503        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

def to_dict(self)
22512    def to_dict(self):
22513        return {
22514            'meta': self.meta,
22515            'proxy_cluster_key': self.proxy_cluster_key,
22516            'rate_limit': self.rate_limit,
22517        }
@classmethod
def from_dict(cls, d)
22519    @classmethod
22520    def from_dict(cls, d):
22521        return cls(
22522            meta=d.get('meta'),
22523            proxy_cluster_key=d.get('proxy_cluster_key'),
22524            rate_limit=d.get('rate_limit'),
22525        )
class Query:
22528class Query:
22529    '''
22530         A Query is a record of a single client request to a resource, such as a SQL query.
22531     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
22532     interactive sessions will return two Query records with the same identifier, one record
22533     at the start of the query and a second record upon the completion of the query with
22534     additional detail.
22535    '''
22536    __slots__ = [
22537        'account_email',
22538        'account_first_name',
22539        'account_id',
22540        'account_last_name',
22541        'account_tags',
22542        'authzjson',
22543        'capture',
22544        'client_ip',
22545        'completed_at',
22546        'duration',
22547        'egress_node_id',
22548        'encrypted',
22549        'id',
22550        'identity_alias_username',
22551        'metadata_json',
22552        'query_body',
22553        'query_category',
22554        'query_hash',
22555        'query_key',
22556        'record_count',
22557        'remote_identity_username',
22558        'replayable',
22559        'resource_id',
22560        'resource_name',
22561        'resource_tags',
22562        'resource_type',
22563        'source_ip',
22564        'target',
22565        'timestamp',
22566    ]
22567
22568    def __init__(
22569        self,
22570        account_email=None,
22571        account_first_name=None,
22572        account_id=None,
22573        account_last_name=None,
22574        account_tags=None,
22575        authzjson=None,
22576        capture=None,
22577        client_ip=None,
22578        completed_at=None,
22579        duration=None,
22580        egress_node_id=None,
22581        encrypted=None,
22582        id=None,
22583        identity_alias_username=None,
22584        metadata_json=None,
22585        query_body=None,
22586        query_category=None,
22587        query_hash=None,
22588        query_key=None,
22589        record_count=None,
22590        remote_identity_username=None,
22591        replayable=None,
22592        resource_id=None,
22593        resource_name=None,
22594        resource_tags=None,
22595        resource_type=None,
22596        source_ip=None,
22597        target=None,
22598        timestamp=None,
22599    ):
22600        self.account_email = account_email if account_email is not None else ''
22601        '''
22602         The email of the account performing this query, at the time the query was executed.
22603         If the account email is later changed, that change will not be reflected via this field.
22604        '''
22605        self.account_first_name = account_first_name if account_first_name is not None else ''
22606        '''
22607         The given name of the account performing this query, at the time the query was executed.
22608         If the account is later renamed, that change will not be reflected via this field.
22609        '''
22610        self.account_id = account_id if account_id is not None else ''
22611        '''
22612         Unique identifier of the Account that performed the Query.
22613        '''
22614        self.account_last_name = account_last_name if account_last_name is not None else ''
22615        '''
22616         The family name of the account performing this query, at the time the query was executed.
22617         If the account is later renamed, that change will not be reflected via this field.
22618        '''
22619        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22620        )
22621        '''
22622         The tags of the account accessed, at the time the query was executed. If the account
22623         tags are later changed, that change will not be reflected via this field.
22624        '''
22625        self.authzjson = authzjson if authzjson is not None else ''
22626        '''
22627         Authorization metadata associated with this query.
22628        '''
22629        self.capture = capture if capture is not None else None
22630        '''
22631         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22632         about the captured query.
22633        '''
22634        self.client_ip = client_ip if client_ip is not None else ''
22635        '''
22636         The IP address the Query was performed from, as detected at the StrongDM control plane.
22637        '''
22638        self.completed_at = completed_at if completed_at is not None else None
22639        '''
22640         The time at which the Query was completed.
22641         Empty if this record indicates the start of a long-running query.
22642        '''
22643        self.duration = duration if duration is not None else None
22644        '''
22645         The duration of the Query.
22646        '''
22647        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22648        '''
22649         The unique ID of the node through which the Resource was accessed.
22650        '''
22651        self.encrypted = encrypted if encrypted is not None else False
22652        '''
22653         Indicates that the body of the Query is encrypted.
22654        '''
22655        self.id = id if id is not None else ''
22656        '''
22657         Unique identifier of the Query.
22658        '''
22659        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22660        '''
22661         The username of the IdentityAlias used to access the Resource.
22662        '''
22663        self.metadata_json = metadata_json if metadata_json is not None else ''
22664        '''
22665         Driver specific metadata associated with this query.
22666        '''
22667        self.query_body = query_body if query_body is not None else ''
22668        '''
22669         The captured content of the Query.
22670         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22671        '''
22672        self.query_category = query_category if query_category is not None else ''
22673        '''
22674         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22675        '''
22676        self.query_hash = query_hash if query_hash is not None else ''
22677        '''
22678         The hash of the body of the Query.
22679        '''
22680        self.query_key = query_key if query_key is not None else ''
22681        '''
22682         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22683         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22684         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22685         If the Query is not encrypted, this field is empty.
22686        '''
22687        self.record_count = record_count if record_count is not None else 0
22688        '''
22689         The number of records returned by the Query, for a database Resource.
22690        '''
22691        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22692        '''
22693         The username of the RemoteIdentity used to access the Resource.
22694        '''
22695        self.replayable = replayable if replayable is not None else False
22696        '''
22697         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22698        '''
22699        self.resource_id = resource_id if resource_id is not None else ''
22700        '''
22701         Unique identifier of the Resource against which the Query was performed.
22702        '''
22703        self.resource_name = resource_name if resource_name is not None else ''
22704        '''
22705         The name of the resource accessed, at the time the query was executed. If the resource
22706         is later renamed, that change will not be reflected via this field.
22707        '''
22708        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22709        )
22710        '''
22711         The tags of the resource accessed, at the time the query was executed. If the resource
22712         tags are later changed, that change will not be reflected via this field.
22713        '''
22714        self.resource_type = resource_type if resource_type is not None else ''
22715        '''
22716         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22717        '''
22718        self.source_ip = source_ip if source_ip is not None else ''
22719        '''
22720         The IP address the Query was performed from, as detected at the ingress gateway.
22721        '''
22722        self.target = target if target is not None else ''
22723        '''
22724         The target destination of the query, in host:port format.
22725        '''
22726        self.timestamp = timestamp if timestamp is not None else None
22727        '''
22728         The time at which the Query was started.
22729        '''
22730
22731    def __repr__(self):
22732        return '<sdm.Query ' + \
22733            'account_email: ' + repr(self.account_email) + ' ' +\
22734            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
22735            'account_id: ' + repr(self.account_id) + ' ' +\
22736            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
22737            'account_tags: ' + repr(self.account_tags) + ' ' +\
22738            'authzjson: ' + repr(self.authzjson) + ' ' +\
22739            'capture: ' + repr(self.capture) + ' ' +\
22740            'client_ip: ' + repr(self.client_ip) + ' ' +\
22741            'completed_at: ' + repr(self.completed_at) + ' ' +\
22742            'duration: ' + repr(self.duration) + ' ' +\
22743            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
22744            'encrypted: ' + repr(self.encrypted) + ' ' +\
22745            'id: ' + repr(self.id) + ' ' +\
22746            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
22747            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
22748            'query_body: ' + repr(self.query_body) + ' ' +\
22749            'query_category: ' + repr(self.query_category) + ' ' +\
22750            'query_hash: ' + repr(self.query_hash) + ' ' +\
22751            'query_key: ' + repr(self.query_key) + ' ' +\
22752            'record_count: ' + repr(self.record_count) + ' ' +\
22753            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
22754            'replayable: ' + repr(self.replayable) + ' ' +\
22755            'resource_id: ' + repr(self.resource_id) + ' ' +\
22756            'resource_name: ' + repr(self.resource_name) + ' ' +\
22757            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
22758            'resource_type: ' + repr(self.resource_type) + ' ' +\
22759            'source_ip: ' + repr(self.source_ip) + ' ' +\
22760            'target: ' + repr(self.target) + ' ' +\
22761            'timestamp: ' + repr(self.timestamp) + ' ' +\
22762            '>'
22763
22764    def to_dict(self):
22765        return {
22766            'account_email': self.account_email,
22767            'account_first_name': self.account_first_name,
22768            'account_id': self.account_id,
22769            'account_last_name': self.account_last_name,
22770            'account_tags': self.account_tags,
22771            'authzjson': self.authzjson,
22772            'capture': self.capture,
22773            'client_ip': self.client_ip,
22774            'completed_at': self.completed_at,
22775            'duration': self.duration,
22776            'egress_node_id': self.egress_node_id,
22777            'encrypted': self.encrypted,
22778            'id': self.id,
22779            'identity_alias_username': self.identity_alias_username,
22780            'metadata_json': self.metadata_json,
22781            'query_body': self.query_body,
22782            'query_category': self.query_category,
22783            'query_hash': self.query_hash,
22784            'query_key': self.query_key,
22785            'record_count': self.record_count,
22786            'remote_identity_username': self.remote_identity_username,
22787            'replayable': self.replayable,
22788            'resource_id': self.resource_id,
22789            'resource_name': self.resource_name,
22790            'resource_tags': self.resource_tags,
22791            'resource_type': self.resource_type,
22792            'source_ip': self.source_ip,
22793            'target': self.target,
22794            'timestamp': self.timestamp,
22795        }
22796
22797    @classmethod
22798    def from_dict(cls, d):
22799        return cls(
22800            account_email=d.get('account_email'),
22801            account_first_name=d.get('account_first_name'),
22802            account_id=d.get('account_id'),
22803            account_last_name=d.get('account_last_name'),
22804            account_tags=d.get('account_tags'),
22805            authzjson=d.get('authzjson'),
22806            capture=d.get('capture'),
22807            client_ip=d.get('client_ip'),
22808            completed_at=d.get('completed_at'),
22809            duration=d.get('duration'),
22810            egress_node_id=d.get('egress_node_id'),
22811            encrypted=d.get('encrypted'),
22812            id=d.get('id'),
22813            identity_alias_username=d.get('identity_alias_username'),
22814            metadata_json=d.get('metadata_json'),
22815            query_body=d.get('query_body'),
22816            query_category=d.get('query_category'),
22817            query_hash=d.get('query_hash'),
22818            query_key=d.get('query_key'),
22819            record_count=d.get('record_count'),
22820            remote_identity_username=d.get('remote_identity_username'),
22821            replayable=d.get('replayable'),
22822            resource_id=d.get('resource_id'),
22823            resource_name=d.get('resource_name'),
22824            resource_tags=d.get('resource_tags'),
22825            resource_type=d.get('resource_type'),
22826            source_ip=d.get('source_ip'),
22827            target=d.get('target'),
22828            timestamp=d.get('timestamp'),
22829        )

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)
22568    def __init__(
22569        self,
22570        account_email=None,
22571        account_first_name=None,
22572        account_id=None,
22573        account_last_name=None,
22574        account_tags=None,
22575        authzjson=None,
22576        capture=None,
22577        client_ip=None,
22578        completed_at=None,
22579        duration=None,
22580        egress_node_id=None,
22581        encrypted=None,
22582        id=None,
22583        identity_alias_username=None,
22584        metadata_json=None,
22585        query_body=None,
22586        query_category=None,
22587        query_hash=None,
22588        query_key=None,
22589        record_count=None,
22590        remote_identity_username=None,
22591        replayable=None,
22592        resource_id=None,
22593        resource_name=None,
22594        resource_tags=None,
22595        resource_type=None,
22596        source_ip=None,
22597        target=None,
22598        timestamp=None,
22599    ):
22600        self.account_email = account_email if account_email is not None else ''
22601        '''
22602         The email of the account performing this query, at the time the query was executed.
22603         If the account email is later changed, that change will not be reflected via this field.
22604        '''
22605        self.account_first_name = account_first_name if account_first_name is not None else ''
22606        '''
22607         The given name of the account performing this query, at the time the query was executed.
22608         If the account is later renamed, that change will not be reflected via this field.
22609        '''
22610        self.account_id = account_id if account_id is not None else ''
22611        '''
22612         Unique identifier of the Account that performed the Query.
22613        '''
22614        self.account_last_name = account_last_name if account_last_name is not None else ''
22615        '''
22616         The family name of the account performing this query, at the time the query was executed.
22617         If the account is later renamed, that change will not be reflected via this field.
22618        '''
22619        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22620        )
22621        '''
22622         The tags of the account accessed, at the time the query was executed. If the account
22623         tags are later changed, that change will not be reflected via this field.
22624        '''
22625        self.authzjson = authzjson if authzjson is not None else ''
22626        '''
22627         Authorization metadata associated with this query.
22628        '''
22629        self.capture = capture if capture is not None else None
22630        '''
22631         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22632         about the captured query.
22633        '''
22634        self.client_ip = client_ip if client_ip is not None else ''
22635        '''
22636         The IP address the Query was performed from, as detected at the StrongDM control plane.
22637        '''
22638        self.completed_at = completed_at if completed_at is not None else None
22639        '''
22640         The time at which the Query was completed.
22641         Empty if this record indicates the start of a long-running query.
22642        '''
22643        self.duration = duration if duration is not None else None
22644        '''
22645         The duration of the Query.
22646        '''
22647        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22648        '''
22649         The unique ID of the node through which the Resource was accessed.
22650        '''
22651        self.encrypted = encrypted if encrypted is not None else False
22652        '''
22653         Indicates that the body of the Query is encrypted.
22654        '''
22655        self.id = id if id is not None else ''
22656        '''
22657         Unique identifier of the Query.
22658        '''
22659        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22660        '''
22661         The username of the IdentityAlias used to access the Resource.
22662        '''
22663        self.metadata_json = metadata_json if metadata_json is not None else ''
22664        '''
22665         Driver specific metadata associated with this query.
22666        '''
22667        self.query_body = query_body if query_body is not None else ''
22668        '''
22669         The captured content of the Query.
22670         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22671        '''
22672        self.query_category = query_category if query_category is not None else ''
22673        '''
22674         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22675        '''
22676        self.query_hash = query_hash if query_hash is not None else ''
22677        '''
22678         The hash of the body of the Query.
22679        '''
22680        self.query_key = query_key if query_key is not None else ''
22681        '''
22682         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22683         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22684         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22685         If the Query is not encrypted, this field is empty.
22686        '''
22687        self.record_count = record_count if record_count is not None else 0
22688        '''
22689         The number of records returned by the Query, for a database Resource.
22690        '''
22691        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22692        '''
22693         The username of the RemoteIdentity used to access the Resource.
22694        '''
22695        self.replayable = replayable if replayable is not None else False
22696        '''
22697         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22698        '''
22699        self.resource_id = resource_id if resource_id is not None else ''
22700        '''
22701         Unique identifier of the Resource against which the Query was performed.
22702        '''
22703        self.resource_name = resource_name if resource_name is not None else ''
22704        '''
22705         The name of the resource accessed, at the time the query was executed. If the resource
22706         is later renamed, that change will not be reflected via this field.
22707        '''
22708        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22709        )
22710        '''
22711         The tags of the resource accessed, at the time the query was executed. If the resource
22712         tags are later changed, that change will not be reflected via this field.
22713        '''
22714        self.resource_type = resource_type if resource_type is not None else ''
22715        '''
22716         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22717        '''
22718        self.source_ip = source_ip if source_ip is not None else ''
22719        '''
22720         The IP address the Query was performed from, as detected at the ingress gateway.
22721        '''
22722        self.target = target if target is not None else ''
22723        '''
22724         The target destination of the query, in host:port format.
22725        '''
22726        self.timestamp = timestamp if timestamp is not None else None
22727        '''
22728         The time at which the Query was started.
22729        '''
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)
22764    def to_dict(self):
22765        return {
22766            'account_email': self.account_email,
22767            'account_first_name': self.account_first_name,
22768            'account_id': self.account_id,
22769            'account_last_name': self.account_last_name,
22770            'account_tags': self.account_tags,
22771            'authzjson': self.authzjson,
22772            'capture': self.capture,
22773            'client_ip': self.client_ip,
22774            'completed_at': self.completed_at,
22775            'duration': self.duration,
22776            'egress_node_id': self.egress_node_id,
22777            'encrypted': self.encrypted,
22778            'id': self.id,
22779            'identity_alias_username': self.identity_alias_username,
22780            'metadata_json': self.metadata_json,
22781            'query_body': self.query_body,
22782            'query_category': self.query_category,
22783            'query_hash': self.query_hash,
22784            'query_key': self.query_key,
22785            'record_count': self.record_count,
22786            'remote_identity_username': self.remote_identity_username,
22787            'replayable': self.replayable,
22788            'resource_id': self.resource_id,
22789            'resource_name': self.resource_name,
22790            'resource_tags': self.resource_tags,
22791            'resource_type': self.resource_type,
22792            'source_ip': self.source_ip,
22793            'target': self.target,
22794            'timestamp': self.timestamp,
22795        }
@classmethod
def from_dict(cls, d)
22797    @classmethod
22798    def from_dict(cls, d):
22799        return cls(
22800            account_email=d.get('account_email'),
22801            account_first_name=d.get('account_first_name'),
22802            account_id=d.get('account_id'),
22803            account_last_name=d.get('account_last_name'),
22804            account_tags=d.get('account_tags'),
22805            authzjson=d.get('authzjson'),
22806            capture=d.get('capture'),
22807            client_ip=d.get('client_ip'),
22808            completed_at=d.get('completed_at'),
22809            duration=d.get('duration'),
22810            egress_node_id=d.get('egress_node_id'),
22811            encrypted=d.get('encrypted'),
22812            id=d.get('id'),
22813            identity_alias_username=d.get('identity_alias_username'),
22814            metadata_json=d.get('metadata_json'),
22815            query_body=d.get('query_body'),
22816            query_category=d.get('query_category'),
22817            query_hash=d.get('query_hash'),
22818            query_key=d.get('query_key'),
22819            record_count=d.get('record_count'),
22820            remote_identity_username=d.get('remote_identity_username'),
22821            replayable=d.get('replayable'),
22822            resource_id=d.get('resource_id'),
22823            resource_name=d.get('resource_name'),
22824            resource_tags=d.get('resource_tags'),
22825            resource_type=d.get('resource_type'),
22826            source_ip=d.get('source_ip'),
22827            target=d.get('target'),
22828            timestamp=d.get('timestamp'),
22829        )
class QueryCapture:
22832class QueryCapture:
22833    '''
22834         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22835    '''
22836    __slots__ = [
22837        'client_command',
22838        'command',
22839        'container',
22840        'env',
22841        'file_name',
22842        'file_size',
22843        'height',
22844        'impersonation_groups',
22845        'impersonation_user',
22846        'pod',
22847        'privilege_groups',
22848        'request_body',
22849        'request_method',
22850        'request_uri',
22851        'type',
22852        'width',
22853    ]
22854
22855    def __init__(
22856        self,
22857        client_command=None,
22858        command=None,
22859        container=None,
22860        env=None,
22861        file_name=None,
22862        file_size=None,
22863        height=None,
22864        impersonation_groups=None,
22865        impersonation_user=None,
22866        pod=None,
22867        privilege_groups=None,
22868        request_body=None,
22869        request_method=None,
22870        request_uri=None,
22871        type=None,
22872        width=None,
22873    ):
22874        self.client_command = client_command if client_command is not None else ''
22875        '''
22876         The command executed on the client for a Kubernetes session.
22877        '''
22878        self.command = command if command is not None else ''
22879        '''
22880         The command executed over an SSH or Kubernetes session.
22881        '''
22882        self.container = container if container is not None else ''
22883        '''
22884         The target container of a Kubernetes operation.
22885        '''
22886        self.env = env if env is not None else {}
22887        '''
22888         The environment variables for an SSH or Kubernetes session.
22889        '''
22890        self.file_name = file_name if file_name is not None else ''
22891        '''
22892         The remote file name of an SCP operation.
22893        '''
22894        self.file_size = file_size if file_size is not None else 0
22895        '''
22896         The file size transferred for an SCP operation.
22897        '''
22898        self.height = height if height is not None else 0
22899        '''
22900         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22901        '''
22902        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22903        '''
22904         The impersonation groups of a Kubernetes operation.
22905        '''
22906        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22907        '''
22908         The impersonation user of a Kubernetes operation.
22909        '''
22910        self.pod = pod if pod is not None else ''
22911        '''
22912         The target pod of a Kubernetes operation.
22913        '''
22914        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22915        '''
22916         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22917        '''
22918        self.request_body = request_body if request_body is not None else b''
22919        '''
22920         The HTTP request body of a Kubernetes operation.
22921        '''
22922        self.request_method = request_method if request_method is not None else ''
22923        '''
22924         The HTTP request method of a Kubernetes operation.
22925        '''
22926        self.request_uri = request_uri if request_uri is not None else ''
22927        '''
22928         The HTTP request URI of a Kubernetes operation.
22929        '''
22930        self.type = type if type is not None else ''
22931        '''
22932         The CaptureType of this query capture, one of the CaptureType constants.
22933        '''
22934        self.width = width if width is not None else 0
22935        '''
22936         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22937        '''
22938
22939    def __repr__(self):
22940        return '<sdm.QueryCapture ' + \
22941            'client_command: ' + repr(self.client_command) + ' ' +\
22942            'command: ' + repr(self.command) + ' ' +\
22943            'container: ' + repr(self.container) + ' ' +\
22944            'env: ' + repr(self.env) + ' ' +\
22945            'file_name: ' + repr(self.file_name) + ' ' +\
22946            'file_size: ' + repr(self.file_size) + ' ' +\
22947            'height: ' + repr(self.height) + ' ' +\
22948            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22949            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22950            'pod: ' + repr(self.pod) + ' ' +\
22951            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22952            'request_body: ' + repr(self.request_body) + ' ' +\
22953            'request_method: ' + repr(self.request_method) + ' ' +\
22954            'request_uri: ' + repr(self.request_uri) + ' ' +\
22955            'type: ' + repr(self.type) + ' ' +\
22956            'width: ' + repr(self.width) + ' ' +\
22957            '>'
22958
22959    def to_dict(self):
22960        return {
22961            'client_command': self.client_command,
22962            'command': self.command,
22963            'container': self.container,
22964            'env': self.env,
22965            'file_name': self.file_name,
22966            'file_size': self.file_size,
22967            'height': self.height,
22968            'impersonation_groups': self.impersonation_groups,
22969            'impersonation_user': self.impersonation_user,
22970            'pod': self.pod,
22971            'privilege_groups': self.privilege_groups,
22972            'request_body': self.request_body,
22973            'request_method': self.request_method,
22974            'request_uri': self.request_uri,
22975            'type': self.type,
22976            'width': self.width,
22977        }
22978
22979    @classmethod
22980    def from_dict(cls, d):
22981        return cls(
22982            client_command=d.get('client_command'),
22983            command=d.get('command'),
22984            container=d.get('container'),
22985            env=d.get('env'),
22986            file_name=d.get('file_name'),
22987            file_size=d.get('file_size'),
22988            height=d.get('height'),
22989            impersonation_groups=d.get('impersonation_groups'),
22990            impersonation_user=d.get('impersonation_user'),
22991            pod=d.get('pod'),
22992            privilege_groups=d.get('privilege_groups'),
22993            request_body=d.get('request_body'),
22994            request_method=d.get('request_method'),
22995            request_uri=d.get('request_uri'),
22996            type=d.get('type'),
22997            width=d.get('width'),
22998        )

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)
22855    def __init__(
22856        self,
22857        client_command=None,
22858        command=None,
22859        container=None,
22860        env=None,
22861        file_name=None,
22862        file_size=None,
22863        height=None,
22864        impersonation_groups=None,
22865        impersonation_user=None,
22866        pod=None,
22867        privilege_groups=None,
22868        request_body=None,
22869        request_method=None,
22870        request_uri=None,
22871        type=None,
22872        width=None,
22873    ):
22874        self.client_command = client_command if client_command is not None else ''
22875        '''
22876         The command executed on the client for a Kubernetes session.
22877        '''
22878        self.command = command if command is not None else ''
22879        '''
22880         The command executed over an SSH or Kubernetes session.
22881        '''
22882        self.container = container if container is not None else ''
22883        '''
22884         The target container of a Kubernetes operation.
22885        '''
22886        self.env = env if env is not None else {}
22887        '''
22888         The environment variables for an SSH or Kubernetes session.
22889        '''
22890        self.file_name = file_name if file_name is not None else ''
22891        '''
22892         The remote file name of an SCP operation.
22893        '''
22894        self.file_size = file_size if file_size is not None else 0
22895        '''
22896         The file size transferred for an SCP operation.
22897        '''
22898        self.height = height if height is not None else 0
22899        '''
22900         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22901        '''
22902        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22903        '''
22904         The impersonation groups of a Kubernetes operation.
22905        '''
22906        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22907        '''
22908         The impersonation user of a Kubernetes operation.
22909        '''
22910        self.pod = pod if pod is not None else ''
22911        '''
22912         The target pod of a Kubernetes operation.
22913        '''
22914        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22915        '''
22916         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22917        '''
22918        self.request_body = request_body if request_body is not None else b''
22919        '''
22920         The HTTP request body of a Kubernetes operation.
22921        '''
22922        self.request_method = request_method if request_method is not None else ''
22923        '''
22924         The HTTP request method of a Kubernetes operation.
22925        '''
22926        self.request_uri = request_uri if request_uri is not None else ''
22927        '''
22928         The HTTP request URI of a Kubernetes operation.
22929        '''
22930        self.type = type if type is not None else ''
22931        '''
22932         The CaptureType of this query capture, one of the CaptureType constants.
22933        '''
22934        self.width = width if width is not None else 0
22935        '''
22936         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22937        '''
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)
22959    def to_dict(self):
22960        return {
22961            'client_command': self.client_command,
22962            'command': self.command,
22963            'container': self.container,
22964            'env': self.env,
22965            'file_name': self.file_name,
22966            'file_size': self.file_size,
22967            'height': self.height,
22968            'impersonation_groups': self.impersonation_groups,
22969            'impersonation_user': self.impersonation_user,
22970            'pod': self.pod,
22971            'privilege_groups': self.privilege_groups,
22972            'request_body': self.request_body,
22973            'request_method': self.request_method,
22974            'request_uri': self.request_uri,
22975            'type': self.type,
22976            'width': self.width,
22977        }
@classmethod
def from_dict(cls, d)
22979    @classmethod
22980    def from_dict(cls, d):
22981        return cls(
22982            client_command=d.get('client_command'),
22983            command=d.get('command'),
22984            container=d.get('container'),
22985            env=d.get('env'),
22986            file_name=d.get('file_name'),
22987            file_size=d.get('file_size'),
22988            height=d.get('height'),
22989            impersonation_groups=d.get('impersonation_groups'),
22990            impersonation_user=d.get('impersonation_user'),
22991            pod=d.get('pod'),
22992            privilege_groups=d.get('privilege_groups'),
22993            request_body=d.get('request_body'),
22994            request_method=d.get('request_method'),
22995            request_uri=d.get('request_uri'),
22996            type=d.get('type'),
22997            width=d.get('width'),
22998        )
class RDP:
23001class RDP:
23002    __slots__ = [
23003        'bind_interface',
23004        'downgrade_nla_connections',
23005        'egress_filter',
23006        'healthy',
23007        'hostname',
23008        'id',
23009        'lock_required',
23010        'name',
23011        'password',
23012        'port',
23013        'port_override',
23014        'proxy_cluster_id',
23015        'secret_store_id',
23016        'subdomain',
23017        'tags',
23018        'username',
23019    ]
23020
23021    def __init__(
23022        self,
23023        bind_interface=None,
23024        downgrade_nla_connections=None,
23025        egress_filter=None,
23026        healthy=None,
23027        hostname=None,
23028        id=None,
23029        lock_required=None,
23030        name=None,
23031        password=None,
23032        port=None,
23033        port_override=None,
23034        proxy_cluster_id=None,
23035        secret_store_id=None,
23036        subdomain=None,
23037        tags=None,
23038        username=None,
23039    ):
23040        self.bind_interface = bind_interface if bind_interface is not None else ''
23041        '''
23042         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23043        '''
23044        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
23045        '''
23046         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.
23047        '''
23048        self.egress_filter = egress_filter if egress_filter is not None else ''
23049        '''
23050         A filter applied to the routing logic to pin datasource to nodes.
23051        '''
23052        self.healthy = healthy if healthy is not None else False
23053        '''
23054         True if the datasource is reachable and the credentials are valid.
23055        '''
23056        self.hostname = hostname if hostname is not None else ''
23057        '''
23058         The host to dial to initiate a connection from the egress node to this resource.
23059        '''
23060        self.id = id if id is not None else ''
23061        '''
23062         Unique identifier of the Resource.
23063        '''
23064        self.lock_required = lock_required if lock_required is not None else False
23065        '''
23066         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23067        '''
23068        self.name = name if name is not None else ''
23069        '''
23070         Unique human-readable name of the Resource.
23071        '''
23072        self.password = password if password is not None else ''
23073        '''
23074         The password to authenticate with.
23075        '''
23076        self.port = port if port is not None else 0
23077        '''
23078         The port to dial to initiate a connection from the egress node to this resource.
23079        '''
23080        self.port_override = port_override if port_override is not None else 0
23081        '''
23082         The local port used by clients to connect to this resource.
23083        '''
23084        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23085        '''
23086         ID of the proxy cluster for this resource, if any.
23087        '''
23088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23089        '''
23090         ID of the secret store containing credentials for this resource, if any.
23091        '''
23092        self.subdomain = subdomain if subdomain is not None else ''
23093        '''
23094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23095        '''
23096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23097        '''
23098         Tags is a map of key, value pairs.
23099        '''
23100        self.username = username if username is not None else ''
23101        '''
23102         The username to authenticate with.
23103        '''
23104
23105    def __repr__(self):
23106        return '<sdm.RDP ' + \
23107            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23108            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
23109            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23110            'healthy: ' + repr(self.healthy) + ' ' +\
23111            'hostname: ' + repr(self.hostname) + ' ' +\
23112            'id: ' + repr(self.id) + ' ' +\
23113            'lock_required: ' + repr(self.lock_required) + ' ' +\
23114            'name: ' + repr(self.name) + ' ' +\
23115            'password: ' + repr(self.password) + ' ' +\
23116            'port: ' + repr(self.port) + ' ' +\
23117            'port_override: ' + repr(self.port_override) + ' ' +\
23118            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23119            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23120            'subdomain: ' + repr(self.subdomain) + ' ' +\
23121            'tags: ' + repr(self.tags) + ' ' +\
23122            'username: ' + repr(self.username) + ' ' +\
23123            '>'
23124
23125    def to_dict(self):
23126        return {
23127            'bind_interface': self.bind_interface,
23128            'downgrade_nla_connections': self.downgrade_nla_connections,
23129            'egress_filter': self.egress_filter,
23130            'healthy': self.healthy,
23131            'hostname': self.hostname,
23132            'id': self.id,
23133            'lock_required': self.lock_required,
23134            'name': self.name,
23135            'password': self.password,
23136            'port': self.port,
23137            'port_override': self.port_override,
23138            'proxy_cluster_id': self.proxy_cluster_id,
23139            'secret_store_id': self.secret_store_id,
23140            'subdomain': self.subdomain,
23141            'tags': self.tags,
23142            'username': self.username,
23143        }
23144
23145    @classmethod
23146    def from_dict(cls, d):
23147        return cls(
23148            bind_interface=d.get('bind_interface'),
23149            downgrade_nla_connections=d.get('downgrade_nla_connections'),
23150            egress_filter=d.get('egress_filter'),
23151            healthy=d.get('healthy'),
23152            hostname=d.get('hostname'),
23153            id=d.get('id'),
23154            lock_required=d.get('lock_required'),
23155            name=d.get('name'),
23156            password=d.get('password'),
23157            port=d.get('port'),
23158            port_override=d.get('port_override'),
23159            proxy_cluster_id=d.get('proxy_cluster_id'),
23160            secret_store_id=d.get('secret_store_id'),
23161            subdomain=d.get('subdomain'),
23162            tags=d.get('tags'),
23163            username=d.get('username'),
23164        )
RDP( bind_interface=None, downgrade_nla_connections=None, egress_filter=None, healthy=None, hostname=None, 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)
23021    def __init__(
23022        self,
23023        bind_interface=None,
23024        downgrade_nla_connections=None,
23025        egress_filter=None,
23026        healthy=None,
23027        hostname=None,
23028        id=None,
23029        lock_required=None,
23030        name=None,
23031        password=None,
23032        port=None,
23033        port_override=None,
23034        proxy_cluster_id=None,
23035        secret_store_id=None,
23036        subdomain=None,
23037        tags=None,
23038        username=None,
23039    ):
23040        self.bind_interface = bind_interface if bind_interface is not None else ''
23041        '''
23042         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23043        '''
23044        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
23045        '''
23046         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.
23047        '''
23048        self.egress_filter = egress_filter if egress_filter is not None else ''
23049        '''
23050         A filter applied to the routing logic to pin datasource to nodes.
23051        '''
23052        self.healthy = healthy if healthy is not None else False
23053        '''
23054         True if the datasource is reachable and the credentials are valid.
23055        '''
23056        self.hostname = hostname if hostname is not None else ''
23057        '''
23058         The host to dial to initiate a connection from the egress node to this resource.
23059        '''
23060        self.id = id if id is not None else ''
23061        '''
23062         Unique identifier of the Resource.
23063        '''
23064        self.lock_required = lock_required if lock_required is not None else False
23065        '''
23066         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23067        '''
23068        self.name = name if name is not None else ''
23069        '''
23070         Unique human-readable name of the Resource.
23071        '''
23072        self.password = password if password is not None else ''
23073        '''
23074         The password to authenticate with.
23075        '''
23076        self.port = port if port is not None else 0
23077        '''
23078         The port to dial to initiate a connection from the egress node to this resource.
23079        '''
23080        self.port_override = port_override if port_override is not None else 0
23081        '''
23082         The local port used by clients to connect to this resource.
23083        '''
23084        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23085        '''
23086         ID of the proxy cluster for this resource, if any.
23087        '''
23088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23089        '''
23090         ID of the secret store containing credentials for this resource, if any.
23091        '''
23092        self.subdomain = subdomain if subdomain is not None else ''
23093        '''
23094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23095        '''
23096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23097        '''
23098         Tags is a map of key, value pairs.
23099        '''
23100        self.username = username if username is not None else ''
23101        '''
23102         The username to authenticate with.
23103        '''
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.

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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
23125    def to_dict(self):
23126        return {
23127            'bind_interface': self.bind_interface,
23128            'downgrade_nla_connections': self.downgrade_nla_connections,
23129            'egress_filter': self.egress_filter,
23130            'healthy': self.healthy,
23131            'hostname': self.hostname,
23132            'id': self.id,
23133            'lock_required': self.lock_required,
23134            'name': self.name,
23135            'password': self.password,
23136            'port': self.port,
23137            'port_override': self.port_override,
23138            'proxy_cluster_id': self.proxy_cluster_id,
23139            'secret_store_id': self.secret_store_id,
23140            'subdomain': self.subdomain,
23141            'tags': self.tags,
23142            'username': self.username,
23143        }
@classmethod
def from_dict(cls, d)
23145    @classmethod
23146    def from_dict(cls, d):
23147        return cls(
23148            bind_interface=d.get('bind_interface'),
23149            downgrade_nla_connections=d.get('downgrade_nla_connections'),
23150            egress_filter=d.get('egress_filter'),
23151            healthy=d.get('healthy'),
23152            hostname=d.get('hostname'),
23153            id=d.get('id'),
23154            lock_required=d.get('lock_required'),
23155            name=d.get('name'),
23156            password=d.get('password'),
23157            port=d.get('port'),
23158            port_override=d.get('port_override'),
23159            proxy_cluster_id=d.get('proxy_cluster_id'),
23160            secret_store_id=d.get('secret_store_id'),
23161            subdomain=d.get('subdomain'),
23162            tags=d.get('tags'),
23163            username=d.get('username'),
23164        )
class RDPCert:
23167class RDPCert:
23168    __slots__ = [
23169        'bind_interface',
23170        'egress_filter',
23171        'healthy',
23172        'hostname',
23173        'id',
23174        'identity_alias_healthcheck_username',
23175        'identity_set_id',
23176        'lock_required',
23177        'name',
23178        'port',
23179        'port_override',
23180        'proxy_cluster_id',
23181        'secret_store_id',
23182        'subdomain',
23183        'tags',
23184        'username',
23185    ]
23186
23187    def __init__(
23188        self,
23189        bind_interface=None,
23190        egress_filter=None,
23191        healthy=None,
23192        hostname=None,
23193        id=None,
23194        identity_alias_healthcheck_username=None,
23195        identity_set_id=None,
23196        lock_required=None,
23197        name=None,
23198        port=None,
23199        port_override=None,
23200        proxy_cluster_id=None,
23201        secret_store_id=None,
23202        subdomain=None,
23203        tags=None,
23204        username=None,
23205    ):
23206        self.bind_interface = bind_interface if bind_interface is not None else ''
23207        '''
23208         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23209        '''
23210        self.egress_filter = egress_filter if egress_filter is not None else ''
23211        '''
23212         A filter applied to the routing logic to pin datasource to nodes.
23213        '''
23214        self.healthy = healthy if healthy is not None else False
23215        '''
23216         True if the datasource is reachable and the credentials are valid.
23217        '''
23218        self.hostname = hostname if hostname is not None else ''
23219        '''
23220         The host to dial to initiate a connection from the egress node to this resource.
23221        '''
23222        self.id = id if id is not None else ''
23223        '''
23224         Unique identifier of the Resource.
23225        '''
23226        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
23227        '''
23228         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
23229        '''
23230        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
23231        '''
23232         The ID of the identity set to use for identity connections.
23233        '''
23234        self.lock_required = lock_required if lock_required is not None else False
23235        '''
23236         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23237        '''
23238        self.name = name if name is not None else ''
23239        '''
23240         Unique human-readable name of the Resource.
23241        '''
23242        self.port = port if port is not None else 0
23243        '''
23244         The port to dial to initiate a connection from the egress node to this resource.
23245        '''
23246        self.port_override = port_override if port_override is not None else 0
23247        '''
23248         The local port used by clients to connect to this resource.
23249        '''
23250        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23251        '''
23252         ID of the proxy cluster for this resource, if any.
23253        '''
23254        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23255        '''
23256         ID of the secret store containing credentials for this resource, if any.
23257        '''
23258        self.subdomain = subdomain if subdomain is not None else ''
23259        '''
23260         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23261        '''
23262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23263        '''
23264         Tags is a map of key, value pairs.
23265        '''
23266        self.username = username if username is not None else ''
23267        '''
23268         The username to authenticate with.
23269        '''
23270
23271    def __repr__(self):
23272        return '<sdm.RDPCert ' + \
23273            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23274            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23275            'healthy: ' + repr(self.healthy) + ' ' +\
23276            'hostname: ' + repr(self.hostname) + ' ' +\
23277            'id: ' + repr(self.id) + ' ' +\
23278            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
23279            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
23280            'lock_required: ' + repr(self.lock_required) + ' ' +\
23281            'name: ' + repr(self.name) + ' ' +\
23282            'port: ' + repr(self.port) + ' ' +\
23283            'port_override: ' + repr(self.port_override) + ' ' +\
23284            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23285            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23286            'subdomain: ' + repr(self.subdomain) + ' ' +\
23287            'tags: ' + repr(self.tags) + ' ' +\
23288            'username: ' + repr(self.username) + ' ' +\
23289            '>'
23290
23291    def to_dict(self):
23292        return {
23293            'bind_interface': self.bind_interface,
23294            'egress_filter': self.egress_filter,
23295            'healthy': self.healthy,
23296            'hostname': self.hostname,
23297            'id': self.id,
23298            'identity_alias_healthcheck_username':
23299            self.identity_alias_healthcheck_username,
23300            'identity_set_id': self.identity_set_id,
23301            'lock_required': self.lock_required,
23302            'name': self.name,
23303            'port': self.port,
23304            'port_override': self.port_override,
23305            'proxy_cluster_id': self.proxy_cluster_id,
23306            'secret_store_id': self.secret_store_id,
23307            'subdomain': self.subdomain,
23308            'tags': self.tags,
23309            'username': self.username,
23310        }
23311
23312    @classmethod
23313    def from_dict(cls, d):
23314        return cls(
23315            bind_interface=d.get('bind_interface'),
23316            egress_filter=d.get('egress_filter'),
23317            healthy=d.get('healthy'),
23318            hostname=d.get('hostname'),
23319            id=d.get('id'),
23320            identity_alias_healthcheck_username=d.get(
23321                'identity_alias_healthcheck_username'),
23322            identity_set_id=d.get('identity_set_id'),
23323            lock_required=d.get('lock_required'),
23324            name=d.get('name'),
23325            port=d.get('port'),
23326            port_override=d.get('port_override'),
23327            proxy_cluster_id=d.get('proxy_cluster_id'),
23328            secret_store_id=d.get('secret_store_id'),
23329            subdomain=d.get('subdomain'),
23330            tags=d.get('tags'),
23331            username=d.get('username'),
23332        )
RDPCert( 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_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
23187    def __init__(
23188        self,
23189        bind_interface=None,
23190        egress_filter=None,
23191        healthy=None,
23192        hostname=None,
23193        id=None,
23194        identity_alias_healthcheck_username=None,
23195        identity_set_id=None,
23196        lock_required=None,
23197        name=None,
23198        port=None,
23199        port_override=None,
23200        proxy_cluster_id=None,
23201        secret_store_id=None,
23202        subdomain=None,
23203        tags=None,
23204        username=None,
23205    ):
23206        self.bind_interface = bind_interface if bind_interface is not None else ''
23207        '''
23208         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23209        '''
23210        self.egress_filter = egress_filter if egress_filter is not None else ''
23211        '''
23212         A filter applied to the routing logic to pin datasource to nodes.
23213        '''
23214        self.healthy = healthy if healthy is not None else False
23215        '''
23216         True if the datasource is reachable and the credentials are valid.
23217        '''
23218        self.hostname = hostname if hostname is not None else ''
23219        '''
23220         The host to dial to initiate a connection from the egress node to this resource.
23221        '''
23222        self.id = id if id is not None else ''
23223        '''
23224         Unique identifier of the Resource.
23225        '''
23226        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
23227        '''
23228         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
23229        '''
23230        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
23231        '''
23232         The ID of the identity set to use for identity connections.
23233        '''
23234        self.lock_required = lock_required if lock_required is not None else False
23235        '''
23236         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23237        '''
23238        self.name = name if name is not None else ''
23239        '''
23240         Unique human-readable name of the Resource.
23241        '''
23242        self.port = port if port is not None else 0
23243        '''
23244         The port to dial to initiate a connection from the egress node to this resource.
23245        '''
23246        self.port_override = port_override if port_override is not None else 0
23247        '''
23248         The local port used by clients to connect to this resource.
23249        '''
23250        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23251        '''
23252         ID of the proxy cluster for this resource, if any.
23253        '''
23254        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23255        '''
23256         ID of the secret store containing credentials for this resource, if any.
23257        '''
23258        self.subdomain = subdomain if subdomain is not None else ''
23259        '''
23260         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23261        '''
23262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23263        '''
23264         Tags is a map of key, value pairs.
23265        '''
23266        self.username = username if username is not None else ''
23267        '''
23268         The username to authenticate with.
23269        '''
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.

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_override

The local port used by clients to connect to this resource.

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.

username

The username to authenticate with.

def to_dict(self)
23291    def to_dict(self):
23292        return {
23293            'bind_interface': self.bind_interface,
23294            'egress_filter': self.egress_filter,
23295            'healthy': self.healthy,
23296            'hostname': self.hostname,
23297            'id': self.id,
23298            'identity_alias_healthcheck_username':
23299            self.identity_alias_healthcheck_username,
23300            'identity_set_id': self.identity_set_id,
23301            'lock_required': self.lock_required,
23302            'name': self.name,
23303            'port': self.port,
23304            'port_override': self.port_override,
23305            'proxy_cluster_id': self.proxy_cluster_id,
23306            'secret_store_id': self.secret_store_id,
23307            'subdomain': self.subdomain,
23308            'tags': self.tags,
23309            'username': self.username,
23310        }
@classmethod
def from_dict(cls, d)
23312    @classmethod
23313    def from_dict(cls, d):
23314        return cls(
23315            bind_interface=d.get('bind_interface'),
23316            egress_filter=d.get('egress_filter'),
23317            healthy=d.get('healthy'),
23318            hostname=d.get('hostname'),
23319            id=d.get('id'),
23320            identity_alias_healthcheck_username=d.get(
23321                'identity_alias_healthcheck_username'),
23322            identity_set_id=d.get('identity_set_id'),
23323            lock_required=d.get('lock_required'),
23324            name=d.get('name'),
23325            port=d.get('port'),
23326            port_override=d.get('port_override'),
23327            proxy_cluster_id=d.get('proxy_cluster_id'),
23328            secret_store_id=d.get('secret_store_id'),
23329            subdomain=d.get('subdomain'),
23330            tags=d.get('tags'),
23331            username=d.get('username'),
23332        )
class RDSPostgresIAM:
23335class RDSPostgresIAM:
23336    __slots__ = [
23337        'bind_interface',
23338        'database',
23339        'egress_filter',
23340        'healthy',
23341        'hostname',
23342        'id',
23343        'name',
23344        'override_database',
23345        'port',
23346        'port_override',
23347        'proxy_cluster_id',
23348        'region',
23349        'role_assumption_arn',
23350        'secret_store_id',
23351        'subdomain',
23352        'tags',
23353        'username',
23354    ]
23355
23356    def __init__(
23357        self,
23358        bind_interface=None,
23359        database=None,
23360        egress_filter=None,
23361        healthy=None,
23362        hostname=None,
23363        id=None,
23364        name=None,
23365        override_database=None,
23366        port=None,
23367        port_override=None,
23368        proxy_cluster_id=None,
23369        region=None,
23370        role_assumption_arn=None,
23371        secret_store_id=None,
23372        subdomain=None,
23373        tags=None,
23374        username=None,
23375    ):
23376        self.bind_interface = bind_interface if bind_interface is not None else ''
23377        '''
23378         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23379        '''
23380        self.database = database if database is not None else ''
23381        '''
23382         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23383        '''
23384        self.egress_filter = egress_filter if egress_filter is not None else ''
23385        '''
23386         A filter applied to the routing logic to pin datasource to nodes.
23387        '''
23388        self.healthy = healthy if healthy is not None else False
23389        '''
23390         True if the datasource is reachable and the credentials are valid.
23391        '''
23392        self.hostname = hostname if hostname is not None else ''
23393        '''
23394         The host to dial to initiate a connection from the egress node to this resource.
23395        '''
23396        self.id = id if id is not None else ''
23397        '''
23398         Unique identifier of the Resource.
23399        '''
23400        self.name = name if name is not None else ''
23401        '''
23402         Unique human-readable name of the Resource.
23403        '''
23404        self.override_database = override_database if override_database is not None else False
23405        '''
23406         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.
23407        '''
23408        self.port = port if port is not None else 0
23409        '''
23410         The port to dial to initiate a connection from the egress node to this resource.
23411        '''
23412        self.port_override = port_override if port_override is not None else 0
23413        '''
23414         The local port used by clients to connect to this resource.
23415        '''
23416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23417        '''
23418         ID of the proxy cluster for this resource, if any.
23419        '''
23420        self.region = region if region is not None else ''
23421        '''
23422         The AWS region to connect to.
23423        '''
23424        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23425        '''
23426         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23427        '''
23428        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23429        '''
23430         ID of the secret store containing credentials for this resource, if any.
23431        '''
23432        self.subdomain = subdomain if subdomain is not None else ''
23433        '''
23434         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23435        '''
23436        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23437        '''
23438         Tags is a map of key, value pairs.
23439        '''
23440        self.username = username if username is not None else ''
23441        '''
23442         The username to authenticate with.
23443        '''
23444
23445    def __repr__(self):
23446        return '<sdm.RDSPostgresIAM ' + \
23447            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23448            'database: ' + repr(self.database) + ' ' +\
23449            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23450            'healthy: ' + repr(self.healthy) + ' ' +\
23451            'hostname: ' + repr(self.hostname) + ' ' +\
23452            'id: ' + repr(self.id) + ' ' +\
23453            'name: ' + repr(self.name) + ' ' +\
23454            'override_database: ' + repr(self.override_database) + ' ' +\
23455            'port: ' + repr(self.port) + ' ' +\
23456            'port_override: ' + repr(self.port_override) + ' ' +\
23457            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23458            'region: ' + repr(self.region) + ' ' +\
23459            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23460            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23461            'subdomain: ' + repr(self.subdomain) + ' ' +\
23462            'tags: ' + repr(self.tags) + ' ' +\
23463            'username: ' + repr(self.username) + ' ' +\
23464            '>'
23465
23466    def to_dict(self):
23467        return {
23468            'bind_interface': self.bind_interface,
23469            'database': self.database,
23470            'egress_filter': self.egress_filter,
23471            'healthy': self.healthy,
23472            'hostname': self.hostname,
23473            'id': self.id,
23474            'name': self.name,
23475            'override_database': self.override_database,
23476            'port': self.port,
23477            'port_override': self.port_override,
23478            'proxy_cluster_id': self.proxy_cluster_id,
23479            'region': self.region,
23480            'role_assumption_arn': self.role_assumption_arn,
23481            'secret_store_id': self.secret_store_id,
23482            'subdomain': self.subdomain,
23483            'tags': self.tags,
23484            'username': self.username,
23485        }
23486
23487    @classmethod
23488    def from_dict(cls, d):
23489        return cls(
23490            bind_interface=d.get('bind_interface'),
23491            database=d.get('database'),
23492            egress_filter=d.get('egress_filter'),
23493            healthy=d.get('healthy'),
23494            hostname=d.get('hostname'),
23495            id=d.get('id'),
23496            name=d.get('name'),
23497            override_database=d.get('override_database'),
23498            port=d.get('port'),
23499            port_override=d.get('port_override'),
23500            proxy_cluster_id=d.get('proxy_cluster_id'),
23501            region=d.get('region'),
23502            role_assumption_arn=d.get('role_assumption_arn'),
23503            secret_store_id=d.get('secret_store_id'),
23504            subdomain=d.get('subdomain'),
23505            tags=d.get('tags'),
23506            username=d.get('username'),
23507        )
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)
23356    def __init__(
23357        self,
23358        bind_interface=None,
23359        database=None,
23360        egress_filter=None,
23361        healthy=None,
23362        hostname=None,
23363        id=None,
23364        name=None,
23365        override_database=None,
23366        port=None,
23367        port_override=None,
23368        proxy_cluster_id=None,
23369        region=None,
23370        role_assumption_arn=None,
23371        secret_store_id=None,
23372        subdomain=None,
23373        tags=None,
23374        username=None,
23375    ):
23376        self.bind_interface = bind_interface if bind_interface is not None else ''
23377        '''
23378         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23379        '''
23380        self.database = database if database is not None else ''
23381        '''
23382         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23383        '''
23384        self.egress_filter = egress_filter if egress_filter is not None else ''
23385        '''
23386         A filter applied to the routing logic to pin datasource to nodes.
23387        '''
23388        self.healthy = healthy if healthy is not None else False
23389        '''
23390         True if the datasource is reachable and the credentials are valid.
23391        '''
23392        self.hostname = hostname if hostname is not None else ''
23393        '''
23394         The host to dial to initiate a connection from the egress node to this resource.
23395        '''
23396        self.id = id if id is not None else ''
23397        '''
23398         Unique identifier of the Resource.
23399        '''
23400        self.name = name if name is not None else ''
23401        '''
23402         Unique human-readable name of the Resource.
23403        '''
23404        self.override_database = override_database if override_database is not None else False
23405        '''
23406         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.
23407        '''
23408        self.port = port if port is not None else 0
23409        '''
23410         The port to dial to initiate a connection from the egress node to this resource.
23411        '''
23412        self.port_override = port_override if port_override is not None else 0
23413        '''
23414         The local port used by clients to connect to this resource.
23415        '''
23416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23417        '''
23418         ID of the proxy cluster for this resource, if any.
23419        '''
23420        self.region = region if region is not None else ''
23421        '''
23422         The AWS region to connect to.
23423        '''
23424        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23425        '''
23426         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23427        '''
23428        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23429        '''
23430         ID of the secret store containing credentials for this resource, if any.
23431        '''
23432        self.subdomain = subdomain if subdomain is not None else ''
23433        '''
23434         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23435        '''
23436        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23437        '''
23438         Tags is a map of key, value pairs.
23439        '''
23440        self.username = username if username is not None else ''
23441        '''
23442         The username to authenticate with.
23443        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
23466    def to_dict(self):
23467        return {
23468            'bind_interface': self.bind_interface,
23469            'database': self.database,
23470            'egress_filter': self.egress_filter,
23471            'healthy': self.healthy,
23472            'hostname': self.hostname,
23473            'id': self.id,
23474            'name': self.name,
23475            'override_database': self.override_database,
23476            'port': self.port,
23477            'port_override': self.port_override,
23478            'proxy_cluster_id': self.proxy_cluster_id,
23479            'region': self.region,
23480            'role_assumption_arn': self.role_assumption_arn,
23481            'secret_store_id': self.secret_store_id,
23482            'subdomain': self.subdomain,
23483            'tags': self.tags,
23484            'username': self.username,
23485        }
@classmethod
def from_dict(cls, d)
23487    @classmethod
23488    def from_dict(cls, d):
23489        return cls(
23490            bind_interface=d.get('bind_interface'),
23491            database=d.get('database'),
23492            egress_filter=d.get('egress_filter'),
23493            healthy=d.get('healthy'),
23494            hostname=d.get('hostname'),
23495            id=d.get('id'),
23496            name=d.get('name'),
23497            override_database=d.get('override_database'),
23498            port=d.get('port'),
23499            port_override=d.get('port_override'),
23500            proxy_cluster_id=d.get('proxy_cluster_id'),
23501            region=d.get('region'),
23502            role_assumption_arn=d.get('role_assumption_arn'),
23503            secret_store_id=d.get('secret_store_id'),
23504            subdomain=d.get('subdomain'),
23505            tags=d.get('tags'),
23506            username=d.get('username'),
23507        )
class RabbitMQAMQP091:
23510class RabbitMQAMQP091:
23511    __slots__ = [
23512        'bind_interface',
23513        'egress_filter',
23514        'healthy',
23515        'hostname',
23516        'id',
23517        'name',
23518        'password',
23519        'port',
23520        'port_override',
23521        'proxy_cluster_id',
23522        'secret_store_id',
23523        'subdomain',
23524        'tags',
23525        'tls_required',
23526        'username',
23527    ]
23528
23529    def __init__(
23530        self,
23531        bind_interface=None,
23532        egress_filter=None,
23533        healthy=None,
23534        hostname=None,
23535        id=None,
23536        name=None,
23537        password=None,
23538        port=None,
23539        port_override=None,
23540        proxy_cluster_id=None,
23541        secret_store_id=None,
23542        subdomain=None,
23543        tags=None,
23544        tls_required=None,
23545        username=None,
23546    ):
23547        self.bind_interface = bind_interface if bind_interface is not None else ''
23548        '''
23549         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23550        '''
23551        self.egress_filter = egress_filter if egress_filter is not None else ''
23552        '''
23553         A filter applied to the routing logic to pin datasource to nodes.
23554        '''
23555        self.healthy = healthy if healthy is not None else False
23556        '''
23557         True if the datasource is reachable and the credentials are valid.
23558        '''
23559        self.hostname = hostname if hostname is not None else ''
23560        '''
23561         The host to dial to initiate a connection from the egress node to this resource.
23562        '''
23563        self.id = id if id is not None else ''
23564        '''
23565         Unique identifier of the Resource.
23566        '''
23567        self.name = name if name is not None else ''
23568        '''
23569         Unique human-readable name of the Resource.
23570        '''
23571        self.password = password if password is not None else ''
23572        '''
23573         The password to authenticate with.
23574        '''
23575        self.port = port if port is not None else 0
23576        '''
23577         The port to dial to initiate a connection from the egress node to this resource.
23578        '''
23579        self.port_override = port_override if port_override is not None else 0
23580        '''
23581         The local port used by clients to connect to this resource.
23582        '''
23583        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23584        '''
23585         ID of the proxy cluster for this resource, if any.
23586        '''
23587        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23588        '''
23589         ID of the secret store containing credentials for this resource, if any.
23590        '''
23591        self.subdomain = subdomain if subdomain is not None else ''
23592        '''
23593         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23594        '''
23595        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23596        '''
23597         Tags is a map of key, value pairs.
23598        '''
23599        self.tls_required = tls_required if tls_required is not None else False
23600        '''
23601         If set, TLS must be used to connect to this resource.
23602        '''
23603        self.username = username if username is not None else ''
23604        '''
23605         The username to authenticate with.
23606        '''
23607
23608    def __repr__(self):
23609        return '<sdm.RabbitMQAMQP091 ' + \
23610            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23611            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23612            'healthy: ' + repr(self.healthy) + ' ' +\
23613            'hostname: ' + repr(self.hostname) + ' ' +\
23614            'id: ' + repr(self.id) + ' ' +\
23615            'name: ' + repr(self.name) + ' ' +\
23616            'password: ' + repr(self.password) + ' ' +\
23617            'port: ' + repr(self.port) + ' ' +\
23618            'port_override: ' + repr(self.port_override) + ' ' +\
23619            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23620            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23621            'subdomain: ' + repr(self.subdomain) + ' ' +\
23622            'tags: ' + repr(self.tags) + ' ' +\
23623            'tls_required: ' + repr(self.tls_required) + ' ' +\
23624            'username: ' + repr(self.username) + ' ' +\
23625            '>'
23626
23627    def to_dict(self):
23628        return {
23629            'bind_interface': self.bind_interface,
23630            'egress_filter': self.egress_filter,
23631            'healthy': self.healthy,
23632            'hostname': self.hostname,
23633            'id': self.id,
23634            'name': self.name,
23635            'password': self.password,
23636            'port': self.port,
23637            'port_override': self.port_override,
23638            'proxy_cluster_id': self.proxy_cluster_id,
23639            'secret_store_id': self.secret_store_id,
23640            'subdomain': self.subdomain,
23641            'tags': self.tags,
23642            'tls_required': self.tls_required,
23643            'username': self.username,
23644        }
23645
23646    @classmethod
23647    def from_dict(cls, d):
23648        return cls(
23649            bind_interface=d.get('bind_interface'),
23650            egress_filter=d.get('egress_filter'),
23651            healthy=d.get('healthy'),
23652            hostname=d.get('hostname'),
23653            id=d.get('id'),
23654            name=d.get('name'),
23655            password=d.get('password'),
23656            port=d.get('port'),
23657            port_override=d.get('port_override'),
23658            proxy_cluster_id=d.get('proxy_cluster_id'),
23659            secret_store_id=d.get('secret_store_id'),
23660            subdomain=d.get('subdomain'),
23661            tags=d.get('tags'),
23662            tls_required=d.get('tls_required'),
23663            username=d.get('username'),
23664        )
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)
23529    def __init__(
23530        self,
23531        bind_interface=None,
23532        egress_filter=None,
23533        healthy=None,
23534        hostname=None,
23535        id=None,
23536        name=None,
23537        password=None,
23538        port=None,
23539        port_override=None,
23540        proxy_cluster_id=None,
23541        secret_store_id=None,
23542        subdomain=None,
23543        tags=None,
23544        tls_required=None,
23545        username=None,
23546    ):
23547        self.bind_interface = bind_interface if bind_interface is not None else ''
23548        '''
23549         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23550        '''
23551        self.egress_filter = egress_filter if egress_filter is not None else ''
23552        '''
23553         A filter applied to the routing logic to pin datasource to nodes.
23554        '''
23555        self.healthy = healthy if healthy is not None else False
23556        '''
23557         True if the datasource is reachable and the credentials are valid.
23558        '''
23559        self.hostname = hostname if hostname is not None else ''
23560        '''
23561         The host to dial to initiate a connection from the egress node to this resource.
23562        '''
23563        self.id = id if id is not None else ''
23564        '''
23565         Unique identifier of the Resource.
23566        '''
23567        self.name = name if name is not None else ''
23568        '''
23569         Unique human-readable name of the Resource.
23570        '''
23571        self.password = password if password is not None else ''
23572        '''
23573         The password to authenticate with.
23574        '''
23575        self.port = port if port is not None else 0
23576        '''
23577         The port to dial to initiate a connection from the egress node to this resource.
23578        '''
23579        self.port_override = port_override if port_override is not None else 0
23580        '''
23581         The local port used by clients to connect to this resource.
23582        '''
23583        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23584        '''
23585         ID of the proxy cluster for this resource, if any.
23586        '''
23587        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23588        '''
23589         ID of the secret store containing credentials for this resource, if any.
23590        '''
23591        self.subdomain = subdomain if subdomain is not None else ''
23592        '''
23593         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23594        '''
23595        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23596        '''
23597         Tags is a map of key, value pairs.
23598        '''
23599        self.tls_required = tls_required if tls_required is not None else False
23600        '''
23601         If set, TLS must be used to connect to this resource.
23602        '''
23603        self.username = username if username is not None else ''
23604        '''
23605         The username to authenticate with.
23606        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
23627    def to_dict(self):
23628        return {
23629            'bind_interface': self.bind_interface,
23630            'egress_filter': self.egress_filter,
23631            'healthy': self.healthy,
23632            'hostname': self.hostname,
23633            'id': self.id,
23634            'name': self.name,
23635            'password': self.password,
23636            'port': self.port,
23637            'port_override': self.port_override,
23638            'proxy_cluster_id': self.proxy_cluster_id,
23639            'secret_store_id': self.secret_store_id,
23640            'subdomain': self.subdomain,
23641            'tags': self.tags,
23642            'tls_required': self.tls_required,
23643            'username': self.username,
23644        }
@classmethod
def from_dict(cls, d)
23646    @classmethod
23647    def from_dict(cls, d):
23648        return cls(
23649            bind_interface=d.get('bind_interface'),
23650            egress_filter=d.get('egress_filter'),
23651            healthy=d.get('healthy'),
23652            hostname=d.get('hostname'),
23653            id=d.get('id'),
23654            name=d.get('name'),
23655            password=d.get('password'),
23656            port=d.get('port'),
23657            port_override=d.get('port_override'),
23658            proxy_cluster_id=d.get('proxy_cluster_id'),
23659            secret_store_id=d.get('secret_store_id'),
23660            subdomain=d.get('subdomain'),
23661            tags=d.get('tags'),
23662            tls_required=d.get('tls_required'),
23663            username=d.get('username'),
23664        )
class RateLimitMetadata:
23667class RateLimitMetadata:
23668    '''
23669         RateLimitMetadata contains information about remaining requests avaialable
23670     to the user over some timeframe.
23671    '''
23672    __slots__ = [
23673        'bucket',
23674        'limit',
23675        'remaining',
23676        'reset_at',
23677    ]
23678
23679    def __init__(
23680        self,
23681        bucket=None,
23682        limit=None,
23683        remaining=None,
23684        reset_at=None,
23685    ):
23686        self.bucket = bucket if bucket is not None else ''
23687        '''
23688         The bucket this user/token is associated with, which may be shared between
23689         multiple users/tokens.
23690        '''
23691        self.limit = limit if limit is not None else 0
23692        '''
23693         How many total requests the user/token is authorized to make before being
23694         rate limited.
23695        '''
23696        self.remaining = remaining if remaining is not None else 0
23697        '''
23698         How many remaining requests out of the limit are still avaialable.
23699        '''
23700        self.reset_at = reset_at if reset_at is not None else None
23701        '''
23702         The time when remaining will be reset to limit.
23703        '''
23704
23705    def __repr__(self):
23706        return '<sdm.RateLimitMetadata ' + \
23707            'bucket: ' + repr(self.bucket) + ' ' +\
23708            'limit: ' + repr(self.limit) + ' ' +\
23709            'remaining: ' + repr(self.remaining) + ' ' +\
23710            'reset_at: ' + repr(self.reset_at) + ' ' +\
23711            '>'
23712
23713    def to_dict(self):
23714        return {
23715            'bucket': self.bucket,
23716            'limit': self.limit,
23717            'remaining': self.remaining,
23718            'reset_at': self.reset_at,
23719        }
23720
23721    @classmethod
23722    def from_dict(cls, d):
23723        return cls(
23724            bucket=d.get('bucket'),
23725            limit=d.get('limit'),
23726            remaining=d.get('remaining'),
23727            reset_at=d.get('reset_at'),
23728        )

RateLimitMetadata contains information about remaining requests avaialable to the user over some timeframe.

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
23679    def __init__(
23680        self,
23681        bucket=None,
23682        limit=None,
23683        remaining=None,
23684        reset_at=None,
23685    ):
23686        self.bucket = bucket if bucket is not None else ''
23687        '''
23688         The bucket this user/token is associated with, which may be shared between
23689         multiple users/tokens.
23690        '''
23691        self.limit = limit if limit is not None else 0
23692        '''
23693         How many total requests the user/token is authorized to make before being
23694         rate limited.
23695        '''
23696        self.remaining = remaining if remaining is not None else 0
23697        '''
23698         How many remaining requests out of the limit are still avaialable.
23699        '''
23700        self.reset_at = reset_at if reset_at is not None else None
23701        '''
23702         The time when remaining will be reset to limit.
23703        '''
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)
23713    def to_dict(self):
23714        return {
23715            'bucket': self.bucket,
23716            'limit': self.limit,
23717            'remaining': self.remaining,
23718            'reset_at': self.reset_at,
23719        }
@classmethod
def from_dict(cls, d)
23721    @classmethod
23722    def from_dict(cls, d):
23723        return cls(
23724            bucket=d.get('bucket'),
23725            limit=d.get('limit'),
23726            remaining=d.get('remaining'),
23727            reset_at=d.get('reset_at'),
23728        )
class RawTCP:
23731class RawTCP:
23732    __slots__ = [
23733        'bind_interface',
23734        'egress_filter',
23735        'healthy',
23736        'hostname',
23737        'id',
23738        'name',
23739        'port',
23740        'port_override',
23741        'proxy_cluster_id',
23742        'secret_store_id',
23743        'subdomain',
23744        'tags',
23745    ]
23746
23747    def __init__(
23748        self,
23749        bind_interface=None,
23750        egress_filter=None,
23751        healthy=None,
23752        hostname=None,
23753        id=None,
23754        name=None,
23755        port=None,
23756        port_override=None,
23757        proxy_cluster_id=None,
23758        secret_store_id=None,
23759        subdomain=None,
23760        tags=None,
23761    ):
23762        self.bind_interface = bind_interface if bind_interface is not None else ''
23763        '''
23764         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23765        '''
23766        self.egress_filter = egress_filter if egress_filter is not None else ''
23767        '''
23768         A filter applied to the routing logic to pin datasource to nodes.
23769        '''
23770        self.healthy = healthy if healthy is not None else False
23771        '''
23772         True if the datasource is reachable and the credentials are valid.
23773        '''
23774        self.hostname = hostname if hostname is not None else ''
23775        '''
23776         The host to dial to initiate a connection from the egress node to this resource.
23777        '''
23778        self.id = id if id is not None else ''
23779        '''
23780         Unique identifier of the Resource.
23781        '''
23782        self.name = name if name is not None else ''
23783        '''
23784         Unique human-readable name of the Resource.
23785        '''
23786        self.port = port if port is not None else 0
23787        '''
23788         The port to dial to initiate a connection from the egress node to this resource.
23789        '''
23790        self.port_override = port_override if port_override is not None else 0
23791        '''
23792         The local port used by clients to connect to this resource.
23793        '''
23794        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23795        '''
23796         ID of the proxy cluster for this resource, if any.
23797        '''
23798        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23799        '''
23800         ID of the secret store containing credentials for this resource, if any.
23801        '''
23802        self.subdomain = subdomain if subdomain is not None else ''
23803        '''
23804         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23805        '''
23806        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23807        '''
23808         Tags is a map of key, value pairs.
23809        '''
23810
23811    def __repr__(self):
23812        return '<sdm.RawTCP ' + \
23813            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23814            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23815            'healthy: ' + repr(self.healthy) + ' ' +\
23816            'hostname: ' + repr(self.hostname) + ' ' +\
23817            'id: ' + repr(self.id) + ' ' +\
23818            'name: ' + repr(self.name) + ' ' +\
23819            'port: ' + repr(self.port) + ' ' +\
23820            'port_override: ' + repr(self.port_override) + ' ' +\
23821            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23822            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23823            'subdomain: ' + repr(self.subdomain) + ' ' +\
23824            'tags: ' + repr(self.tags) + ' ' +\
23825            '>'
23826
23827    def to_dict(self):
23828        return {
23829            'bind_interface': self.bind_interface,
23830            'egress_filter': self.egress_filter,
23831            'healthy': self.healthy,
23832            'hostname': self.hostname,
23833            'id': self.id,
23834            'name': self.name,
23835            'port': self.port,
23836            'port_override': self.port_override,
23837            'proxy_cluster_id': self.proxy_cluster_id,
23838            'secret_store_id': self.secret_store_id,
23839            'subdomain': self.subdomain,
23840            'tags': self.tags,
23841        }
23842
23843    @classmethod
23844    def from_dict(cls, d):
23845        return cls(
23846            bind_interface=d.get('bind_interface'),
23847            egress_filter=d.get('egress_filter'),
23848            healthy=d.get('healthy'),
23849            hostname=d.get('hostname'),
23850            id=d.get('id'),
23851            name=d.get('name'),
23852            port=d.get('port'),
23853            port_override=d.get('port_override'),
23854            proxy_cluster_id=d.get('proxy_cluster_id'),
23855            secret_store_id=d.get('secret_store_id'),
23856            subdomain=d.get('subdomain'),
23857            tags=d.get('tags'),
23858        )
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)
23747    def __init__(
23748        self,
23749        bind_interface=None,
23750        egress_filter=None,
23751        healthy=None,
23752        hostname=None,
23753        id=None,
23754        name=None,
23755        port=None,
23756        port_override=None,
23757        proxy_cluster_id=None,
23758        secret_store_id=None,
23759        subdomain=None,
23760        tags=None,
23761    ):
23762        self.bind_interface = bind_interface if bind_interface is not None else ''
23763        '''
23764         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23765        '''
23766        self.egress_filter = egress_filter if egress_filter is not None else ''
23767        '''
23768         A filter applied to the routing logic to pin datasource to nodes.
23769        '''
23770        self.healthy = healthy if healthy is not None else False
23771        '''
23772         True if the datasource is reachable and the credentials are valid.
23773        '''
23774        self.hostname = hostname if hostname is not None else ''
23775        '''
23776         The host to dial to initiate a connection from the egress node to this resource.
23777        '''
23778        self.id = id if id is not None else ''
23779        '''
23780         Unique identifier of the Resource.
23781        '''
23782        self.name = name if name is not None else ''
23783        '''
23784         Unique human-readable name of the Resource.
23785        '''
23786        self.port = port if port is not None else 0
23787        '''
23788         The port to dial to initiate a connection from the egress node to this resource.
23789        '''
23790        self.port_override = port_override if port_override is not None else 0
23791        '''
23792         The local port used by clients to connect to this resource.
23793        '''
23794        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23795        '''
23796         ID of the proxy cluster for this resource, if any.
23797        '''
23798        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23799        '''
23800         ID of the secret store containing credentials for this resource, if any.
23801        '''
23802        self.subdomain = subdomain if subdomain is not None else ''
23803        '''
23804         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23805        '''
23806        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23807        '''
23808         Tags is a map of key, value pairs.
23809        '''
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.

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.

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.

def to_dict(self)
23827    def to_dict(self):
23828        return {
23829            'bind_interface': self.bind_interface,
23830            'egress_filter': self.egress_filter,
23831            'healthy': self.healthy,
23832            'hostname': self.hostname,
23833            'id': self.id,
23834            'name': self.name,
23835            'port': self.port,
23836            'port_override': self.port_override,
23837            'proxy_cluster_id': self.proxy_cluster_id,
23838            'secret_store_id': self.secret_store_id,
23839            'subdomain': self.subdomain,
23840            'tags': self.tags,
23841        }
@classmethod
def from_dict(cls, d)
23843    @classmethod
23844    def from_dict(cls, d):
23845        return cls(
23846            bind_interface=d.get('bind_interface'),
23847            egress_filter=d.get('egress_filter'),
23848            healthy=d.get('healthy'),
23849            hostname=d.get('hostname'),
23850            id=d.get('id'),
23851            name=d.get('name'),
23852            port=d.get('port'),
23853            port_override=d.get('port_override'),
23854            proxy_cluster_id=d.get('proxy_cluster_id'),
23855            secret_store_id=d.get('secret_store_id'),
23856            subdomain=d.get('subdomain'),
23857            tags=d.get('tags'),
23858        )
class Redis:
23861class Redis:
23862    __slots__ = [
23863        'bind_interface',
23864        'egress_filter',
23865        'healthy',
23866        'hostname',
23867        'id',
23868        'name',
23869        'password',
23870        'port',
23871        'port_override',
23872        'proxy_cluster_id',
23873        'secret_store_id',
23874        'subdomain',
23875        'tags',
23876        'tls_required',
23877        'username',
23878    ]
23879
23880    def __init__(
23881        self,
23882        bind_interface=None,
23883        egress_filter=None,
23884        healthy=None,
23885        hostname=None,
23886        id=None,
23887        name=None,
23888        password=None,
23889        port=None,
23890        port_override=None,
23891        proxy_cluster_id=None,
23892        secret_store_id=None,
23893        subdomain=None,
23894        tags=None,
23895        tls_required=None,
23896        username=None,
23897    ):
23898        self.bind_interface = bind_interface if bind_interface is not None else ''
23899        '''
23900         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23901        '''
23902        self.egress_filter = egress_filter if egress_filter is not None else ''
23903        '''
23904         A filter applied to the routing logic to pin datasource to nodes.
23905        '''
23906        self.healthy = healthy if healthy is not None else False
23907        '''
23908         True if the datasource is reachable and the credentials are valid.
23909        '''
23910        self.hostname = hostname if hostname is not None else ''
23911        '''
23912         The host to dial to initiate a connection from the egress node to this resource.
23913        '''
23914        self.id = id if id is not None else ''
23915        '''
23916         Unique identifier of the Resource.
23917        '''
23918        self.name = name if name is not None else ''
23919        '''
23920         Unique human-readable name of the Resource.
23921        '''
23922        self.password = password if password is not None else ''
23923        '''
23924         The password to authenticate with.
23925        '''
23926        self.port = port if port is not None else 0
23927        '''
23928         The port to dial to initiate a connection from the egress node to this resource.
23929        '''
23930        self.port_override = port_override if port_override is not None else 0
23931        '''
23932         The local port used by clients to connect to this resource.
23933        '''
23934        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23935        '''
23936         ID of the proxy cluster for this resource, if any.
23937        '''
23938        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23939        '''
23940         ID of the secret store containing credentials for this resource, if any.
23941        '''
23942        self.subdomain = subdomain if subdomain is not None else ''
23943        '''
23944         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23945        '''
23946        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23947        '''
23948         Tags is a map of key, value pairs.
23949        '''
23950        self.tls_required = tls_required if tls_required is not None else False
23951        '''
23952         If set, TLS must be used to connect to this resource.
23953        '''
23954        self.username = username if username is not None else ''
23955        '''
23956         The username to authenticate with.
23957        '''
23958
23959    def __repr__(self):
23960        return '<sdm.Redis ' + \
23961            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23962            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23963            'healthy: ' + repr(self.healthy) + ' ' +\
23964            'hostname: ' + repr(self.hostname) + ' ' +\
23965            'id: ' + repr(self.id) + ' ' +\
23966            'name: ' + repr(self.name) + ' ' +\
23967            'password: ' + repr(self.password) + ' ' +\
23968            'port: ' + repr(self.port) + ' ' +\
23969            'port_override: ' + repr(self.port_override) + ' ' +\
23970            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23971            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23972            'subdomain: ' + repr(self.subdomain) + ' ' +\
23973            'tags: ' + repr(self.tags) + ' ' +\
23974            'tls_required: ' + repr(self.tls_required) + ' ' +\
23975            'username: ' + repr(self.username) + ' ' +\
23976            '>'
23977
23978    def to_dict(self):
23979        return {
23980            'bind_interface': self.bind_interface,
23981            'egress_filter': self.egress_filter,
23982            'healthy': self.healthy,
23983            'hostname': self.hostname,
23984            'id': self.id,
23985            'name': self.name,
23986            'password': self.password,
23987            'port': self.port,
23988            'port_override': self.port_override,
23989            'proxy_cluster_id': self.proxy_cluster_id,
23990            'secret_store_id': self.secret_store_id,
23991            'subdomain': self.subdomain,
23992            'tags': self.tags,
23993            'tls_required': self.tls_required,
23994            'username': self.username,
23995        }
23996
23997    @classmethod
23998    def from_dict(cls, d):
23999        return cls(
24000            bind_interface=d.get('bind_interface'),
24001            egress_filter=d.get('egress_filter'),
24002            healthy=d.get('healthy'),
24003            hostname=d.get('hostname'),
24004            id=d.get('id'),
24005            name=d.get('name'),
24006            password=d.get('password'),
24007            port=d.get('port'),
24008            port_override=d.get('port_override'),
24009            proxy_cluster_id=d.get('proxy_cluster_id'),
24010            secret_store_id=d.get('secret_store_id'),
24011            subdomain=d.get('subdomain'),
24012            tags=d.get('tags'),
24013            tls_required=d.get('tls_required'),
24014            username=d.get('username'),
24015        )
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)
23880    def __init__(
23881        self,
23882        bind_interface=None,
23883        egress_filter=None,
23884        healthy=None,
23885        hostname=None,
23886        id=None,
23887        name=None,
23888        password=None,
23889        port=None,
23890        port_override=None,
23891        proxy_cluster_id=None,
23892        secret_store_id=None,
23893        subdomain=None,
23894        tags=None,
23895        tls_required=None,
23896        username=None,
23897    ):
23898        self.bind_interface = bind_interface if bind_interface is not None else ''
23899        '''
23900         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23901        '''
23902        self.egress_filter = egress_filter if egress_filter is not None else ''
23903        '''
23904         A filter applied to the routing logic to pin datasource to nodes.
23905        '''
23906        self.healthy = healthy if healthy is not None else False
23907        '''
23908         True if the datasource is reachable and the credentials are valid.
23909        '''
23910        self.hostname = hostname if hostname is not None else ''
23911        '''
23912         The host to dial to initiate a connection from the egress node to this resource.
23913        '''
23914        self.id = id if id is not None else ''
23915        '''
23916         Unique identifier of the Resource.
23917        '''
23918        self.name = name if name is not None else ''
23919        '''
23920         Unique human-readable name of the Resource.
23921        '''
23922        self.password = password if password is not None else ''
23923        '''
23924         The password to authenticate with.
23925        '''
23926        self.port = port if port is not None else 0
23927        '''
23928         The port to dial to initiate a connection from the egress node to this resource.
23929        '''
23930        self.port_override = port_override if port_override is not None else 0
23931        '''
23932         The local port used by clients to connect to this resource.
23933        '''
23934        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23935        '''
23936         ID of the proxy cluster for this resource, if any.
23937        '''
23938        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23939        '''
23940         ID of the secret store containing credentials for this resource, if any.
23941        '''
23942        self.subdomain = subdomain if subdomain is not None else ''
23943        '''
23944         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23945        '''
23946        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23947        '''
23948         Tags is a map of key, value pairs.
23949        '''
23950        self.tls_required = tls_required if tls_required is not None else False
23951        '''
23952         If set, TLS must be used to connect to this resource.
23953        '''
23954        self.username = username if username is not None else ''
23955        '''
23956         The username to authenticate with.
23957        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
23978    def to_dict(self):
23979        return {
23980            'bind_interface': self.bind_interface,
23981            'egress_filter': self.egress_filter,
23982            'healthy': self.healthy,
23983            'hostname': self.hostname,
23984            'id': self.id,
23985            'name': self.name,
23986            'password': self.password,
23987            'port': self.port,
23988            'port_override': self.port_override,
23989            'proxy_cluster_id': self.proxy_cluster_id,
23990            'secret_store_id': self.secret_store_id,
23991            'subdomain': self.subdomain,
23992            'tags': self.tags,
23993            'tls_required': self.tls_required,
23994            'username': self.username,
23995        }
@classmethod
def from_dict(cls, d)
23997    @classmethod
23998    def from_dict(cls, d):
23999        return cls(
24000            bind_interface=d.get('bind_interface'),
24001            egress_filter=d.get('egress_filter'),
24002            healthy=d.get('healthy'),
24003            hostname=d.get('hostname'),
24004            id=d.get('id'),
24005            name=d.get('name'),
24006            password=d.get('password'),
24007            port=d.get('port'),
24008            port_override=d.get('port_override'),
24009            proxy_cluster_id=d.get('proxy_cluster_id'),
24010            secret_store_id=d.get('secret_store_id'),
24011            subdomain=d.get('subdomain'),
24012            tags=d.get('tags'),
24013            tls_required=d.get('tls_required'),
24014            username=d.get('username'),
24015        )
class RedisCluster:
24018class RedisCluster:
24019    __slots__ = [
24020        'bind_interface',
24021        'egress_filter',
24022        'healthy',
24023        'hostname',
24024        'id',
24025        'name',
24026        'password',
24027        'port',
24028        'port_override',
24029        'proxy_cluster_id',
24030        'secret_store_id',
24031        'subdomain',
24032        'tags',
24033        'tls_required',
24034        'username',
24035    ]
24036
24037    def __init__(
24038        self,
24039        bind_interface=None,
24040        egress_filter=None,
24041        healthy=None,
24042        hostname=None,
24043        id=None,
24044        name=None,
24045        password=None,
24046        port=None,
24047        port_override=None,
24048        proxy_cluster_id=None,
24049        secret_store_id=None,
24050        subdomain=None,
24051        tags=None,
24052        tls_required=None,
24053        username=None,
24054    ):
24055        self.bind_interface = bind_interface if bind_interface is not None else ''
24056        '''
24057         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24058        '''
24059        self.egress_filter = egress_filter if egress_filter is not None else ''
24060        '''
24061         A filter applied to the routing logic to pin datasource to nodes.
24062        '''
24063        self.healthy = healthy if healthy is not None else False
24064        '''
24065         True if the datasource is reachable and the credentials are valid.
24066        '''
24067        self.hostname = hostname if hostname is not None else ''
24068        '''
24069         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
24070        '''
24071        self.id = id if id is not None else ''
24072        '''
24073         Unique identifier of the Resource.
24074        '''
24075        self.name = name if name is not None else ''
24076        '''
24077         Unique human-readable name of the Resource.
24078        '''
24079        self.password = password if password is not None else ''
24080        '''
24081         The password to authenticate with.
24082        '''
24083        self.port = port if port is not None else 0
24084        '''
24085         The port to dial to initiate a connection from the egress node to this resource.
24086        '''
24087        self.port_override = port_override if port_override is not None else 0
24088        '''
24089         The local port used by clients to connect to this resource.
24090        '''
24091        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24092        '''
24093         ID of the proxy cluster for this resource, if any.
24094        '''
24095        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24096        '''
24097         ID of the secret store containing credentials for this resource, if any.
24098        '''
24099        self.subdomain = subdomain if subdomain is not None else ''
24100        '''
24101         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24102        '''
24103        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24104        '''
24105         Tags is a map of key, value pairs.
24106        '''
24107        self.tls_required = tls_required if tls_required is not None else False
24108        '''
24109         If set, TLS must be used to connect to this resource.
24110        '''
24111        self.username = username if username is not None else ''
24112        '''
24113         The username to authenticate with.
24114        '''
24115
24116    def __repr__(self):
24117        return '<sdm.RedisCluster ' + \
24118            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24119            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24120            'healthy: ' + repr(self.healthy) + ' ' +\
24121            'hostname: ' + repr(self.hostname) + ' ' +\
24122            'id: ' + repr(self.id) + ' ' +\
24123            'name: ' + repr(self.name) + ' ' +\
24124            'password: ' + repr(self.password) + ' ' +\
24125            'port: ' + repr(self.port) + ' ' +\
24126            'port_override: ' + repr(self.port_override) + ' ' +\
24127            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24128            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24129            'subdomain: ' + repr(self.subdomain) + ' ' +\
24130            'tags: ' + repr(self.tags) + ' ' +\
24131            'tls_required: ' + repr(self.tls_required) + ' ' +\
24132            'username: ' + repr(self.username) + ' ' +\
24133            '>'
24134
24135    def to_dict(self):
24136        return {
24137            'bind_interface': self.bind_interface,
24138            'egress_filter': self.egress_filter,
24139            'healthy': self.healthy,
24140            'hostname': self.hostname,
24141            'id': self.id,
24142            'name': self.name,
24143            'password': self.password,
24144            'port': self.port,
24145            'port_override': self.port_override,
24146            'proxy_cluster_id': self.proxy_cluster_id,
24147            'secret_store_id': self.secret_store_id,
24148            'subdomain': self.subdomain,
24149            'tags': self.tags,
24150            'tls_required': self.tls_required,
24151            'username': self.username,
24152        }
24153
24154    @classmethod
24155    def from_dict(cls, d):
24156        return cls(
24157            bind_interface=d.get('bind_interface'),
24158            egress_filter=d.get('egress_filter'),
24159            healthy=d.get('healthy'),
24160            hostname=d.get('hostname'),
24161            id=d.get('id'),
24162            name=d.get('name'),
24163            password=d.get('password'),
24164            port=d.get('port'),
24165            port_override=d.get('port_override'),
24166            proxy_cluster_id=d.get('proxy_cluster_id'),
24167            secret_store_id=d.get('secret_store_id'),
24168            subdomain=d.get('subdomain'),
24169            tags=d.get('tags'),
24170            tls_required=d.get('tls_required'),
24171            username=d.get('username'),
24172        )
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)
24037    def __init__(
24038        self,
24039        bind_interface=None,
24040        egress_filter=None,
24041        healthy=None,
24042        hostname=None,
24043        id=None,
24044        name=None,
24045        password=None,
24046        port=None,
24047        port_override=None,
24048        proxy_cluster_id=None,
24049        secret_store_id=None,
24050        subdomain=None,
24051        tags=None,
24052        tls_required=None,
24053        username=None,
24054    ):
24055        self.bind_interface = bind_interface if bind_interface is not None else ''
24056        '''
24057         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24058        '''
24059        self.egress_filter = egress_filter if egress_filter is not None else ''
24060        '''
24061         A filter applied to the routing logic to pin datasource to nodes.
24062        '''
24063        self.healthy = healthy if healthy is not None else False
24064        '''
24065         True if the datasource is reachable and the credentials are valid.
24066        '''
24067        self.hostname = hostname if hostname is not None else ''
24068        '''
24069         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
24070        '''
24071        self.id = id if id is not None else ''
24072        '''
24073         Unique identifier of the Resource.
24074        '''
24075        self.name = name if name is not None else ''
24076        '''
24077         Unique human-readable name of the Resource.
24078        '''
24079        self.password = password if password is not None else ''
24080        '''
24081         The password to authenticate with.
24082        '''
24083        self.port = port if port is not None else 0
24084        '''
24085         The port to dial to initiate a connection from the egress node to this resource.
24086        '''
24087        self.port_override = port_override if port_override is not None else 0
24088        '''
24089         The local port used by clients to connect to this resource.
24090        '''
24091        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24092        '''
24093         ID of the proxy cluster for this resource, if any.
24094        '''
24095        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24096        '''
24097         ID of the secret store containing credentials for this resource, if any.
24098        '''
24099        self.subdomain = subdomain if subdomain is not None else ''
24100        '''
24101         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24102        '''
24103        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24104        '''
24105         Tags is a map of key, value pairs.
24106        '''
24107        self.tls_required = tls_required if tls_required is not None else False
24108        '''
24109         If set, TLS must be used to connect to this resource.
24110        '''
24111        self.username = username if username is not None else ''
24112        '''
24113         The username to authenticate with.
24114        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
24135    def to_dict(self):
24136        return {
24137            'bind_interface': self.bind_interface,
24138            'egress_filter': self.egress_filter,
24139            'healthy': self.healthy,
24140            'hostname': self.hostname,
24141            'id': self.id,
24142            'name': self.name,
24143            'password': self.password,
24144            'port': self.port,
24145            'port_override': self.port_override,
24146            'proxy_cluster_id': self.proxy_cluster_id,
24147            'secret_store_id': self.secret_store_id,
24148            'subdomain': self.subdomain,
24149            'tags': self.tags,
24150            'tls_required': self.tls_required,
24151            'username': self.username,
24152        }
@classmethod
def from_dict(cls, d)
24154    @classmethod
24155    def from_dict(cls, d):
24156        return cls(
24157            bind_interface=d.get('bind_interface'),
24158            egress_filter=d.get('egress_filter'),
24159            healthy=d.get('healthy'),
24160            hostname=d.get('hostname'),
24161            id=d.get('id'),
24162            name=d.get('name'),
24163            password=d.get('password'),
24164            port=d.get('port'),
24165            port_override=d.get('port_override'),
24166            proxy_cluster_id=d.get('proxy_cluster_id'),
24167            secret_store_id=d.get('secret_store_id'),
24168            subdomain=d.get('subdomain'),
24169            tags=d.get('tags'),
24170            tls_required=d.get('tls_required'),
24171            username=d.get('username'),
24172        )
class Redshift:
24175class Redshift:
24176    __slots__ = [
24177        'bind_interface',
24178        'database',
24179        'egress_filter',
24180        'healthy',
24181        'hostname',
24182        'id',
24183        'name',
24184        'override_database',
24185        'password',
24186        'port',
24187        'port_override',
24188        'proxy_cluster_id',
24189        'secret_store_id',
24190        'subdomain',
24191        'tags',
24192        'username',
24193    ]
24194
24195    def __init__(
24196        self,
24197        bind_interface=None,
24198        database=None,
24199        egress_filter=None,
24200        healthy=None,
24201        hostname=None,
24202        id=None,
24203        name=None,
24204        override_database=None,
24205        password=None,
24206        port=None,
24207        port_override=None,
24208        proxy_cluster_id=None,
24209        secret_store_id=None,
24210        subdomain=None,
24211        tags=None,
24212        username=None,
24213    ):
24214        self.bind_interface = bind_interface if bind_interface is not None else ''
24215        '''
24216         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24217        '''
24218        self.database = database if database is not None else ''
24219        '''
24220         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24221        '''
24222        self.egress_filter = egress_filter if egress_filter is not None else ''
24223        '''
24224         A filter applied to the routing logic to pin datasource to nodes.
24225        '''
24226        self.healthy = healthy if healthy is not None else False
24227        '''
24228         True if the datasource is reachable and the credentials are valid.
24229        '''
24230        self.hostname = hostname if hostname is not None else ''
24231        '''
24232         The host to dial to initiate a connection from the egress node to this resource.
24233        '''
24234        self.id = id if id is not None else ''
24235        '''
24236         Unique identifier of the Resource.
24237        '''
24238        self.name = name if name is not None else ''
24239        '''
24240         Unique human-readable name of the Resource.
24241        '''
24242        self.override_database = override_database if override_database is not None else False
24243        '''
24244         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.
24245        '''
24246        self.password = password if password is not None else ''
24247        '''
24248         The password to authenticate with.
24249        '''
24250        self.port = port if port is not None else 0
24251        '''
24252         The port to dial to initiate a connection from the egress node to this resource.
24253        '''
24254        self.port_override = port_override if port_override is not None else 0
24255        '''
24256         The local port used by clients to connect to this resource.
24257        '''
24258        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24259        '''
24260         ID of the proxy cluster for this resource, if any.
24261        '''
24262        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24263        '''
24264         ID of the secret store containing credentials for this resource, if any.
24265        '''
24266        self.subdomain = subdomain if subdomain is not None else ''
24267        '''
24268         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24269        '''
24270        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24271        '''
24272         Tags is a map of key, value pairs.
24273        '''
24274        self.username = username if username is not None else ''
24275        '''
24276         The username to authenticate with.
24277        '''
24278
24279    def __repr__(self):
24280        return '<sdm.Redshift ' + \
24281            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24282            'database: ' + repr(self.database) + ' ' +\
24283            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24284            'healthy: ' + repr(self.healthy) + ' ' +\
24285            'hostname: ' + repr(self.hostname) + ' ' +\
24286            'id: ' + repr(self.id) + ' ' +\
24287            'name: ' + repr(self.name) + ' ' +\
24288            'override_database: ' + repr(self.override_database) + ' ' +\
24289            'password: ' + repr(self.password) + ' ' +\
24290            'port: ' + repr(self.port) + ' ' +\
24291            'port_override: ' + repr(self.port_override) + ' ' +\
24292            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24293            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24294            'subdomain: ' + repr(self.subdomain) + ' ' +\
24295            'tags: ' + repr(self.tags) + ' ' +\
24296            'username: ' + repr(self.username) + ' ' +\
24297            '>'
24298
24299    def to_dict(self):
24300        return {
24301            'bind_interface': self.bind_interface,
24302            'database': self.database,
24303            'egress_filter': self.egress_filter,
24304            'healthy': self.healthy,
24305            'hostname': self.hostname,
24306            'id': self.id,
24307            'name': self.name,
24308            'override_database': self.override_database,
24309            'password': self.password,
24310            'port': self.port,
24311            'port_override': self.port_override,
24312            'proxy_cluster_id': self.proxy_cluster_id,
24313            'secret_store_id': self.secret_store_id,
24314            'subdomain': self.subdomain,
24315            'tags': self.tags,
24316            'username': self.username,
24317        }
24318
24319    @classmethod
24320    def from_dict(cls, d):
24321        return cls(
24322            bind_interface=d.get('bind_interface'),
24323            database=d.get('database'),
24324            egress_filter=d.get('egress_filter'),
24325            healthy=d.get('healthy'),
24326            hostname=d.get('hostname'),
24327            id=d.get('id'),
24328            name=d.get('name'),
24329            override_database=d.get('override_database'),
24330            password=d.get('password'),
24331            port=d.get('port'),
24332            port_override=d.get('port_override'),
24333            proxy_cluster_id=d.get('proxy_cluster_id'),
24334            secret_store_id=d.get('secret_store_id'),
24335            subdomain=d.get('subdomain'),
24336            tags=d.get('tags'),
24337            username=d.get('username'),
24338        )
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)
24195    def __init__(
24196        self,
24197        bind_interface=None,
24198        database=None,
24199        egress_filter=None,
24200        healthy=None,
24201        hostname=None,
24202        id=None,
24203        name=None,
24204        override_database=None,
24205        password=None,
24206        port=None,
24207        port_override=None,
24208        proxy_cluster_id=None,
24209        secret_store_id=None,
24210        subdomain=None,
24211        tags=None,
24212        username=None,
24213    ):
24214        self.bind_interface = bind_interface if bind_interface is not None else ''
24215        '''
24216         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24217        '''
24218        self.database = database if database is not None else ''
24219        '''
24220         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24221        '''
24222        self.egress_filter = egress_filter if egress_filter is not None else ''
24223        '''
24224         A filter applied to the routing logic to pin datasource to nodes.
24225        '''
24226        self.healthy = healthy if healthy is not None else False
24227        '''
24228         True if the datasource is reachable and the credentials are valid.
24229        '''
24230        self.hostname = hostname if hostname is not None else ''
24231        '''
24232         The host to dial to initiate a connection from the egress node to this resource.
24233        '''
24234        self.id = id if id is not None else ''
24235        '''
24236         Unique identifier of the Resource.
24237        '''
24238        self.name = name if name is not None else ''
24239        '''
24240         Unique human-readable name of the Resource.
24241        '''
24242        self.override_database = override_database if override_database is not None else False
24243        '''
24244         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.
24245        '''
24246        self.password = password if password is not None else ''
24247        '''
24248         The password to authenticate with.
24249        '''
24250        self.port = port if port is not None else 0
24251        '''
24252         The port to dial to initiate a connection from the egress node to this resource.
24253        '''
24254        self.port_override = port_override if port_override is not None else 0
24255        '''
24256         The local port used by clients to connect to this resource.
24257        '''
24258        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24259        '''
24260         ID of the proxy cluster for this resource, if any.
24261        '''
24262        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24263        '''
24264         ID of the secret store containing credentials for this resource, if any.
24265        '''
24266        self.subdomain = subdomain if subdomain is not None else ''
24267        '''
24268         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24269        '''
24270        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24271        '''
24272         Tags is a map of key, value pairs.
24273        '''
24274        self.username = username if username is not None else ''
24275        '''
24276         The username to authenticate with.
24277        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
24299    def to_dict(self):
24300        return {
24301            'bind_interface': self.bind_interface,
24302            'database': self.database,
24303            'egress_filter': self.egress_filter,
24304            'healthy': self.healthy,
24305            'hostname': self.hostname,
24306            'id': self.id,
24307            'name': self.name,
24308            'override_database': self.override_database,
24309            'password': self.password,
24310            'port': self.port,
24311            'port_override': self.port_override,
24312            'proxy_cluster_id': self.proxy_cluster_id,
24313            'secret_store_id': self.secret_store_id,
24314            'subdomain': self.subdomain,
24315            'tags': self.tags,
24316            'username': self.username,
24317        }
@classmethod
def from_dict(cls, d)
24319    @classmethod
24320    def from_dict(cls, d):
24321        return cls(
24322            bind_interface=d.get('bind_interface'),
24323            database=d.get('database'),
24324            egress_filter=d.get('egress_filter'),
24325            healthy=d.get('healthy'),
24326            hostname=d.get('hostname'),
24327            id=d.get('id'),
24328            name=d.get('name'),
24329            override_database=d.get('override_database'),
24330            password=d.get('password'),
24331            port=d.get('port'),
24332            port_override=d.get('port_override'),
24333            proxy_cluster_id=d.get('proxy_cluster_id'),
24334            secret_store_id=d.get('secret_store_id'),
24335            subdomain=d.get('subdomain'),
24336            tags=d.get('tags'),
24337            username=d.get('username'),
24338        )
class RedshiftIAM:
24341class RedshiftIAM:
24342    __slots__ = [
24343        'bind_interface',
24344        'cluster_id',
24345        'database',
24346        'egress_filter',
24347        'healthy',
24348        'hostname',
24349        'id',
24350        'name',
24351        'override_database',
24352        'port',
24353        'port_override',
24354        'proxy_cluster_id',
24355        'region',
24356        'role_assumption_arn',
24357        'secret_store_id',
24358        'subdomain',
24359        'tags',
24360    ]
24361
24362    def __init__(
24363        self,
24364        bind_interface=None,
24365        cluster_id=None,
24366        database=None,
24367        egress_filter=None,
24368        healthy=None,
24369        hostname=None,
24370        id=None,
24371        name=None,
24372        override_database=None,
24373        port=None,
24374        port_override=None,
24375        proxy_cluster_id=None,
24376        region=None,
24377        role_assumption_arn=None,
24378        secret_store_id=None,
24379        subdomain=None,
24380        tags=None,
24381    ):
24382        self.bind_interface = bind_interface if bind_interface is not None else ''
24383        '''
24384         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24385        '''
24386        self.cluster_id = cluster_id if cluster_id is not None else ''
24387        '''
24388         Cluster Identified of Redshift cluster
24389        '''
24390        self.database = database if database is not None else ''
24391        '''
24392         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24393        '''
24394        self.egress_filter = egress_filter if egress_filter is not None else ''
24395        '''
24396         A filter applied to the routing logic to pin datasource to nodes.
24397        '''
24398        self.healthy = healthy if healthy is not None else False
24399        '''
24400         True if the datasource is reachable and the credentials are valid.
24401        '''
24402        self.hostname = hostname if hostname is not None else ''
24403        '''
24404         The host to dial to initiate a connection from the egress node to this resource.
24405        '''
24406        self.id = id if id is not None else ''
24407        '''
24408         Unique identifier of the Resource.
24409        '''
24410        self.name = name if name is not None else ''
24411        '''
24412         Unique human-readable name of the Resource.
24413        '''
24414        self.override_database = override_database if override_database is not None else False
24415        '''
24416         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.
24417        '''
24418        self.port = port if port is not None else 0
24419        '''
24420         The port to dial to initiate a connection from the egress node to this resource.
24421        '''
24422        self.port_override = port_override if port_override is not None else 0
24423        '''
24424         The local port used by clients to connect to this resource.
24425        '''
24426        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24427        '''
24428         ID of the proxy cluster for this resource, if any.
24429        '''
24430        self.region = region if region is not None else ''
24431        '''
24432         The AWS region to connect to.
24433        '''
24434        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24435        '''
24436         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24437        '''
24438        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24439        '''
24440         ID of the secret store containing credentials for this resource, if any.
24441        '''
24442        self.subdomain = subdomain if subdomain is not None else ''
24443        '''
24444         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24445        '''
24446        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24447        '''
24448         Tags is a map of key, value pairs.
24449        '''
24450
24451    def __repr__(self):
24452        return '<sdm.RedshiftIAM ' + \
24453            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24454            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
24455            'database: ' + repr(self.database) + ' ' +\
24456            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24457            'healthy: ' + repr(self.healthy) + ' ' +\
24458            'hostname: ' + repr(self.hostname) + ' ' +\
24459            'id: ' + repr(self.id) + ' ' +\
24460            'name: ' + repr(self.name) + ' ' +\
24461            'override_database: ' + repr(self.override_database) + ' ' +\
24462            'port: ' + repr(self.port) + ' ' +\
24463            'port_override: ' + repr(self.port_override) + ' ' +\
24464            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24465            'region: ' + repr(self.region) + ' ' +\
24466            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24467            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24468            'subdomain: ' + repr(self.subdomain) + ' ' +\
24469            'tags: ' + repr(self.tags) + ' ' +\
24470            '>'
24471
24472    def to_dict(self):
24473        return {
24474            'bind_interface': self.bind_interface,
24475            'cluster_id': self.cluster_id,
24476            'database': self.database,
24477            'egress_filter': self.egress_filter,
24478            'healthy': self.healthy,
24479            'hostname': self.hostname,
24480            'id': self.id,
24481            'name': self.name,
24482            'override_database': self.override_database,
24483            'port': self.port,
24484            'port_override': self.port_override,
24485            'proxy_cluster_id': self.proxy_cluster_id,
24486            'region': self.region,
24487            'role_assumption_arn': self.role_assumption_arn,
24488            'secret_store_id': self.secret_store_id,
24489            'subdomain': self.subdomain,
24490            'tags': self.tags,
24491        }
24492
24493    @classmethod
24494    def from_dict(cls, d):
24495        return cls(
24496            bind_interface=d.get('bind_interface'),
24497            cluster_id=d.get('cluster_id'),
24498            database=d.get('database'),
24499            egress_filter=d.get('egress_filter'),
24500            healthy=d.get('healthy'),
24501            hostname=d.get('hostname'),
24502            id=d.get('id'),
24503            name=d.get('name'),
24504            override_database=d.get('override_database'),
24505            port=d.get('port'),
24506            port_override=d.get('port_override'),
24507            proxy_cluster_id=d.get('proxy_cluster_id'),
24508            region=d.get('region'),
24509            role_assumption_arn=d.get('role_assumption_arn'),
24510            secret_store_id=d.get('secret_store_id'),
24511            subdomain=d.get('subdomain'),
24512            tags=d.get('tags'),
24513        )
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)
24362    def __init__(
24363        self,
24364        bind_interface=None,
24365        cluster_id=None,
24366        database=None,
24367        egress_filter=None,
24368        healthy=None,
24369        hostname=None,
24370        id=None,
24371        name=None,
24372        override_database=None,
24373        port=None,
24374        port_override=None,
24375        proxy_cluster_id=None,
24376        region=None,
24377        role_assumption_arn=None,
24378        secret_store_id=None,
24379        subdomain=None,
24380        tags=None,
24381    ):
24382        self.bind_interface = bind_interface if bind_interface is not None else ''
24383        '''
24384         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24385        '''
24386        self.cluster_id = cluster_id if cluster_id is not None else ''
24387        '''
24388         Cluster Identified of Redshift cluster
24389        '''
24390        self.database = database if database is not None else ''
24391        '''
24392         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24393        '''
24394        self.egress_filter = egress_filter if egress_filter is not None else ''
24395        '''
24396         A filter applied to the routing logic to pin datasource to nodes.
24397        '''
24398        self.healthy = healthy if healthy is not None else False
24399        '''
24400         True if the datasource is reachable and the credentials are valid.
24401        '''
24402        self.hostname = hostname if hostname is not None else ''
24403        '''
24404         The host to dial to initiate a connection from the egress node to this resource.
24405        '''
24406        self.id = id if id is not None else ''
24407        '''
24408         Unique identifier of the Resource.
24409        '''
24410        self.name = name if name is not None else ''
24411        '''
24412         Unique human-readable name of the Resource.
24413        '''
24414        self.override_database = override_database if override_database is not None else False
24415        '''
24416         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.
24417        '''
24418        self.port = port if port is not None else 0
24419        '''
24420         The port to dial to initiate a connection from the egress node to this resource.
24421        '''
24422        self.port_override = port_override if port_override is not None else 0
24423        '''
24424         The local port used by clients to connect to this resource.
24425        '''
24426        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24427        '''
24428         ID of the proxy cluster for this resource, if any.
24429        '''
24430        self.region = region if region is not None else ''
24431        '''
24432         The AWS region to connect to.
24433        '''
24434        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24435        '''
24436         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24437        '''
24438        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24439        '''
24440         ID of the secret store containing credentials for this resource, if any.
24441        '''
24442        self.subdomain = subdomain if subdomain is not None else ''
24443        '''
24444         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24445        '''
24446        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24447        '''
24448         Tags is a map of key, value pairs.
24449        '''
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.

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.

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

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.

def to_dict(self)
24472    def to_dict(self):
24473        return {
24474            'bind_interface': self.bind_interface,
24475            'cluster_id': self.cluster_id,
24476            'database': self.database,
24477            'egress_filter': self.egress_filter,
24478            'healthy': self.healthy,
24479            'hostname': self.hostname,
24480            'id': self.id,
24481            'name': self.name,
24482            'override_database': self.override_database,
24483            'port': self.port,
24484            'port_override': self.port_override,
24485            'proxy_cluster_id': self.proxy_cluster_id,
24486            'region': self.region,
24487            'role_assumption_arn': self.role_assumption_arn,
24488            'secret_store_id': self.secret_store_id,
24489            'subdomain': self.subdomain,
24490            'tags': self.tags,
24491        }
@classmethod
def from_dict(cls, d)
24493    @classmethod
24494    def from_dict(cls, d):
24495        return cls(
24496            bind_interface=d.get('bind_interface'),
24497            cluster_id=d.get('cluster_id'),
24498            database=d.get('database'),
24499            egress_filter=d.get('egress_filter'),
24500            healthy=d.get('healthy'),
24501            hostname=d.get('hostname'),
24502            id=d.get('id'),
24503            name=d.get('name'),
24504            override_database=d.get('override_database'),
24505            port=d.get('port'),
24506            port_override=d.get('port_override'),
24507            proxy_cluster_id=d.get('proxy_cluster_id'),
24508            region=d.get('region'),
24509            role_assumption_arn=d.get('role_assumption_arn'),
24510            secret_store_id=d.get('secret_store_id'),
24511            subdomain=d.get('subdomain'),
24512            tags=d.get('tags'),
24513        )
class RedshiftServerlessIAM:
24516class RedshiftServerlessIAM:
24517    __slots__ = [
24518        'bind_interface',
24519        'database',
24520        'egress_filter',
24521        'healthy',
24522        'hostname',
24523        'id',
24524        'name',
24525        'override_database',
24526        'port',
24527        'port_override',
24528        'proxy_cluster_id',
24529        'region',
24530        'role_assumption_arn',
24531        'secret_store_id',
24532        'subdomain',
24533        'tags',
24534        'workgroup',
24535    ]
24536
24537    def __init__(
24538        self,
24539        bind_interface=None,
24540        database=None,
24541        egress_filter=None,
24542        healthy=None,
24543        hostname=None,
24544        id=None,
24545        name=None,
24546        override_database=None,
24547        port=None,
24548        port_override=None,
24549        proxy_cluster_id=None,
24550        region=None,
24551        role_assumption_arn=None,
24552        secret_store_id=None,
24553        subdomain=None,
24554        tags=None,
24555        workgroup=None,
24556    ):
24557        self.bind_interface = bind_interface if bind_interface is not None else ''
24558        '''
24559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24560        '''
24561        self.database = database if database is not None else ''
24562        '''
24563         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24564        '''
24565        self.egress_filter = egress_filter if egress_filter is not None else ''
24566        '''
24567         A filter applied to the routing logic to pin datasource to nodes.
24568        '''
24569        self.healthy = healthy if healthy is not None else False
24570        '''
24571         True if the datasource is reachable and the credentials are valid.
24572        '''
24573        self.hostname = hostname if hostname is not None else ''
24574        '''
24575         The host to dial to initiate a connection from the egress node to this resource.
24576        '''
24577        self.id = id if id is not None else ''
24578        '''
24579         Unique identifier of the Resource.
24580        '''
24581        self.name = name if name is not None else ''
24582        '''
24583         Unique human-readable name of the Resource.
24584        '''
24585        self.override_database = override_database if override_database is not None else False
24586        '''
24587         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.
24588        '''
24589        self.port = port if port is not None else 0
24590        '''
24591         The port to dial to initiate a connection from the egress node to this resource.
24592        '''
24593        self.port_override = port_override if port_override is not None else 0
24594        '''
24595         The local port used by clients to connect to this resource.
24596        '''
24597        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24598        '''
24599         ID of the proxy cluster for this resource, if any.
24600        '''
24601        self.region = region if region is not None else ''
24602        '''
24603         The AWS region to connect to.
24604        '''
24605        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24606        '''
24607         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24608        '''
24609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24610        '''
24611         ID of the secret store containing credentials for this resource, if any.
24612        '''
24613        self.subdomain = subdomain if subdomain is not None else ''
24614        '''
24615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24616        '''
24617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24618        '''
24619         Tags is a map of key, value pairs.
24620        '''
24621        self.workgroup = workgroup if workgroup is not None else ''
24622        '''
24623         Workgroup name in the serverless Redshift
24624        '''
24625
24626    def __repr__(self):
24627        return '<sdm.RedshiftServerlessIAM ' + \
24628            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24629            'database: ' + repr(self.database) + ' ' +\
24630            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24631            'healthy: ' + repr(self.healthy) + ' ' +\
24632            'hostname: ' + repr(self.hostname) + ' ' +\
24633            'id: ' + repr(self.id) + ' ' +\
24634            'name: ' + repr(self.name) + ' ' +\
24635            'override_database: ' + repr(self.override_database) + ' ' +\
24636            'port: ' + repr(self.port) + ' ' +\
24637            'port_override: ' + repr(self.port_override) + ' ' +\
24638            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24639            'region: ' + repr(self.region) + ' ' +\
24640            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24641            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24642            'subdomain: ' + repr(self.subdomain) + ' ' +\
24643            'tags: ' + repr(self.tags) + ' ' +\
24644            'workgroup: ' + repr(self.workgroup) + ' ' +\
24645            '>'
24646
24647    def to_dict(self):
24648        return {
24649            'bind_interface': self.bind_interface,
24650            'database': self.database,
24651            'egress_filter': self.egress_filter,
24652            'healthy': self.healthy,
24653            'hostname': self.hostname,
24654            'id': self.id,
24655            'name': self.name,
24656            'override_database': self.override_database,
24657            'port': self.port,
24658            'port_override': self.port_override,
24659            'proxy_cluster_id': self.proxy_cluster_id,
24660            'region': self.region,
24661            'role_assumption_arn': self.role_assumption_arn,
24662            'secret_store_id': self.secret_store_id,
24663            'subdomain': self.subdomain,
24664            'tags': self.tags,
24665            'workgroup': self.workgroup,
24666        }
24667
24668    @classmethod
24669    def from_dict(cls, d):
24670        return cls(
24671            bind_interface=d.get('bind_interface'),
24672            database=d.get('database'),
24673            egress_filter=d.get('egress_filter'),
24674            healthy=d.get('healthy'),
24675            hostname=d.get('hostname'),
24676            id=d.get('id'),
24677            name=d.get('name'),
24678            override_database=d.get('override_database'),
24679            port=d.get('port'),
24680            port_override=d.get('port_override'),
24681            proxy_cluster_id=d.get('proxy_cluster_id'),
24682            region=d.get('region'),
24683            role_assumption_arn=d.get('role_assumption_arn'),
24684            secret_store_id=d.get('secret_store_id'),
24685            subdomain=d.get('subdomain'),
24686            tags=d.get('tags'),
24687            workgroup=d.get('workgroup'),
24688        )
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)
24537    def __init__(
24538        self,
24539        bind_interface=None,
24540        database=None,
24541        egress_filter=None,
24542        healthy=None,
24543        hostname=None,
24544        id=None,
24545        name=None,
24546        override_database=None,
24547        port=None,
24548        port_override=None,
24549        proxy_cluster_id=None,
24550        region=None,
24551        role_assumption_arn=None,
24552        secret_store_id=None,
24553        subdomain=None,
24554        tags=None,
24555        workgroup=None,
24556    ):
24557        self.bind_interface = bind_interface if bind_interface is not None else ''
24558        '''
24559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24560        '''
24561        self.database = database if database is not None else ''
24562        '''
24563         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24564        '''
24565        self.egress_filter = egress_filter if egress_filter is not None else ''
24566        '''
24567         A filter applied to the routing logic to pin datasource to nodes.
24568        '''
24569        self.healthy = healthy if healthy is not None else False
24570        '''
24571         True if the datasource is reachable and the credentials are valid.
24572        '''
24573        self.hostname = hostname if hostname is not None else ''
24574        '''
24575         The host to dial to initiate a connection from the egress node to this resource.
24576        '''
24577        self.id = id if id is not None else ''
24578        '''
24579         Unique identifier of the Resource.
24580        '''
24581        self.name = name if name is not None else ''
24582        '''
24583         Unique human-readable name of the Resource.
24584        '''
24585        self.override_database = override_database if override_database is not None else False
24586        '''
24587         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.
24588        '''
24589        self.port = port if port is not None else 0
24590        '''
24591         The port to dial to initiate a connection from the egress node to this resource.
24592        '''
24593        self.port_override = port_override if port_override is not None else 0
24594        '''
24595         The local port used by clients to connect to this resource.
24596        '''
24597        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24598        '''
24599         ID of the proxy cluster for this resource, if any.
24600        '''
24601        self.region = region if region is not None else ''
24602        '''
24603         The AWS region to connect to.
24604        '''
24605        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24606        '''
24607         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24608        '''
24609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24610        '''
24611         ID of the secret store containing credentials for this resource, if any.
24612        '''
24613        self.subdomain = subdomain if subdomain is not None else ''
24614        '''
24615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24616        '''
24617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24618        '''
24619         Tags is a map of key, value pairs.
24620        '''
24621        self.workgroup = workgroup if workgroup is not None else ''
24622        '''
24623         Workgroup name in the serverless Redshift
24624        '''
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.

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.

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

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.

workgroup

Workgroup name in the serverless Redshift

def to_dict(self)
24647    def to_dict(self):
24648        return {
24649            'bind_interface': self.bind_interface,
24650            'database': self.database,
24651            'egress_filter': self.egress_filter,
24652            'healthy': self.healthy,
24653            'hostname': self.hostname,
24654            'id': self.id,
24655            'name': self.name,
24656            'override_database': self.override_database,
24657            'port': self.port,
24658            'port_override': self.port_override,
24659            'proxy_cluster_id': self.proxy_cluster_id,
24660            'region': self.region,
24661            'role_assumption_arn': self.role_assumption_arn,
24662            'secret_store_id': self.secret_store_id,
24663            'subdomain': self.subdomain,
24664            'tags': self.tags,
24665            'workgroup': self.workgroup,
24666        }
@classmethod
def from_dict(cls, d)
24668    @classmethod
24669    def from_dict(cls, d):
24670        return cls(
24671            bind_interface=d.get('bind_interface'),
24672            database=d.get('database'),
24673            egress_filter=d.get('egress_filter'),
24674            healthy=d.get('healthy'),
24675            hostname=d.get('hostname'),
24676            id=d.get('id'),
24677            name=d.get('name'),
24678            override_database=d.get('override_database'),
24679            port=d.get('port'),
24680            port_override=d.get('port_override'),
24681            proxy_cluster_id=d.get('proxy_cluster_id'),
24682            region=d.get('region'),
24683            role_assumption_arn=d.get('role_assumption_arn'),
24684            secret_store_id=d.get('secret_store_id'),
24685            subdomain=d.get('subdomain'),
24686            tags=d.get('tags'),
24687            workgroup=d.get('workgroup'),
24688        )
class Relay:
24691class Relay:
24692    '''
24693         Relay represents a StrongDM CLI installation running in relay mode.
24694    '''
24695    __slots__ = [
24696        'device',
24697        'gateway_filter',
24698        'id',
24699        'location',
24700        'maintenance_windows',
24701        'name',
24702        'state',
24703        'tags',
24704        'version',
24705    ]
24706
24707    def __init__(
24708        self,
24709        device=None,
24710        gateway_filter=None,
24711        id=None,
24712        location=None,
24713        maintenance_windows=None,
24714        name=None,
24715        state=None,
24716        tags=None,
24717        version=None,
24718    ):
24719        self.device = device if device is not None else ''
24720        '''
24721         Device is a read only device name uploaded by the gateway process when
24722         it comes online.
24723        '''
24724        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24725        '''
24726         GatewayFilter can be used to restrict the peering between relays and
24727         gateways. Deprecated.
24728        '''
24729        self.id = id if id is not None else ''
24730        '''
24731         Unique identifier of the Relay.
24732        '''
24733        self.location = location if location is not None else ''
24734        '''
24735         Location is a read only network location uploaded by the gateway process
24736         when it comes online.
24737        '''
24738        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24739        '''
24740         Maintenance Windows define when this node is allowed to restart. If a node
24741         is requested to restart, it will check each window to determine if any of
24742         them permit it to restart, and if any do, it will. This check is repeated
24743         per window until the restart is successfully completed.
24744         
24745         If not set here, may be set on the command line or via an environment variable
24746         on the process itself; any server setting will take precedence over local
24747         settings. This setting is ineffective for nodes below version 38.44.0.
24748         
24749         If this setting is not applied via this remote configuration or via local
24750         configuration, the default setting is used: always allow restarts if serving
24751         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24752        '''
24753        self.name = name if name is not None else ''
24754        '''
24755         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.
24756        '''
24757        self.state = state if state is not None else ''
24758        '''
24759         The current state of the relay, one of the NodeState constants.
24760        '''
24761        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24762        '''
24763         Tags is a map of key, value pairs.
24764        '''
24765        self.version = version if version is not None else ''
24766        '''
24767         Version is a read only sdm binary version uploaded by the gateway process
24768         when it comes online.
24769        '''
24770
24771    def __repr__(self):
24772        return '<sdm.Relay ' + \
24773            'device: ' + repr(self.device) + ' ' +\
24774            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24775            'id: ' + repr(self.id) + ' ' +\
24776            'location: ' + repr(self.location) + ' ' +\
24777            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24778            'name: ' + repr(self.name) + ' ' +\
24779            'state: ' + repr(self.state) + ' ' +\
24780            'tags: ' + repr(self.tags) + ' ' +\
24781            'version: ' + repr(self.version) + ' ' +\
24782            '>'
24783
24784    def to_dict(self):
24785        return {
24786            'device': self.device,
24787            'gateway_filter': self.gateway_filter,
24788            'id': self.id,
24789            'location': self.location,
24790            'maintenance_windows': self.maintenance_windows,
24791            'name': self.name,
24792            'state': self.state,
24793            'tags': self.tags,
24794            'version': self.version,
24795        }
24796
24797    @classmethod
24798    def from_dict(cls, d):
24799        return cls(
24800            device=d.get('device'),
24801            gateway_filter=d.get('gateway_filter'),
24802            id=d.get('id'),
24803            location=d.get('location'),
24804            maintenance_windows=d.get('maintenance_windows'),
24805            name=d.get('name'),
24806            state=d.get('state'),
24807            tags=d.get('tags'),
24808            version=d.get('version'),
24809        )

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)
24707    def __init__(
24708        self,
24709        device=None,
24710        gateway_filter=None,
24711        id=None,
24712        location=None,
24713        maintenance_windows=None,
24714        name=None,
24715        state=None,
24716        tags=None,
24717        version=None,
24718    ):
24719        self.device = device if device is not None else ''
24720        '''
24721         Device is a read only device name uploaded by the gateway process when
24722         it comes online.
24723        '''
24724        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24725        '''
24726         GatewayFilter can be used to restrict the peering between relays and
24727         gateways. Deprecated.
24728        '''
24729        self.id = id if id is not None else ''
24730        '''
24731         Unique identifier of the Relay.
24732        '''
24733        self.location = location if location is not None else ''
24734        '''
24735         Location is a read only network location uploaded by the gateway process
24736         when it comes online.
24737        '''
24738        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24739        '''
24740         Maintenance Windows define when this node is allowed to restart. If a node
24741         is requested to restart, it will check each window to determine if any of
24742         them permit it to restart, and if any do, it will. This check is repeated
24743         per window until the restart is successfully completed.
24744         
24745         If not set here, may be set on the command line or via an environment variable
24746         on the process itself; any server setting will take precedence over local
24747         settings. This setting is ineffective for nodes below version 38.44.0.
24748         
24749         If this setting is not applied via this remote configuration or via local
24750         configuration, the default setting is used: always allow restarts if serving
24751         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24752        '''
24753        self.name = name if name is not None else ''
24754        '''
24755         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.
24756        '''
24757        self.state = state if state is not None else ''
24758        '''
24759         The current state of the relay, one of the NodeState constants.
24760        '''
24761        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24762        '''
24763         Tags is a map of key, value pairs.
24764        '''
24765        self.version = version if version is not None else ''
24766        '''
24767         Version is a read only sdm binary version uploaded by the gateway process
24768         when it comes online.
24769        '''
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)
24784    def to_dict(self):
24785        return {
24786            'device': self.device,
24787            'gateway_filter': self.gateway_filter,
24788            'id': self.id,
24789            'location': self.location,
24790            'maintenance_windows': self.maintenance_windows,
24791            'name': self.name,
24792            'state': self.state,
24793            'tags': self.tags,
24794            'version': self.version,
24795        }
@classmethod
def from_dict(cls, d)
24797    @classmethod
24798    def from_dict(cls, d):
24799        return cls(
24800            device=d.get('device'),
24801            gateway_filter=d.get('gateway_filter'),
24802            id=d.get('id'),
24803            location=d.get('location'),
24804            maintenance_windows=d.get('maintenance_windows'),
24805            name=d.get('name'),
24806            state=d.get('state'),
24807            tags=d.get('tags'),
24808            version=d.get('version'),
24809        )
class RemoteIdentity:
24812class RemoteIdentity:
24813    '''
24814         RemoteIdentities define the username to be used for a specific account
24815     when connecting to a remote resource using that group.
24816    '''
24817    __slots__ = [
24818        'account_id',
24819        'id',
24820        'remote_identity_group_id',
24821        'username',
24822    ]
24823
24824    def __init__(
24825        self,
24826        account_id=None,
24827        id=None,
24828        remote_identity_group_id=None,
24829        username=None,
24830    ):
24831        self.account_id = account_id if account_id is not None else ''
24832        '''
24833         The account for this remote identity.
24834        '''
24835        self.id = id if id is not None else ''
24836        '''
24837         Unique identifier of the RemoteIdentity.
24838        '''
24839        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24840        '''
24841         The remote identity group.
24842        '''
24843        self.username = username if username is not None else ''
24844        '''
24845         The username to be used as the remote identity for this account.
24846        '''
24847
24848    def __repr__(self):
24849        return '<sdm.RemoteIdentity ' + \
24850            'account_id: ' + repr(self.account_id) + ' ' +\
24851            'id: ' + repr(self.id) + ' ' +\
24852            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24853            'username: ' + repr(self.username) + ' ' +\
24854            '>'
24855
24856    def to_dict(self):
24857        return {
24858            'account_id': self.account_id,
24859            'id': self.id,
24860            'remote_identity_group_id': self.remote_identity_group_id,
24861            'username': self.username,
24862        }
24863
24864    @classmethod
24865    def from_dict(cls, d):
24866        return cls(
24867            account_id=d.get('account_id'),
24868            id=d.get('id'),
24869            remote_identity_group_id=d.get('remote_identity_group_id'),
24870            username=d.get('username'),
24871        )

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)
24824    def __init__(
24825        self,
24826        account_id=None,
24827        id=None,
24828        remote_identity_group_id=None,
24829        username=None,
24830    ):
24831        self.account_id = account_id if account_id is not None else ''
24832        '''
24833         The account for this remote identity.
24834        '''
24835        self.id = id if id is not None else ''
24836        '''
24837         Unique identifier of the RemoteIdentity.
24838        '''
24839        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24840        '''
24841         The remote identity group.
24842        '''
24843        self.username = username if username is not None else ''
24844        '''
24845         The username to be used as the remote identity for this account.
24846        '''
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)
24856    def to_dict(self):
24857        return {
24858            'account_id': self.account_id,
24859            'id': self.id,
24860            'remote_identity_group_id': self.remote_identity_group_id,
24861            'username': self.username,
24862        }
@classmethod
def from_dict(cls, d)
24864    @classmethod
24865    def from_dict(cls, d):
24866        return cls(
24867            account_id=d.get('account_id'),
24868            id=d.get('id'),
24869            remote_identity_group_id=d.get('remote_identity_group_id'),
24870            username=d.get('username'),
24871        )
class RemoteIdentityCreateResponse:
24874class RemoteIdentityCreateResponse:
24875    '''
24876         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24877    '''
24878    __slots__ = [
24879        'meta',
24880        'rate_limit',
24881        'remote_identity',
24882    ]
24883
24884    def __init__(
24885        self,
24886        meta=None,
24887        rate_limit=None,
24888        remote_identity=None,
24889    ):
24890        self.meta = meta if meta is not None else None
24891        '''
24892         Reserved for future use.
24893        '''
24894        self.rate_limit = rate_limit if rate_limit is not None else None
24895        '''
24896         Rate limit information.
24897        '''
24898        self.remote_identity = remote_identity if remote_identity is not None else None
24899        '''
24900         The created RemoteIdentity.
24901        '''
24902
24903    def __repr__(self):
24904        return '<sdm.RemoteIdentityCreateResponse ' + \
24905            'meta: ' + repr(self.meta) + ' ' +\
24906            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24907            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24908            '>'
24909
24910    def to_dict(self):
24911        return {
24912            'meta': self.meta,
24913            'rate_limit': self.rate_limit,
24914            'remote_identity': self.remote_identity,
24915        }
24916
24917    @classmethod
24918    def from_dict(cls, d):
24919        return cls(
24920            meta=d.get('meta'),
24921            rate_limit=d.get('rate_limit'),
24922            remote_identity=d.get('remote_identity'),
24923        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
24884    def __init__(
24885        self,
24886        meta=None,
24887        rate_limit=None,
24888        remote_identity=None,
24889    ):
24890        self.meta = meta if meta is not None else None
24891        '''
24892         Reserved for future use.
24893        '''
24894        self.rate_limit = rate_limit if rate_limit is not None else None
24895        '''
24896         Rate limit information.
24897        '''
24898        self.remote_identity = remote_identity if remote_identity is not None else None
24899        '''
24900         The created RemoteIdentity.
24901        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
24910    def to_dict(self):
24911        return {
24912            'meta': self.meta,
24913            'rate_limit': self.rate_limit,
24914            'remote_identity': self.remote_identity,
24915        }
@classmethod
def from_dict(cls, d)
24917    @classmethod
24918    def from_dict(cls, d):
24919        return cls(
24920            meta=d.get('meta'),
24921            rate_limit=d.get('rate_limit'),
24922            remote_identity=d.get('remote_identity'),
24923        )
class RemoteIdentityDeleteResponse:
24926class RemoteIdentityDeleteResponse:
24927    '''
24928         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24929    '''
24930    __slots__ = [
24931        'meta',
24932        'rate_limit',
24933    ]
24934
24935    def __init__(
24936        self,
24937        meta=None,
24938        rate_limit=None,
24939    ):
24940        self.meta = meta if meta is not None else None
24941        '''
24942         Reserved for future use.
24943        '''
24944        self.rate_limit = rate_limit if rate_limit is not None else None
24945        '''
24946         Rate limit information.
24947        '''
24948
24949    def __repr__(self):
24950        return '<sdm.RemoteIdentityDeleteResponse ' + \
24951            'meta: ' + repr(self.meta) + ' ' +\
24952            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24953            '>'
24954
24955    def to_dict(self):
24956        return {
24957            'meta': self.meta,
24958            'rate_limit': self.rate_limit,
24959        }
24960
24961    @classmethod
24962    def from_dict(cls, d):
24963        return cls(
24964            meta=d.get('meta'),
24965            rate_limit=d.get('rate_limit'),
24966        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
24935    def __init__(
24936        self,
24937        meta=None,
24938        rate_limit=None,
24939    ):
24940        self.meta = meta if meta is not None else None
24941        '''
24942         Reserved for future use.
24943        '''
24944        self.rate_limit = rate_limit if rate_limit is not None else None
24945        '''
24946         Rate limit information.
24947        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
24955    def to_dict(self):
24956        return {
24957            'meta': self.meta,
24958            'rate_limit': self.rate_limit,
24959        }
@classmethod
def from_dict(cls, d)
24961    @classmethod
24962    def from_dict(cls, d):
24963        return cls(
24964            meta=d.get('meta'),
24965            rate_limit=d.get('rate_limit'),
24966        )
class RemoteIdentityGetResponse:
24969class RemoteIdentityGetResponse:
24970    '''
24971         RemoteIdentityGetResponse returns a requested RemoteIdentity.
24972    '''
24973    __slots__ = [
24974        'meta',
24975        'rate_limit',
24976        'remote_identity',
24977    ]
24978
24979    def __init__(
24980        self,
24981        meta=None,
24982        rate_limit=None,
24983        remote_identity=None,
24984    ):
24985        self.meta = meta if meta is not None else None
24986        '''
24987         Reserved for future use.
24988        '''
24989        self.rate_limit = rate_limit if rate_limit is not None else None
24990        '''
24991         Rate limit information.
24992        '''
24993        self.remote_identity = remote_identity if remote_identity is not None else None
24994        '''
24995         The requested RemoteIdentity.
24996        '''
24997
24998    def __repr__(self):
24999        return '<sdm.RemoteIdentityGetResponse ' + \
25000            'meta: ' + repr(self.meta) + ' ' +\
25001            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25002            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25003            '>'
25004
25005    def to_dict(self):
25006        return {
25007            'meta': self.meta,
25008            'rate_limit': self.rate_limit,
25009            'remote_identity': self.remote_identity,
25010        }
25011
25012    @classmethod
25013    def from_dict(cls, d):
25014        return cls(
25015            meta=d.get('meta'),
25016            rate_limit=d.get('rate_limit'),
25017            remote_identity=d.get('remote_identity'),
25018        )

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
24979    def __init__(
24980        self,
24981        meta=None,
24982        rate_limit=None,
24983        remote_identity=None,
24984    ):
24985        self.meta = meta if meta is not None else None
24986        '''
24987         Reserved for future use.
24988        '''
24989        self.rate_limit = rate_limit if rate_limit is not None else None
24990        '''
24991         Rate limit information.
24992        '''
24993        self.remote_identity = remote_identity if remote_identity is not None else None
24994        '''
24995         The requested RemoteIdentity.
24996        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
25005    def to_dict(self):
25006        return {
25007            'meta': self.meta,
25008            'rate_limit': self.rate_limit,
25009            'remote_identity': self.remote_identity,
25010        }
@classmethod
def from_dict(cls, d)
25012    @classmethod
25013    def from_dict(cls, d):
25014        return cls(
25015            meta=d.get('meta'),
25016            rate_limit=d.get('rate_limit'),
25017            remote_identity=d.get('remote_identity'),
25018        )
class RemoteIdentityGroup:
25021class RemoteIdentityGroup:
25022    '''
25023         A RemoteIdentityGroup defines a group of remote identities.
25024    '''
25025    __slots__ = [
25026        'id',
25027        'name',
25028    ]
25029
25030    def __init__(
25031        self,
25032        id=None,
25033        name=None,
25034    ):
25035        self.id = id if id is not None else ''
25036        '''
25037         Unique identifier of the RemoteIdentityGroup.
25038        '''
25039        self.name = name if name is not None else ''
25040        '''
25041         Unique human-readable name of the RemoteIdentityGroup.
25042        '''
25043
25044    def __repr__(self):
25045        return '<sdm.RemoteIdentityGroup ' + \
25046            'id: ' + repr(self.id) + ' ' +\
25047            'name: ' + repr(self.name) + ' ' +\
25048            '>'
25049
25050    def to_dict(self):
25051        return {
25052            'id': self.id,
25053            'name': self.name,
25054        }
25055
25056    @classmethod
25057    def from_dict(cls, d):
25058        return cls(
25059            id=d.get('id'),
25060            name=d.get('name'),
25061        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
25030    def __init__(
25031        self,
25032        id=None,
25033        name=None,
25034    ):
25035        self.id = id if id is not None else ''
25036        '''
25037         Unique identifier of the RemoteIdentityGroup.
25038        '''
25039        self.name = name if name is not None else ''
25040        '''
25041         Unique human-readable name of the RemoteIdentityGroup.
25042        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
25050    def to_dict(self):
25051        return {
25052            'id': self.id,
25053            'name': self.name,
25054        }
@classmethod
def from_dict(cls, d)
25056    @classmethod
25057    def from_dict(cls, d):
25058        return cls(
25059            id=d.get('id'),
25060            name=d.get('name'),
25061        )
class RemoteIdentityGroupGetResponse:
25064class RemoteIdentityGroupGetResponse:
25065    '''
25066         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
25067    '''
25068    __slots__ = [
25069        'meta',
25070        'rate_limit',
25071        'remote_identity_group',
25072    ]
25073
25074    def __init__(
25075        self,
25076        meta=None,
25077        rate_limit=None,
25078        remote_identity_group=None,
25079    ):
25080        self.meta = meta if meta is not None else None
25081        '''
25082         Reserved for future use.
25083        '''
25084        self.rate_limit = rate_limit if rate_limit is not None else None
25085        '''
25086         Rate limit information.
25087        '''
25088        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25089        '''
25090         The requested RemoteIdentityGroup.
25091        '''
25092
25093    def __repr__(self):
25094        return '<sdm.RemoteIdentityGroupGetResponse ' + \
25095            'meta: ' + repr(self.meta) + ' ' +\
25096            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25097            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
25098            '>'
25099
25100    def to_dict(self):
25101        return {
25102            'meta': self.meta,
25103            'rate_limit': self.rate_limit,
25104            'remote_identity_group': self.remote_identity_group,
25105        }
25106
25107    @classmethod
25108    def from_dict(cls, d):
25109        return cls(
25110            meta=d.get('meta'),
25111            rate_limit=d.get('rate_limit'),
25112            remote_identity_group=d.get('remote_identity_group'),
25113        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
25074    def __init__(
25075        self,
25076        meta=None,
25077        rate_limit=None,
25078        remote_identity_group=None,
25079    ):
25080        self.meta = meta if meta is not None else None
25081        '''
25082         Reserved for future use.
25083        '''
25084        self.rate_limit = rate_limit if rate_limit is not None else None
25085        '''
25086         Rate limit information.
25087        '''
25088        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25089        '''
25090         The requested RemoteIdentityGroup.
25091        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
25100    def to_dict(self):
25101        return {
25102            'meta': self.meta,
25103            'rate_limit': self.rate_limit,
25104            'remote_identity_group': self.remote_identity_group,
25105        }
@classmethod
def from_dict(cls, d)
25107    @classmethod
25108    def from_dict(cls, d):
25109        return cls(
25110            meta=d.get('meta'),
25111            rate_limit=d.get('rate_limit'),
25112            remote_identity_group=d.get('remote_identity_group'),
25113        )
class RemoteIdentityGroupHistory:
25116class RemoteIdentityGroupHistory:
25117    '''
25118         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
25119     where every change (create, update and delete) to a RemoteIdentityGroup produces an
25120     RemoteIdentityGroupHistory record.
25121    '''
25122    __slots__ = [
25123        'activity_id',
25124        'deleted_at',
25125        'remote_identity_group',
25126        'timestamp',
25127    ]
25128
25129    def __init__(
25130        self,
25131        activity_id=None,
25132        deleted_at=None,
25133        remote_identity_group=None,
25134        timestamp=None,
25135    ):
25136        self.activity_id = activity_id if activity_id is not None else ''
25137        '''
25138         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
25139         May be empty for some system-initiated updates.
25140        '''
25141        self.deleted_at = deleted_at if deleted_at is not None else None
25142        '''
25143         If this RemoteIdentityGroup was deleted, the time it was deleted.
25144        '''
25145        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25146        '''
25147         The complete RemoteIdentityGroup state at this time.
25148        '''
25149        self.timestamp = timestamp if timestamp is not None else None
25150        '''
25151         The time at which the RemoteIdentityGroup state was recorded.
25152        '''
25153
25154    def __repr__(self):
25155        return '<sdm.RemoteIdentityGroupHistory ' + \
25156            'activity_id: ' + repr(self.activity_id) + ' ' +\
25157            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25158            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
25159            'timestamp: ' + repr(self.timestamp) + ' ' +\
25160            '>'
25161
25162    def to_dict(self):
25163        return {
25164            'activity_id': self.activity_id,
25165            'deleted_at': self.deleted_at,
25166            'remote_identity_group': self.remote_identity_group,
25167            'timestamp': self.timestamp,
25168        }
25169
25170    @classmethod
25171    def from_dict(cls, d):
25172        return cls(
25173            activity_id=d.get('activity_id'),
25174            deleted_at=d.get('deleted_at'),
25175            remote_identity_group=d.get('remote_identity_group'),
25176            timestamp=d.get('timestamp'),
25177        )

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)
25129    def __init__(
25130        self,
25131        activity_id=None,
25132        deleted_at=None,
25133        remote_identity_group=None,
25134        timestamp=None,
25135    ):
25136        self.activity_id = activity_id if activity_id is not None else ''
25137        '''
25138         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
25139         May be empty for some system-initiated updates.
25140        '''
25141        self.deleted_at = deleted_at if deleted_at is not None else None
25142        '''
25143         If this RemoteIdentityGroup was deleted, the time it was deleted.
25144        '''
25145        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25146        '''
25147         The complete RemoteIdentityGroup state at this time.
25148        '''
25149        self.timestamp = timestamp if timestamp is not None else None
25150        '''
25151         The time at which the RemoteIdentityGroup state was recorded.
25152        '''
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)
25162    def to_dict(self):
25163        return {
25164            'activity_id': self.activity_id,
25165            'deleted_at': self.deleted_at,
25166            'remote_identity_group': self.remote_identity_group,
25167            'timestamp': self.timestamp,
25168        }
@classmethod
def from_dict(cls, d)
25170    @classmethod
25171    def from_dict(cls, d):
25172        return cls(
25173            activity_id=d.get('activity_id'),
25174            deleted_at=d.get('deleted_at'),
25175            remote_identity_group=d.get('remote_identity_group'),
25176            timestamp=d.get('timestamp'),
25177        )
class RemoteIdentityHistory:
25180class RemoteIdentityHistory:
25181    '''
25182         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
25183     where every change (create, update and delete) to a RemoteIdentity produces an
25184     RemoteIdentityHistory record.
25185    '''
25186    __slots__ = [
25187        'activity_id',
25188        'deleted_at',
25189        'remote_identity',
25190        'timestamp',
25191    ]
25192
25193    def __init__(
25194        self,
25195        activity_id=None,
25196        deleted_at=None,
25197        remote_identity=None,
25198        timestamp=None,
25199    ):
25200        self.activity_id = activity_id if activity_id is not None else ''
25201        '''
25202         The unique identifier of the Activity that produced this change to the RemoteIdentity.
25203         May be empty for some system-initiated updates.
25204        '''
25205        self.deleted_at = deleted_at if deleted_at is not None else None
25206        '''
25207         If this RemoteIdentity was deleted, the time it was deleted.
25208        '''
25209        self.remote_identity = remote_identity if remote_identity is not None else None
25210        '''
25211         The complete RemoteIdentity state at this time.
25212        '''
25213        self.timestamp = timestamp if timestamp is not None else None
25214        '''
25215         The time at which the RemoteIdentity state was recorded.
25216        '''
25217
25218    def __repr__(self):
25219        return '<sdm.RemoteIdentityHistory ' + \
25220            'activity_id: ' + repr(self.activity_id) + ' ' +\
25221            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25222            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25223            'timestamp: ' + repr(self.timestamp) + ' ' +\
25224            '>'
25225
25226    def to_dict(self):
25227        return {
25228            'activity_id': self.activity_id,
25229            'deleted_at': self.deleted_at,
25230            'remote_identity': self.remote_identity,
25231            'timestamp': self.timestamp,
25232        }
25233
25234    @classmethod
25235    def from_dict(cls, d):
25236        return cls(
25237            activity_id=d.get('activity_id'),
25238            deleted_at=d.get('deleted_at'),
25239            remote_identity=d.get('remote_identity'),
25240            timestamp=d.get('timestamp'),
25241        )

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)
25193    def __init__(
25194        self,
25195        activity_id=None,
25196        deleted_at=None,
25197        remote_identity=None,
25198        timestamp=None,
25199    ):
25200        self.activity_id = activity_id if activity_id is not None else ''
25201        '''
25202         The unique identifier of the Activity that produced this change to the RemoteIdentity.
25203         May be empty for some system-initiated updates.
25204        '''
25205        self.deleted_at = deleted_at if deleted_at is not None else None
25206        '''
25207         If this RemoteIdentity was deleted, the time it was deleted.
25208        '''
25209        self.remote_identity = remote_identity if remote_identity is not None else None
25210        '''
25211         The complete RemoteIdentity state at this time.
25212        '''
25213        self.timestamp = timestamp if timestamp is not None else None
25214        '''
25215         The time at which the RemoteIdentity state was recorded.
25216        '''
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)
25226    def to_dict(self):
25227        return {
25228            'activity_id': self.activity_id,
25229            'deleted_at': self.deleted_at,
25230            'remote_identity': self.remote_identity,
25231            'timestamp': self.timestamp,
25232        }
@classmethod
def from_dict(cls, d)
25234    @classmethod
25235    def from_dict(cls, d):
25236        return cls(
25237            activity_id=d.get('activity_id'),
25238            deleted_at=d.get('deleted_at'),
25239            remote_identity=d.get('remote_identity'),
25240            timestamp=d.get('timestamp'),
25241        )
class RemoteIdentityUpdateResponse:
25244class RemoteIdentityUpdateResponse:
25245    '''
25246         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
25247     a RemoteIdentityUpdateRequest.
25248    '''
25249    __slots__ = [
25250        'meta',
25251        'rate_limit',
25252        'remote_identity',
25253    ]
25254
25255    def __init__(
25256        self,
25257        meta=None,
25258        rate_limit=None,
25259        remote_identity=None,
25260    ):
25261        self.meta = meta if meta is not None else None
25262        '''
25263         Reserved for future use.
25264        '''
25265        self.rate_limit = rate_limit if rate_limit is not None else None
25266        '''
25267         Rate limit information.
25268        '''
25269        self.remote_identity = remote_identity if remote_identity is not None else None
25270        '''
25271         The updated RemoteIdentity.
25272        '''
25273
25274    def __repr__(self):
25275        return '<sdm.RemoteIdentityUpdateResponse ' + \
25276            'meta: ' + repr(self.meta) + ' ' +\
25277            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25278            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25279            '>'
25280
25281    def to_dict(self):
25282        return {
25283            'meta': self.meta,
25284            'rate_limit': self.rate_limit,
25285            'remote_identity': self.remote_identity,
25286        }
25287
25288    @classmethod
25289    def from_dict(cls, d):
25290        return cls(
25291            meta=d.get('meta'),
25292            rate_limit=d.get('rate_limit'),
25293            remote_identity=d.get('remote_identity'),
25294        )

RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by a RemoteIdentityUpdateRequest.

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
25255    def __init__(
25256        self,
25257        meta=None,
25258        rate_limit=None,
25259        remote_identity=None,
25260    ):
25261        self.meta = meta if meta is not None else None
25262        '''
25263         Reserved for future use.
25264        '''
25265        self.rate_limit = rate_limit if rate_limit is not None else None
25266        '''
25267         Rate limit information.
25268        '''
25269        self.remote_identity = remote_identity if remote_identity is not None else None
25270        '''
25271         The updated RemoteIdentity.
25272        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
25281    def to_dict(self):
25282        return {
25283            'meta': self.meta,
25284            'rate_limit': self.rate_limit,
25285            'remote_identity': self.remote_identity,
25286        }
@classmethod
def from_dict(cls, d)
25288    @classmethod
25289    def from_dict(cls, d):
25290        return cls(
25291            meta=d.get('meta'),
25292            rate_limit=d.get('rate_limit'),
25293            remote_identity=d.get('remote_identity'),
25294        )
class ReplayChunk:
25297class ReplayChunk:
25298    '''
25299         A ReplayChunk represents a single "chunk" of data from the query replay.
25300    '''
25301    __slots__ = [
25302        'data',
25303        'events',
25304        'symmetric_key',
25305    ]
25306
25307    def __init__(
25308        self,
25309        data=None,
25310        events=None,
25311        symmetric_key=None,
25312    ):
25313        self.data = data if data is not None else b''
25314        '''
25315         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
25316        '''
25317        self.events = events if events is not None else []
25318        '''
25319         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
25320         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
25321        '''
25322        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
25323        '''
25324         If the data is encrypted, this contains the encrypted symmetric key
25325        '''
25326
25327    def __repr__(self):
25328        return '<sdm.ReplayChunk ' + \
25329            'data: ' + repr(self.data) + ' ' +\
25330            'events: ' + repr(self.events) + ' ' +\
25331            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
25332            '>'
25333
25334    def to_dict(self):
25335        return {
25336            'data': self.data,
25337            'events': self.events,
25338            'symmetric_key': self.symmetric_key,
25339        }
25340
25341    @classmethod
25342    def from_dict(cls, d):
25343        return cls(
25344            data=d.get('data'),
25345            events=d.get('events'),
25346            symmetric_key=d.get('symmetric_key'),
25347        )

A ReplayChunk represents a single "chunk" of data from the query replay.

ReplayChunk(data=None, events=None, symmetric_key=None)
25307    def __init__(
25308        self,
25309        data=None,
25310        events=None,
25311        symmetric_key=None,
25312    ):
25313        self.data = data if data is not None else b''
25314        '''
25315         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
25316        '''
25317        self.events = events if events is not None else []
25318        '''
25319         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
25320         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
25321        '''
25322        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
25323        '''
25324         If the data is encrypted, this contains the encrypted symmetric key
25325        '''
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)
25334    def to_dict(self):
25335        return {
25336            'data': self.data,
25337            'events': self.events,
25338            'symmetric_key': self.symmetric_key,
25339        }
@classmethod
def from_dict(cls, d)
25341    @classmethod
25342    def from_dict(cls, d):
25343        return cls(
25344            data=d.get('data'),
25345            events=d.get('events'),
25346            symmetric_key=d.get('symmetric_key'),
25347        )
class ReplayChunkEvent:
25350class ReplayChunkEvent:
25351    '''
25352         A ReplayChunkEvent represents a single event within a query replay.
25353     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
25354    '''
25355    __slots__ = [
25356        'data',
25357        'duration',
25358    ]
25359
25360    def __init__(
25361        self,
25362        data=None,
25363        duration=None,
25364    ):
25365        self.data = data if data is not None else b''
25366        '''
25367         The raw data of the ReplayChunkEvent.
25368        '''
25369        self.duration = duration if duration is not None else None
25370        '''
25371         The time duration over which the data in this ReplayChunkEvent was transferred.
25372        '''
25373
25374    def __repr__(self):
25375        return '<sdm.ReplayChunkEvent ' + \
25376            'data: ' + repr(self.data) + ' ' +\
25377            'duration: ' + repr(self.duration) + ' ' +\
25378            '>'
25379
25380    def to_dict(self):
25381        return {
25382            'data': self.data,
25383            'duration': self.duration,
25384        }
25385
25386    @classmethod
25387    def from_dict(cls, d):
25388        return cls(
25389            data=d.get('data'),
25390            duration=d.get('duration'),
25391        )

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)
25360    def __init__(
25361        self,
25362        data=None,
25363        duration=None,
25364    ):
25365        self.data = data if data is not None else b''
25366        '''
25367         The raw data of the ReplayChunkEvent.
25368        '''
25369        self.duration = duration if duration is not None else None
25370        '''
25371         The time duration over which the data in this ReplayChunkEvent was transferred.
25372        '''
data

The raw data of the ReplayChunkEvent.

duration

The time duration over which the data in this ReplayChunkEvent was transferred.

def to_dict(self)
25380    def to_dict(self):
25381        return {
25382            'data': self.data,
25383            'duration': self.duration,
25384        }
@classmethod
def from_dict(cls, d)
25386    @classmethod
25387    def from_dict(cls, d):
25388        return cls(
25389            data=d.get('data'),
25390            duration=d.get('duration'),
25391        )
class RequestableResource:
25394class RequestableResource:
25395    '''
25396         RequestableResource is a resource that can be requested via an AccessRequestConfig
25397    '''
25398    __slots__ = [
25399        'access',
25400        'authentication',
25401        'healthy',
25402        'id',
25403        'name',
25404        'tags',
25405        'type',
25406    ]
25407
25408    def __init__(
25409        self,
25410        access=None,
25411        authentication=None,
25412        healthy=None,
25413        id=None,
25414        name=None,
25415        tags=None,
25416        type=None,
25417    ):
25418        self.access = access if access is not None else ''
25419        '''
25420         The current state of the user's access to the resources
25421        '''
25422        self.authentication = authentication if authentication is not None else ''
25423        '''
25424         The type of authentication for the resource
25425        '''
25426        self.healthy = healthy if healthy is not None else False
25427        '''
25428         The health check status of the reasource
25429        '''
25430        self.id = id if id is not None else ''
25431        '''
25432         The resource id.
25433        '''
25434        self.name = name if name is not None else ''
25435        '''
25436         The resource name.
25437        '''
25438        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25439        '''
25440         Any tags attached to this resource
25441        '''
25442        self.type = type if type is not None else ''
25443        '''
25444         The resource type
25445        '''
25446
25447    def __repr__(self):
25448        return '<sdm.RequestableResource ' + \
25449            'access: ' + repr(self.access) + ' ' +\
25450            'authentication: ' + repr(self.authentication) + ' ' +\
25451            'healthy: ' + repr(self.healthy) + ' ' +\
25452            'id: ' + repr(self.id) + ' ' +\
25453            'name: ' + repr(self.name) + ' ' +\
25454            'tags: ' + repr(self.tags) + ' ' +\
25455            'type: ' + repr(self.type) + ' ' +\
25456            '>'
25457
25458    def to_dict(self):
25459        return {
25460            'access': self.access,
25461            'authentication': self.authentication,
25462            'healthy': self.healthy,
25463            'id': self.id,
25464            'name': self.name,
25465            'tags': self.tags,
25466            'type': self.type,
25467        }
25468
25469    @classmethod
25470    def from_dict(cls, d):
25471        return cls(
25472            access=d.get('access'),
25473            authentication=d.get('authentication'),
25474            healthy=d.get('healthy'),
25475            id=d.get('id'),
25476            name=d.get('name'),
25477            tags=d.get('tags'),
25478            type=d.get('type'),
25479        )

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)
25408    def __init__(
25409        self,
25410        access=None,
25411        authentication=None,
25412        healthy=None,
25413        id=None,
25414        name=None,
25415        tags=None,
25416        type=None,
25417    ):
25418        self.access = access if access is not None else ''
25419        '''
25420         The current state of the user's access to the resources
25421        '''
25422        self.authentication = authentication if authentication is not None else ''
25423        '''
25424         The type of authentication for the resource
25425        '''
25426        self.healthy = healthy if healthy is not None else False
25427        '''
25428         The health check status of the reasource
25429        '''
25430        self.id = id if id is not None else ''
25431        '''
25432         The resource id.
25433        '''
25434        self.name = name if name is not None else ''
25435        '''
25436         The resource name.
25437        '''
25438        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25439        '''
25440         Any tags attached to this resource
25441        '''
25442        self.type = type if type is not None else ''
25443        '''
25444         The resource type
25445        '''
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)
25458    def to_dict(self):
25459        return {
25460            'access': self.access,
25461            'authentication': self.authentication,
25462            'healthy': self.healthy,
25463            'id': self.id,
25464            'name': self.name,
25465            'tags': self.tags,
25466            'type': self.type,
25467        }
@classmethod
def from_dict(cls, d)
25469    @classmethod
25470    def from_dict(cls, d):
25471        return cls(
25472            access=d.get('access'),
25473            authentication=d.get('authentication'),
25474            healthy=d.get('healthy'),
25475            id=d.get('id'),
25476            name=d.get('name'),
25477            tags=d.get('tags'),
25478            type=d.get('type'),
25479        )
class ResourceCreateResponse:
25482class ResourceCreateResponse:
25483    '''
25484         ResourceCreateResponse reports how the Resources were created in the system.
25485    '''
25486    __slots__ = [
25487        'meta',
25488        'rate_limit',
25489        'resource',
25490    ]
25491
25492    def __init__(
25493        self,
25494        meta=None,
25495        rate_limit=None,
25496        resource=None,
25497    ):
25498        self.meta = meta if meta is not None else None
25499        '''
25500         Reserved for future use.
25501        '''
25502        self.rate_limit = rate_limit if rate_limit is not None else None
25503        '''
25504         Rate limit information.
25505        '''
25506        self.resource = resource if resource is not None else None
25507        '''
25508         The created Resource.
25509        '''
25510
25511    def __repr__(self):
25512        return '<sdm.ResourceCreateResponse ' + \
25513            'meta: ' + repr(self.meta) + ' ' +\
25514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25515            'resource: ' + repr(self.resource) + ' ' +\
25516            '>'
25517
25518    def to_dict(self):
25519        return {
25520            'meta': self.meta,
25521            'rate_limit': self.rate_limit,
25522            'resource': self.resource,
25523        }
25524
25525    @classmethod
25526    def from_dict(cls, d):
25527        return cls(
25528            meta=d.get('meta'),
25529            rate_limit=d.get('rate_limit'),
25530            resource=d.get('resource'),
25531        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
25492    def __init__(
25493        self,
25494        meta=None,
25495        rate_limit=None,
25496        resource=None,
25497    ):
25498        self.meta = meta if meta is not None else None
25499        '''
25500         Reserved for future use.
25501        '''
25502        self.rate_limit = rate_limit if rate_limit is not None else None
25503        '''
25504         Rate limit information.
25505        '''
25506        self.resource = resource if resource is not None else None
25507        '''
25508         The created Resource.
25509        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
25518    def to_dict(self):
25519        return {
25520            'meta': self.meta,
25521            'rate_limit': self.rate_limit,
25522            'resource': self.resource,
25523        }
@classmethod
def from_dict(cls, d)
25525    @classmethod
25526    def from_dict(cls, d):
25527        return cls(
25528            meta=d.get('meta'),
25529            rate_limit=d.get('rate_limit'),
25530            resource=d.get('resource'),
25531        )
class ResourceDeleteResponse:
25534class ResourceDeleteResponse:
25535    '''
25536         ResourceDeleteResponse returns information about a Resource that was deleted.
25537    '''
25538    __slots__ = [
25539        'meta',
25540        'rate_limit',
25541    ]
25542
25543    def __init__(
25544        self,
25545        meta=None,
25546        rate_limit=None,
25547    ):
25548        self.meta = meta if meta is not None else None
25549        '''
25550         Reserved for future use.
25551        '''
25552        self.rate_limit = rate_limit if rate_limit is not None else None
25553        '''
25554         Rate limit information.
25555        '''
25556
25557    def __repr__(self):
25558        return '<sdm.ResourceDeleteResponse ' + \
25559            'meta: ' + repr(self.meta) + ' ' +\
25560            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25561            '>'
25562
25563    def to_dict(self):
25564        return {
25565            'meta': self.meta,
25566            'rate_limit': self.rate_limit,
25567        }
25568
25569    @classmethod
25570    def from_dict(cls, d):
25571        return cls(
25572            meta=d.get('meta'),
25573            rate_limit=d.get('rate_limit'),
25574        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
25543    def __init__(
25544        self,
25545        meta=None,
25546        rate_limit=None,
25547    ):
25548        self.meta = meta if meta is not None else None
25549        '''
25550         Reserved for future use.
25551        '''
25552        self.rate_limit = rate_limit if rate_limit is not None else None
25553        '''
25554         Rate limit information.
25555        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25563    def to_dict(self):
25564        return {
25565            'meta': self.meta,
25566            'rate_limit': self.rate_limit,
25567        }
@classmethod
def from_dict(cls, d)
25569    @classmethod
25570    def from_dict(cls, d):
25571        return cls(
25572            meta=d.get('meta'),
25573            rate_limit=d.get('rate_limit'),
25574        )
class ResourceGetResponse:
25577class ResourceGetResponse:
25578    '''
25579         ResourceGetResponse returns a requested Resource.
25580    '''
25581    __slots__ = [
25582        'meta',
25583        'rate_limit',
25584        'resource',
25585    ]
25586
25587    def __init__(
25588        self,
25589        meta=None,
25590        rate_limit=None,
25591        resource=None,
25592    ):
25593        self.meta = meta if meta is not None else None
25594        '''
25595         Reserved for future use.
25596        '''
25597        self.rate_limit = rate_limit if rate_limit is not None else None
25598        '''
25599         Rate limit information.
25600        '''
25601        self.resource = resource if resource is not None else None
25602        '''
25603         The requested Resource.
25604        '''
25605
25606    def __repr__(self):
25607        return '<sdm.ResourceGetResponse ' + \
25608            'meta: ' + repr(self.meta) + ' ' +\
25609            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25610            'resource: ' + repr(self.resource) + ' ' +\
25611            '>'
25612
25613    def to_dict(self):
25614        return {
25615            'meta': self.meta,
25616            'rate_limit': self.rate_limit,
25617            'resource': self.resource,
25618        }
25619
25620    @classmethod
25621    def from_dict(cls, d):
25622        return cls(
25623            meta=d.get('meta'),
25624            rate_limit=d.get('rate_limit'),
25625            resource=d.get('resource'),
25626        )

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
25587    def __init__(
25588        self,
25589        meta=None,
25590        rate_limit=None,
25591        resource=None,
25592    ):
25593        self.meta = meta if meta is not None else None
25594        '''
25595         Reserved for future use.
25596        '''
25597        self.rate_limit = rate_limit if rate_limit is not None else None
25598        '''
25599         Rate limit information.
25600        '''
25601        self.resource = resource if resource is not None else None
25602        '''
25603         The requested Resource.
25604        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
25613    def to_dict(self):
25614        return {
25615            'meta': self.meta,
25616            'rate_limit': self.rate_limit,
25617            'resource': self.resource,
25618        }
@classmethod
def from_dict(cls, d)
25620    @classmethod
25621    def from_dict(cls, d):
25622        return cls(
25623            meta=d.get('meta'),
25624            rate_limit=d.get('rate_limit'),
25625            resource=d.get('resource'),
25626        )
class ResourceHealthcheckRequest:
25629class ResourceHealthcheckRequest:
25630    '''
25631         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25632    '''
25633    __slots__ = [
25634        'id',
25635    ]
25636
25637    def __init__(
25638        self,
25639        id=None,
25640    ):
25641        self.id = id if id is not None else ''
25642        '''
25643         The unique identifier of the Resource to healthcheck.
25644        '''
25645
25646    def __repr__(self):
25647        return '<sdm.ResourceHealthcheckRequest ' + \
25648            'id: ' + repr(self.id) + ' ' +\
25649            '>'
25650
25651    def to_dict(self):
25652        return {
25653            'id': self.id,
25654        }
25655
25656    @classmethod
25657    def from_dict(cls, d):
25658        return cls(id=d.get('id'), )

ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.

ResourceHealthcheckRequest(id=None)
25637    def __init__(
25638        self,
25639        id=None,
25640    ):
25641        self.id = id if id is not None else ''
25642        '''
25643         The unique identifier of the Resource to healthcheck.
25644        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
25651    def to_dict(self):
25652        return {
25653            'id': self.id,
25654        }
@classmethod
def from_dict(cls, d)
25656    @classmethod
25657    def from_dict(cls, d):
25658        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
25661class ResourceHealthcheckResponse:
25662    '''
25663         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25664     Healthchecks are non blocking, and this contains no non-metadata.
25665    '''
25666    __slots__ = [
25667        'meta',
25668        'rate_limit',
25669    ]
25670
25671    def __init__(
25672        self,
25673        meta=None,
25674        rate_limit=None,
25675    ):
25676        self.meta = meta if meta is not None else None
25677        '''
25678         Reserved for future use.
25679        '''
25680        self.rate_limit = rate_limit if rate_limit is not None else None
25681        '''
25682         Rate limit information.
25683        '''
25684
25685    def __repr__(self):
25686        return '<sdm.ResourceHealthcheckResponse ' + \
25687            'meta: ' + repr(self.meta) + ' ' +\
25688            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25689            '>'
25690
25691    def to_dict(self):
25692        return {
25693            'meta': self.meta,
25694            'rate_limit': self.rate_limit,
25695        }
25696
25697    @classmethod
25698    def from_dict(cls, d):
25699        return cls(
25700            meta=d.get('meta'),
25701            rate_limit=d.get('rate_limit'),
25702        )

ResourceHealthcheckResponse reports any metadata concerning a healthcheck response. Healthchecks are non blocking, and this contains no non-metadata.

ResourceHealthcheckResponse(meta=None, rate_limit=None)
25671    def __init__(
25672        self,
25673        meta=None,
25674        rate_limit=None,
25675    ):
25676        self.meta = meta if meta is not None else None
25677        '''
25678         Reserved for future use.
25679        '''
25680        self.rate_limit = rate_limit if rate_limit is not None else None
25681        '''
25682         Rate limit information.
25683        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25691    def to_dict(self):
25692        return {
25693            'meta': self.meta,
25694            'rate_limit': self.rate_limit,
25695        }
@classmethod
def from_dict(cls, d)
25697    @classmethod
25698    def from_dict(cls, d):
25699        return cls(
25700            meta=d.get('meta'),
25701            rate_limit=d.get('rate_limit'),
25702        )
class ResourceHistory:
25705class ResourceHistory:
25706    '''
25707         ResourceHistory records the state of a Resource at a given point in time,
25708     where every change (create, update and delete) to a Resource produces an
25709     ResourceHistory record.
25710    '''
25711    __slots__ = [
25712        'activity_id',
25713        'deleted_at',
25714        'resource',
25715        'timestamp',
25716    ]
25717
25718    def __init__(
25719        self,
25720        activity_id=None,
25721        deleted_at=None,
25722        resource=None,
25723        timestamp=None,
25724    ):
25725        self.activity_id = activity_id if activity_id is not None else ''
25726        '''
25727         The unique identifier of the Activity that produced this change to the Resource.
25728         May be empty for some system-initiated updates.
25729        '''
25730        self.deleted_at = deleted_at if deleted_at is not None else None
25731        '''
25732         If this Resource was deleted, the time it was deleted.
25733        '''
25734        self.resource = resource if resource is not None else None
25735        '''
25736         The complete Resource state at this time.
25737        '''
25738        self.timestamp = timestamp if timestamp is not None else None
25739        '''
25740         The time at which the Resource state was recorded.
25741        '''
25742
25743    def __repr__(self):
25744        return '<sdm.ResourceHistory ' + \
25745            'activity_id: ' + repr(self.activity_id) + ' ' +\
25746            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25747            'resource: ' + repr(self.resource) + ' ' +\
25748            'timestamp: ' + repr(self.timestamp) + ' ' +\
25749            '>'
25750
25751    def to_dict(self):
25752        return {
25753            'activity_id': self.activity_id,
25754            'deleted_at': self.deleted_at,
25755            'resource': self.resource,
25756            'timestamp': self.timestamp,
25757        }
25758
25759    @classmethod
25760    def from_dict(cls, d):
25761        return cls(
25762            activity_id=d.get('activity_id'),
25763            deleted_at=d.get('deleted_at'),
25764            resource=d.get('resource'),
25765            timestamp=d.get('timestamp'),
25766        )

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)
25718    def __init__(
25719        self,
25720        activity_id=None,
25721        deleted_at=None,
25722        resource=None,
25723        timestamp=None,
25724    ):
25725        self.activity_id = activity_id if activity_id is not None else ''
25726        '''
25727         The unique identifier of the Activity that produced this change to the Resource.
25728         May be empty for some system-initiated updates.
25729        '''
25730        self.deleted_at = deleted_at if deleted_at is not None else None
25731        '''
25732         If this Resource was deleted, the time it was deleted.
25733        '''
25734        self.resource = resource if resource is not None else None
25735        '''
25736         The complete Resource state at this time.
25737        '''
25738        self.timestamp = timestamp if timestamp is not None else None
25739        '''
25740         The time at which the Resource state was recorded.
25741        '''
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)
25751    def to_dict(self):
25752        return {
25753            'activity_id': self.activity_id,
25754            'deleted_at': self.deleted_at,
25755            'resource': self.resource,
25756            'timestamp': self.timestamp,
25757        }
@classmethod
def from_dict(cls, d)
25759    @classmethod
25760    def from_dict(cls, d):
25761        return cls(
25762            activity_id=d.get('activity_id'),
25763            deleted_at=d.get('deleted_at'),
25764            resource=d.get('resource'),
25765            timestamp=d.get('timestamp'),
25766        )
class ResourceUpdateResponse:
25769class ResourceUpdateResponse:
25770    '''
25771         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25772     a ResourceUpdateRequest.
25773    '''
25774    __slots__ = [
25775        'meta',
25776        'rate_limit',
25777        'resource',
25778    ]
25779
25780    def __init__(
25781        self,
25782        meta=None,
25783        rate_limit=None,
25784        resource=None,
25785    ):
25786        self.meta = meta if meta is not None else None
25787        '''
25788         Reserved for future use.
25789        '''
25790        self.rate_limit = rate_limit if rate_limit is not None else None
25791        '''
25792         Rate limit information.
25793        '''
25794        self.resource = resource if resource is not None else None
25795        '''
25796         The updated Resource.
25797        '''
25798
25799    def __repr__(self):
25800        return '<sdm.ResourceUpdateResponse ' + \
25801            'meta: ' + repr(self.meta) + ' ' +\
25802            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25803            'resource: ' + repr(self.resource) + ' ' +\
25804            '>'
25805
25806    def to_dict(self):
25807        return {
25808            'meta': self.meta,
25809            'rate_limit': self.rate_limit,
25810            'resource': self.resource,
25811        }
25812
25813    @classmethod
25814    def from_dict(cls, d):
25815        return cls(
25816            meta=d.get('meta'),
25817            rate_limit=d.get('rate_limit'),
25818            resource=d.get('resource'),
25819        )

ResourceUpdateResponse returns the fields of a Resource after it has been updated by a ResourceUpdateRequest.

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
25780    def __init__(
25781        self,
25782        meta=None,
25783        rate_limit=None,
25784        resource=None,
25785    ):
25786        self.meta = meta if meta is not None else None
25787        '''
25788         Reserved for future use.
25789        '''
25790        self.rate_limit = rate_limit if rate_limit is not None else None
25791        '''
25792         Rate limit information.
25793        '''
25794        self.resource = resource if resource is not None else None
25795        '''
25796         The updated Resource.
25797        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
25806    def to_dict(self):
25807        return {
25808            'meta': self.meta,
25809            'rate_limit': self.rate_limit,
25810            'resource': self.resource,
25811        }
@classmethod
def from_dict(cls, d)
25813    @classmethod
25814    def from_dict(cls, d):
25815        return cls(
25816            meta=d.get('meta'),
25817            rate_limit=d.get('rate_limit'),
25818            resource=d.get('resource'),
25819        )
class Role:
25822class Role:
25823    '''
25824         A Role has a list of access rules which determine which Resources the members
25825     of the Role have access to. An Account can be a member of multiple Roles via
25826     AccountAttachments.
25827    '''
25828    __slots__ = [
25829        'access_rules',
25830        'id',
25831        'managed_by',
25832        'name',
25833        'tags',
25834    ]
25835
25836    def __init__(
25837        self,
25838        access_rules=None,
25839        id=None,
25840        managed_by=None,
25841        name=None,
25842        tags=None,
25843    ):
25844        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25845        )
25846        '''
25847         AccessRules is a list of access rules defining the resources this Role has access to.
25848        '''
25849        self.id = id if id is not None else ''
25850        '''
25851         Unique identifier of the Role.
25852        '''
25853        self.managed_by = managed_by if managed_by is not None else ''
25854        '''
25855         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25856        '''
25857        self.name = name if name is not None else ''
25858        '''
25859         Unique human-readable name of the Role.
25860        '''
25861        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25862        '''
25863         Tags is a map of key, value pairs.
25864        '''
25865
25866    def __repr__(self):
25867        return '<sdm.Role ' + \
25868            'access_rules: ' + repr(self.access_rules) + ' ' +\
25869            'id: ' + repr(self.id) + ' ' +\
25870            'managed_by: ' + repr(self.managed_by) + ' ' +\
25871            'name: ' + repr(self.name) + ' ' +\
25872            'tags: ' + repr(self.tags) + ' ' +\
25873            '>'
25874
25875    def to_dict(self):
25876        return {
25877            'access_rules': self.access_rules,
25878            'id': self.id,
25879            'managed_by': self.managed_by,
25880            'name': self.name,
25881            'tags': self.tags,
25882        }
25883
25884    @classmethod
25885    def from_dict(cls, d):
25886        return cls(
25887            access_rules=d.get('access_rules'),
25888            id=d.get('id'),
25889            managed_by=d.get('managed_by'),
25890            name=d.get('name'),
25891            tags=d.get('tags'),
25892        )

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)
25836    def __init__(
25837        self,
25838        access_rules=None,
25839        id=None,
25840        managed_by=None,
25841        name=None,
25842        tags=None,
25843    ):
25844        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25845        )
25846        '''
25847         AccessRules is a list of access rules defining the resources this Role has access to.
25848        '''
25849        self.id = id if id is not None else ''
25850        '''
25851         Unique identifier of the Role.
25852        '''
25853        self.managed_by = managed_by if managed_by is not None else ''
25854        '''
25855         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25856        '''
25857        self.name = name if name is not None else ''
25858        '''
25859         Unique human-readable name of the Role.
25860        '''
25861        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25862        '''
25863         Tags is a map of key, value pairs.
25864        '''
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)
25875    def to_dict(self):
25876        return {
25877            'access_rules': self.access_rules,
25878            'id': self.id,
25879            'managed_by': self.managed_by,
25880            'name': self.name,
25881            'tags': self.tags,
25882        }
@classmethod
def from_dict(cls, d)
25884    @classmethod
25885    def from_dict(cls, d):
25886        return cls(
25887            access_rules=d.get('access_rules'),
25888            id=d.get('id'),
25889            managed_by=d.get('managed_by'),
25890            name=d.get('name'),
25891            tags=d.get('tags'),
25892        )
class RoleCreateResponse:
25895class RoleCreateResponse:
25896    '''
25897         RoleCreateResponse reports how the Roles were created in the system. It can
25898     communicate partial successes or failures.
25899    '''
25900    __slots__ = [
25901        'meta',
25902        'rate_limit',
25903        'role',
25904    ]
25905
25906    def __init__(
25907        self,
25908        meta=None,
25909        rate_limit=None,
25910        role=None,
25911    ):
25912        self.meta = meta if meta is not None else None
25913        '''
25914         Reserved for future use.
25915        '''
25916        self.rate_limit = rate_limit if rate_limit is not None else None
25917        '''
25918         Rate limit information.
25919        '''
25920        self.role = role if role is not None else None
25921        '''
25922         The created Role.
25923        '''
25924
25925    def __repr__(self):
25926        return '<sdm.RoleCreateResponse ' + \
25927            'meta: ' + repr(self.meta) + ' ' +\
25928            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25929            'role: ' + repr(self.role) + ' ' +\
25930            '>'
25931
25932    def to_dict(self):
25933        return {
25934            'meta': self.meta,
25935            'rate_limit': self.rate_limit,
25936            'role': self.role,
25937        }
25938
25939    @classmethod
25940    def from_dict(cls, d):
25941        return cls(
25942            meta=d.get('meta'),
25943            rate_limit=d.get('rate_limit'),
25944            role=d.get('role'),
25945        )

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)
25906    def __init__(
25907        self,
25908        meta=None,
25909        rate_limit=None,
25910        role=None,
25911    ):
25912        self.meta = meta if meta is not None else None
25913        '''
25914         Reserved for future use.
25915        '''
25916        self.rate_limit = rate_limit if rate_limit is not None else None
25917        '''
25918         Rate limit information.
25919        '''
25920        self.role = role if role is not None else None
25921        '''
25922         The created Role.
25923        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
25932    def to_dict(self):
25933        return {
25934            'meta': self.meta,
25935            'rate_limit': self.rate_limit,
25936            'role': self.role,
25937        }
@classmethod
def from_dict(cls, d)
25939    @classmethod
25940    def from_dict(cls, d):
25941        return cls(
25942            meta=d.get('meta'),
25943            rate_limit=d.get('rate_limit'),
25944            role=d.get('role'),
25945        )
class RoleDeleteResponse:
25948class RoleDeleteResponse:
25949    '''
25950         RoleDeleteResponse returns information about a Role that was deleted.
25951    '''
25952    __slots__ = [
25953        'meta',
25954        'rate_limit',
25955    ]
25956
25957    def __init__(
25958        self,
25959        meta=None,
25960        rate_limit=None,
25961    ):
25962        self.meta = meta if meta is not None else None
25963        '''
25964         Reserved for future use.
25965        '''
25966        self.rate_limit = rate_limit if rate_limit is not None else None
25967        '''
25968         Rate limit information.
25969        '''
25970
25971    def __repr__(self):
25972        return '<sdm.RoleDeleteResponse ' + \
25973            'meta: ' + repr(self.meta) + ' ' +\
25974            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25975            '>'
25976
25977    def to_dict(self):
25978        return {
25979            'meta': self.meta,
25980            'rate_limit': self.rate_limit,
25981        }
25982
25983    @classmethod
25984    def from_dict(cls, d):
25985        return cls(
25986            meta=d.get('meta'),
25987            rate_limit=d.get('rate_limit'),
25988        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
25957    def __init__(
25958        self,
25959        meta=None,
25960        rate_limit=None,
25961    ):
25962        self.meta = meta if meta is not None else None
25963        '''
25964         Reserved for future use.
25965        '''
25966        self.rate_limit = rate_limit if rate_limit is not None else None
25967        '''
25968         Rate limit information.
25969        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25977    def to_dict(self):
25978        return {
25979            'meta': self.meta,
25980            'rate_limit': self.rate_limit,
25981        }
@classmethod
def from_dict(cls, d)
25983    @classmethod
25984    def from_dict(cls, d):
25985        return cls(
25986            meta=d.get('meta'),
25987            rate_limit=d.get('rate_limit'),
25988        )
class RoleGetResponse:
25991class RoleGetResponse:
25992    '''
25993         RoleGetResponse returns a requested Role.
25994    '''
25995    __slots__ = [
25996        'meta',
25997        'rate_limit',
25998        'role',
25999    ]
26000
26001    def __init__(
26002        self,
26003        meta=None,
26004        rate_limit=None,
26005        role=None,
26006    ):
26007        self.meta = meta if meta is not None else None
26008        '''
26009         Reserved for future use.
26010        '''
26011        self.rate_limit = rate_limit if rate_limit is not None else None
26012        '''
26013         Rate limit information.
26014        '''
26015        self.role = role if role is not None else None
26016        '''
26017         The requested Role.
26018        '''
26019
26020    def __repr__(self):
26021        return '<sdm.RoleGetResponse ' + \
26022            'meta: ' + repr(self.meta) + ' ' +\
26023            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26024            'role: ' + repr(self.role) + ' ' +\
26025            '>'
26026
26027    def to_dict(self):
26028        return {
26029            'meta': self.meta,
26030            'rate_limit': self.rate_limit,
26031            'role': self.role,
26032        }
26033
26034    @classmethod
26035    def from_dict(cls, d):
26036        return cls(
26037            meta=d.get('meta'),
26038            rate_limit=d.get('rate_limit'),
26039            role=d.get('role'),
26040        )

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
26001    def __init__(
26002        self,
26003        meta=None,
26004        rate_limit=None,
26005        role=None,
26006    ):
26007        self.meta = meta if meta is not None else None
26008        '''
26009         Reserved for future use.
26010        '''
26011        self.rate_limit = rate_limit if rate_limit is not None else None
26012        '''
26013         Rate limit information.
26014        '''
26015        self.role = role if role is not None else None
26016        '''
26017         The requested Role.
26018        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

def to_dict(self)
26027    def to_dict(self):
26028        return {
26029            'meta': self.meta,
26030            'rate_limit': self.rate_limit,
26031            'role': self.role,
26032        }
@classmethod
def from_dict(cls, d)
26034    @classmethod
26035    def from_dict(cls, d):
26036        return cls(
26037            meta=d.get('meta'),
26038            rate_limit=d.get('rate_limit'),
26039            role=d.get('role'),
26040        )
class RoleHistory:
26043class RoleHistory:
26044    '''
26045         RoleHistory records the state of a Role at a given point in time,
26046     where every change (create, update and delete) to a Role produces an
26047     RoleHistory record.
26048    '''
26049    __slots__ = [
26050        'activity_id',
26051        'deleted_at',
26052        'role',
26053        'timestamp',
26054    ]
26055
26056    def __init__(
26057        self,
26058        activity_id=None,
26059        deleted_at=None,
26060        role=None,
26061        timestamp=None,
26062    ):
26063        self.activity_id = activity_id if activity_id is not None else ''
26064        '''
26065         The unique identifier of the Activity that produced this change to the Role.
26066         May be empty for some system-initiated updates.
26067        '''
26068        self.deleted_at = deleted_at if deleted_at is not None else None
26069        '''
26070         If this Role was deleted, the time it was deleted.
26071        '''
26072        self.role = role if role is not None else None
26073        '''
26074         The complete Role state at this time.
26075        '''
26076        self.timestamp = timestamp if timestamp is not None else None
26077        '''
26078         The time at which the Role state was recorded.
26079        '''
26080
26081    def __repr__(self):
26082        return '<sdm.RoleHistory ' + \
26083            'activity_id: ' + repr(self.activity_id) + ' ' +\
26084            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26085            'role: ' + repr(self.role) + ' ' +\
26086            'timestamp: ' + repr(self.timestamp) + ' ' +\
26087            '>'
26088
26089    def to_dict(self):
26090        return {
26091            'activity_id': self.activity_id,
26092            'deleted_at': self.deleted_at,
26093            'role': self.role,
26094            'timestamp': self.timestamp,
26095        }
26096
26097    @classmethod
26098    def from_dict(cls, d):
26099        return cls(
26100            activity_id=d.get('activity_id'),
26101            deleted_at=d.get('deleted_at'),
26102            role=d.get('role'),
26103            timestamp=d.get('timestamp'),
26104        )

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)
26056    def __init__(
26057        self,
26058        activity_id=None,
26059        deleted_at=None,
26060        role=None,
26061        timestamp=None,
26062    ):
26063        self.activity_id = activity_id if activity_id is not None else ''
26064        '''
26065         The unique identifier of the Activity that produced this change to the Role.
26066         May be empty for some system-initiated updates.
26067        '''
26068        self.deleted_at = deleted_at if deleted_at is not None else None
26069        '''
26070         If this Role was deleted, the time it was deleted.
26071        '''
26072        self.role = role if role is not None else None
26073        '''
26074         The complete Role state at this time.
26075        '''
26076        self.timestamp = timestamp if timestamp is not None else None
26077        '''
26078         The time at which the Role state was recorded.
26079        '''
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)
26089    def to_dict(self):
26090        return {
26091            'activity_id': self.activity_id,
26092            'deleted_at': self.deleted_at,
26093            'role': self.role,
26094            'timestamp': self.timestamp,
26095        }
@classmethod
def from_dict(cls, d)
26097    @classmethod
26098    def from_dict(cls, d):
26099        return cls(
26100            activity_id=d.get('activity_id'),
26101            deleted_at=d.get('deleted_at'),
26102            role=d.get('role'),
26103            timestamp=d.get('timestamp'),
26104        )
class RoleResource:
26107class RoleResource:
26108    '''
26109         RoleResource represents an individual access grant of a Role to a Resource.
26110    '''
26111    __slots__ = [
26112        'granted_at',
26113        'resource_id',
26114        'role_id',
26115    ]
26116
26117    def __init__(
26118        self,
26119        granted_at=None,
26120        resource_id=None,
26121        role_id=None,
26122    ):
26123        self.granted_at = granted_at if granted_at is not None else None
26124        '''
26125         The most recent time at which access was granted. If access was granted,
26126         revoked, and granted again, this will reflect the later time.
26127        '''
26128        self.resource_id = resource_id if resource_id is not None else ''
26129        '''
26130         The unique identifier of the Resource to which access is granted.
26131        '''
26132        self.role_id = role_id if role_id is not None else ''
26133        '''
26134         The unique identifier of the Role to which access is granted.
26135        '''
26136
26137    def __repr__(self):
26138        return '<sdm.RoleResource ' + \
26139            'granted_at: ' + repr(self.granted_at) + ' ' +\
26140            'resource_id: ' + repr(self.resource_id) + ' ' +\
26141            'role_id: ' + repr(self.role_id) + ' ' +\
26142            '>'
26143
26144    def to_dict(self):
26145        return {
26146            'granted_at': self.granted_at,
26147            'resource_id': self.resource_id,
26148            'role_id': self.role_id,
26149        }
26150
26151    @classmethod
26152    def from_dict(cls, d):
26153        return cls(
26154            granted_at=d.get('granted_at'),
26155            resource_id=d.get('resource_id'),
26156            role_id=d.get('role_id'),
26157        )

RoleResource represents an individual access grant of a Role to a Resource.

RoleResource(granted_at=None, resource_id=None, role_id=None)
26117    def __init__(
26118        self,
26119        granted_at=None,
26120        resource_id=None,
26121        role_id=None,
26122    ):
26123        self.granted_at = granted_at if granted_at is not None else None
26124        '''
26125         The most recent time at which access was granted. If access was granted,
26126         revoked, and granted again, this will reflect the later time.
26127        '''
26128        self.resource_id = resource_id if resource_id is not None else ''
26129        '''
26130         The unique identifier of the Resource to which access is granted.
26131        '''
26132        self.role_id = role_id if role_id is not None else ''
26133        '''
26134         The unique identifier of the Role to which access is granted.
26135        '''
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)
26144    def to_dict(self):
26145        return {
26146            'granted_at': self.granted_at,
26147            'resource_id': self.resource_id,
26148            'role_id': self.role_id,
26149        }
@classmethod
def from_dict(cls, d)
26151    @classmethod
26152    def from_dict(cls, d):
26153        return cls(
26154            granted_at=d.get('granted_at'),
26155            resource_id=d.get('resource_id'),
26156            role_id=d.get('role_id'),
26157        )
class RoleResourceHistory:
26160class RoleResourceHistory:
26161    '''
26162         RoleResourceHistory records the state of a RoleResource at a given point in time,
26163     where every change (create or delete) to a RoleResource produces an
26164     RoleResourceHistory record.
26165    '''
26166    __slots__ = [
26167        'activity_id',
26168        'deleted_at',
26169        'role_resource',
26170        'timestamp',
26171    ]
26172
26173    def __init__(
26174        self,
26175        activity_id=None,
26176        deleted_at=None,
26177        role_resource=None,
26178        timestamp=None,
26179    ):
26180        self.activity_id = activity_id if activity_id is not None else ''
26181        '''
26182         The unique identifier of the Activity that produced this change to the RoleResource.
26183         May be empty for some system-initiated updates.
26184        '''
26185        self.deleted_at = deleted_at if deleted_at is not None else None
26186        '''
26187         If this RoleResource was deleted, the time it was deleted.
26188        '''
26189        self.role_resource = role_resource if role_resource is not None else None
26190        '''
26191         The complete RoleResource state at this time.
26192        '''
26193        self.timestamp = timestamp if timestamp is not None else None
26194        '''
26195         The time at which the RoleResource state was recorded.
26196        '''
26197
26198    def __repr__(self):
26199        return '<sdm.RoleResourceHistory ' + \
26200            'activity_id: ' + repr(self.activity_id) + ' ' +\
26201            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26202            'role_resource: ' + repr(self.role_resource) + ' ' +\
26203            'timestamp: ' + repr(self.timestamp) + ' ' +\
26204            '>'
26205
26206    def to_dict(self):
26207        return {
26208            'activity_id': self.activity_id,
26209            'deleted_at': self.deleted_at,
26210            'role_resource': self.role_resource,
26211            'timestamp': self.timestamp,
26212        }
26213
26214    @classmethod
26215    def from_dict(cls, d):
26216        return cls(
26217            activity_id=d.get('activity_id'),
26218            deleted_at=d.get('deleted_at'),
26219            role_resource=d.get('role_resource'),
26220            timestamp=d.get('timestamp'),
26221        )

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)
26173    def __init__(
26174        self,
26175        activity_id=None,
26176        deleted_at=None,
26177        role_resource=None,
26178        timestamp=None,
26179    ):
26180        self.activity_id = activity_id if activity_id is not None else ''
26181        '''
26182         The unique identifier of the Activity that produced this change to the RoleResource.
26183         May be empty for some system-initiated updates.
26184        '''
26185        self.deleted_at = deleted_at if deleted_at is not None else None
26186        '''
26187         If this RoleResource was deleted, the time it was deleted.
26188        '''
26189        self.role_resource = role_resource if role_resource is not None else None
26190        '''
26191         The complete RoleResource state at this time.
26192        '''
26193        self.timestamp = timestamp if timestamp is not None else None
26194        '''
26195         The time at which the RoleResource state was recorded.
26196        '''
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)
26206    def to_dict(self):
26207        return {
26208            'activity_id': self.activity_id,
26209            'deleted_at': self.deleted_at,
26210            'role_resource': self.role_resource,
26211            'timestamp': self.timestamp,
26212        }
@classmethod
def from_dict(cls, d)
26214    @classmethod
26215    def from_dict(cls, d):
26216        return cls(
26217            activity_id=d.get('activity_id'),
26218            deleted_at=d.get('deleted_at'),
26219            role_resource=d.get('role_resource'),
26220            timestamp=d.get('timestamp'),
26221        )
class RoleUpdateResponse:
26224class RoleUpdateResponse:
26225    '''
26226         RoleUpdateResponse returns the fields of a Role after it has been updated by
26227     a RoleUpdateRequest.
26228    '''
26229    __slots__ = [
26230        'meta',
26231        'rate_limit',
26232        'role',
26233    ]
26234
26235    def __init__(
26236        self,
26237        meta=None,
26238        rate_limit=None,
26239        role=None,
26240    ):
26241        self.meta = meta if meta is not None else None
26242        '''
26243         Reserved for future use.
26244        '''
26245        self.rate_limit = rate_limit if rate_limit is not None else None
26246        '''
26247         Rate limit information.
26248        '''
26249        self.role = role if role is not None else None
26250        '''
26251         The updated Role.
26252        '''
26253
26254    def __repr__(self):
26255        return '<sdm.RoleUpdateResponse ' + \
26256            'meta: ' + repr(self.meta) + ' ' +\
26257            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26258            'role: ' + repr(self.role) + ' ' +\
26259            '>'
26260
26261    def to_dict(self):
26262        return {
26263            'meta': self.meta,
26264            'rate_limit': self.rate_limit,
26265            'role': self.role,
26266        }
26267
26268    @classmethod
26269    def from_dict(cls, d):
26270        return cls(
26271            meta=d.get('meta'),
26272            rate_limit=d.get('rate_limit'),
26273            role=d.get('role'),
26274        )

RoleUpdateResponse returns the fields of a Role after it has been updated by a RoleUpdateRequest.

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
26235    def __init__(
26236        self,
26237        meta=None,
26238        rate_limit=None,
26239        role=None,
26240    ):
26241        self.meta = meta if meta is not None else None
26242        '''
26243         Reserved for future use.
26244        '''
26245        self.rate_limit = rate_limit if rate_limit is not None else None
26246        '''
26247         Rate limit information.
26248        '''
26249        self.role = role if role is not None else None
26250        '''
26251         The updated Role.
26252        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

def to_dict(self)
26261    def to_dict(self):
26262        return {
26263            'meta': self.meta,
26264            'rate_limit': self.rate_limit,
26265            'role': self.role,
26266        }
@classmethod
def from_dict(cls, d)
26268    @classmethod
26269    def from_dict(cls, d):
26270        return cls(
26271            meta=d.get('meta'),
26272            rate_limit=d.get('rate_limit'),
26273            role=d.get('role'),
26274        )
class SQLServer:
26277class SQLServer:
26278    __slots__ = [
26279        'allow_deprecated_encryption',
26280        'bind_interface',
26281        'database',
26282        'egress_filter',
26283        'healthy',
26284        'hostname',
26285        'id',
26286        'name',
26287        'override_database',
26288        'password',
26289        'port',
26290        'port_override',
26291        'proxy_cluster_id',
26292        'schema',
26293        'secret_store_id',
26294        'subdomain',
26295        'tags',
26296        'username',
26297    ]
26298
26299    def __init__(
26300        self,
26301        allow_deprecated_encryption=None,
26302        bind_interface=None,
26303        database=None,
26304        egress_filter=None,
26305        healthy=None,
26306        hostname=None,
26307        id=None,
26308        name=None,
26309        override_database=None,
26310        password=None,
26311        port=None,
26312        port_override=None,
26313        proxy_cluster_id=None,
26314        schema=None,
26315        secret_store_id=None,
26316        subdomain=None,
26317        tags=None,
26318        username=None,
26319    ):
26320        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26321        '''
26322         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26323         TLS 1.0.
26324        '''
26325        self.bind_interface = bind_interface if bind_interface is not None else ''
26326        '''
26327         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26328        '''
26329        self.database = database if database is not None else ''
26330        '''
26331         The database for healthchecks, and used for clients if Override Default Database is true.
26332        '''
26333        self.egress_filter = egress_filter if egress_filter is not None else ''
26334        '''
26335         A filter applied to the routing logic to pin datasource to nodes.
26336        '''
26337        self.healthy = healthy if healthy is not None else False
26338        '''
26339         True if the datasource is reachable and the credentials are valid.
26340        '''
26341        self.hostname = hostname if hostname is not None else ''
26342        '''
26343         The host to dial to initiate a connection from the egress node to this resource.
26344        '''
26345        self.id = id if id is not None else ''
26346        '''
26347         Unique identifier of the Resource.
26348        '''
26349        self.name = name if name is not None else ''
26350        '''
26351         Unique human-readable name of the Resource.
26352        '''
26353        self.override_database = override_database if override_database is not None else False
26354        '''
26355         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.
26356        '''
26357        self.password = password if password is not None else ''
26358        '''
26359         The password to authenticate with.
26360        '''
26361        self.port = port if port is not None else 0
26362        '''
26363         The port to dial to initiate a connection from the egress node to this resource.
26364        '''
26365        self.port_override = port_override if port_override is not None else 0
26366        '''
26367         The local port used by clients to connect to this resource.
26368        '''
26369        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26370        '''
26371         ID of the proxy cluster for this resource, if any.
26372        '''
26373        self.schema = schema if schema is not None else ''
26374        '''
26375         The Schema to use to direct initial requests.
26376        '''
26377        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26378        '''
26379         ID of the secret store containing credentials for this resource, if any.
26380        '''
26381        self.subdomain = subdomain if subdomain is not None else ''
26382        '''
26383         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26384        '''
26385        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26386        '''
26387         Tags is a map of key, value pairs.
26388        '''
26389        self.username = username if username is not None else ''
26390        '''
26391         The username to authenticate with.
26392        '''
26393
26394    def __repr__(self):
26395        return '<sdm.SQLServer ' + \
26396            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26397            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26398            'database: ' + repr(self.database) + ' ' +\
26399            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26400            'healthy: ' + repr(self.healthy) + ' ' +\
26401            'hostname: ' + repr(self.hostname) + ' ' +\
26402            'id: ' + repr(self.id) + ' ' +\
26403            'name: ' + repr(self.name) + ' ' +\
26404            'override_database: ' + repr(self.override_database) + ' ' +\
26405            'password: ' + repr(self.password) + ' ' +\
26406            'port: ' + repr(self.port) + ' ' +\
26407            'port_override: ' + repr(self.port_override) + ' ' +\
26408            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26409            'schema: ' + repr(self.schema) + ' ' +\
26410            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26411            'subdomain: ' + repr(self.subdomain) + ' ' +\
26412            'tags: ' + repr(self.tags) + ' ' +\
26413            'username: ' + repr(self.username) + ' ' +\
26414            '>'
26415
26416    def to_dict(self):
26417        return {
26418            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26419            'bind_interface': self.bind_interface,
26420            'database': self.database,
26421            'egress_filter': self.egress_filter,
26422            'healthy': self.healthy,
26423            'hostname': self.hostname,
26424            'id': self.id,
26425            'name': self.name,
26426            'override_database': self.override_database,
26427            'password': self.password,
26428            'port': self.port,
26429            'port_override': self.port_override,
26430            'proxy_cluster_id': self.proxy_cluster_id,
26431            'schema': self.schema,
26432            'secret_store_id': self.secret_store_id,
26433            'subdomain': self.subdomain,
26434            'tags': self.tags,
26435            'username': self.username,
26436        }
26437
26438    @classmethod
26439    def from_dict(cls, d):
26440        return cls(
26441            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26442            bind_interface=d.get('bind_interface'),
26443            database=d.get('database'),
26444            egress_filter=d.get('egress_filter'),
26445            healthy=d.get('healthy'),
26446            hostname=d.get('hostname'),
26447            id=d.get('id'),
26448            name=d.get('name'),
26449            override_database=d.get('override_database'),
26450            password=d.get('password'),
26451            port=d.get('port'),
26452            port_override=d.get('port_override'),
26453            proxy_cluster_id=d.get('proxy_cluster_id'),
26454            schema=d.get('schema'),
26455            secret_store_id=d.get('secret_store_id'),
26456            subdomain=d.get('subdomain'),
26457            tags=d.get('tags'),
26458            username=d.get('username'),
26459        )
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)
26299    def __init__(
26300        self,
26301        allow_deprecated_encryption=None,
26302        bind_interface=None,
26303        database=None,
26304        egress_filter=None,
26305        healthy=None,
26306        hostname=None,
26307        id=None,
26308        name=None,
26309        override_database=None,
26310        password=None,
26311        port=None,
26312        port_override=None,
26313        proxy_cluster_id=None,
26314        schema=None,
26315        secret_store_id=None,
26316        subdomain=None,
26317        tags=None,
26318        username=None,
26319    ):
26320        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26321        '''
26322         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26323         TLS 1.0.
26324        '''
26325        self.bind_interface = bind_interface if bind_interface is not None else ''
26326        '''
26327         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26328        '''
26329        self.database = database if database is not None else ''
26330        '''
26331         The database for healthchecks, and used for clients if Override Default Database is true.
26332        '''
26333        self.egress_filter = egress_filter if egress_filter is not None else ''
26334        '''
26335         A filter applied to the routing logic to pin datasource to nodes.
26336        '''
26337        self.healthy = healthy if healthy is not None else False
26338        '''
26339         True if the datasource is reachable and the credentials are valid.
26340        '''
26341        self.hostname = hostname if hostname is not None else ''
26342        '''
26343         The host to dial to initiate a connection from the egress node to this resource.
26344        '''
26345        self.id = id if id is not None else ''
26346        '''
26347         Unique identifier of the Resource.
26348        '''
26349        self.name = name if name is not None else ''
26350        '''
26351         Unique human-readable name of the Resource.
26352        '''
26353        self.override_database = override_database if override_database is not None else False
26354        '''
26355         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.
26356        '''
26357        self.password = password if password is not None else ''
26358        '''
26359         The password to authenticate with.
26360        '''
26361        self.port = port if port is not None else 0
26362        '''
26363         The port to dial to initiate a connection from the egress node to this resource.
26364        '''
26365        self.port_override = port_override if port_override is not None else 0
26366        '''
26367         The local port used by clients to connect to this resource.
26368        '''
26369        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26370        '''
26371         ID of the proxy cluster for this resource, if any.
26372        '''
26373        self.schema = schema if schema is not None else ''
26374        '''
26375         The Schema to use to direct initial requests.
26376        '''
26377        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26378        '''
26379         ID of the secret store containing credentials for this resource, if any.
26380        '''
26381        self.subdomain = subdomain if subdomain is not None else ''
26382        '''
26383         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26384        '''
26385        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26386        '''
26387         Tags is a map of key, value pairs.
26388        '''
26389        self.username = username if username is not None else ''
26390        '''
26391         The username to authenticate with.
26392        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
26416    def to_dict(self):
26417        return {
26418            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26419            'bind_interface': self.bind_interface,
26420            'database': self.database,
26421            'egress_filter': self.egress_filter,
26422            'healthy': self.healthy,
26423            'hostname': self.hostname,
26424            'id': self.id,
26425            'name': self.name,
26426            'override_database': self.override_database,
26427            'password': self.password,
26428            'port': self.port,
26429            'port_override': self.port_override,
26430            'proxy_cluster_id': self.proxy_cluster_id,
26431            'schema': self.schema,
26432            'secret_store_id': self.secret_store_id,
26433            'subdomain': self.subdomain,
26434            'tags': self.tags,
26435            'username': self.username,
26436        }
@classmethod
def from_dict(cls, d)
26438    @classmethod
26439    def from_dict(cls, d):
26440        return cls(
26441            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26442            bind_interface=d.get('bind_interface'),
26443            database=d.get('database'),
26444            egress_filter=d.get('egress_filter'),
26445            healthy=d.get('healthy'),
26446            hostname=d.get('hostname'),
26447            id=d.get('id'),
26448            name=d.get('name'),
26449            override_database=d.get('override_database'),
26450            password=d.get('password'),
26451            port=d.get('port'),
26452            port_override=d.get('port_override'),
26453            proxy_cluster_id=d.get('proxy_cluster_id'),
26454            schema=d.get('schema'),
26455            secret_store_id=d.get('secret_store_id'),
26456            subdomain=d.get('subdomain'),
26457            tags=d.get('tags'),
26458            username=d.get('username'),
26459        )
class SQLServerAzureAD:
26462class SQLServerAzureAD:
26463    __slots__ = [
26464        'allow_deprecated_encryption',
26465        'bind_interface',
26466        'client_id',
26467        'database',
26468        'egress_filter',
26469        'healthy',
26470        'hostname',
26471        'id',
26472        'name',
26473        'override_database',
26474        'port',
26475        'port_override',
26476        'proxy_cluster_id',
26477        'schema',
26478        'secret',
26479        'secret_store_id',
26480        'subdomain',
26481        'tags',
26482        'tenant_id',
26483    ]
26484
26485    def __init__(
26486        self,
26487        allow_deprecated_encryption=None,
26488        bind_interface=None,
26489        client_id=None,
26490        database=None,
26491        egress_filter=None,
26492        healthy=None,
26493        hostname=None,
26494        id=None,
26495        name=None,
26496        override_database=None,
26497        port=None,
26498        port_override=None,
26499        proxy_cluster_id=None,
26500        schema=None,
26501        secret=None,
26502        secret_store_id=None,
26503        subdomain=None,
26504        tags=None,
26505        tenant_id=None,
26506    ):
26507        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26508        '''
26509         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26510         TLS 1.0.
26511        '''
26512        self.bind_interface = bind_interface if bind_interface is not None else ''
26513        '''
26514         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26515        '''
26516        self.client_id = client_id if client_id is not None else ''
26517        '''
26518         The Azure AD application (client) ID with which to authenticate.
26519        '''
26520        self.database = database if database is not None else ''
26521        '''
26522         The database for healthchecks, and used for clients if Override Default Database is true.
26523        '''
26524        self.egress_filter = egress_filter if egress_filter is not None else ''
26525        '''
26526         A filter applied to the routing logic to pin datasource to nodes.
26527        '''
26528        self.healthy = healthy if healthy is not None else False
26529        '''
26530         True if the datasource is reachable and the credentials are valid.
26531        '''
26532        self.hostname = hostname if hostname is not None else ''
26533        '''
26534         The host to dial to initiate a connection from the egress node to this resource.
26535        '''
26536        self.id = id if id is not None else ''
26537        '''
26538         Unique identifier of the Resource.
26539        '''
26540        self.name = name if name is not None else ''
26541        '''
26542         Unique human-readable name of the Resource.
26543        '''
26544        self.override_database = override_database if override_database is not None else False
26545        '''
26546         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.
26547        '''
26548        self.port = port if port is not None else 0
26549        '''
26550         The port to dial to initiate a connection from the egress node to this resource.
26551        '''
26552        self.port_override = port_override if port_override is not None else 0
26553        '''
26554         The local port used by clients to connect to this resource.
26555        '''
26556        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26557        '''
26558         ID of the proxy cluster for this resource, if any.
26559        '''
26560        self.schema = schema if schema is not None else ''
26561        '''
26562         The Schema to use to direct initial requests.
26563        '''
26564        self.secret = secret if secret is not None else ''
26565        '''
26566         The Azure AD client secret (application password) with which to authenticate.
26567        '''
26568        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26569        '''
26570         ID of the secret store containing credentials for this resource, if any.
26571        '''
26572        self.subdomain = subdomain if subdomain is not None else ''
26573        '''
26574         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26575        '''
26576        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26577        '''
26578         Tags is a map of key, value pairs.
26579        '''
26580        self.tenant_id = tenant_id if tenant_id is not None else ''
26581        '''
26582         The Azure AD directory (tenant) ID with which to authenticate.
26583        '''
26584
26585    def __repr__(self):
26586        return '<sdm.SQLServerAzureAD ' + \
26587            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26588            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26589            'client_id: ' + repr(self.client_id) + ' ' +\
26590            'database: ' + repr(self.database) + ' ' +\
26591            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26592            'healthy: ' + repr(self.healthy) + ' ' +\
26593            'hostname: ' + repr(self.hostname) + ' ' +\
26594            'id: ' + repr(self.id) + ' ' +\
26595            'name: ' + repr(self.name) + ' ' +\
26596            'override_database: ' + repr(self.override_database) + ' ' +\
26597            'port: ' + repr(self.port) + ' ' +\
26598            'port_override: ' + repr(self.port_override) + ' ' +\
26599            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26600            'schema: ' + repr(self.schema) + ' ' +\
26601            'secret: ' + repr(self.secret) + ' ' +\
26602            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26603            'subdomain: ' + repr(self.subdomain) + ' ' +\
26604            'tags: ' + repr(self.tags) + ' ' +\
26605            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
26606            '>'
26607
26608    def to_dict(self):
26609        return {
26610            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26611            'bind_interface': self.bind_interface,
26612            'client_id': self.client_id,
26613            'database': self.database,
26614            'egress_filter': self.egress_filter,
26615            'healthy': self.healthy,
26616            'hostname': self.hostname,
26617            'id': self.id,
26618            'name': self.name,
26619            'override_database': self.override_database,
26620            'port': self.port,
26621            'port_override': self.port_override,
26622            'proxy_cluster_id': self.proxy_cluster_id,
26623            'schema': self.schema,
26624            'secret': self.secret,
26625            'secret_store_id': self.secret_store_id,
26626            'subdomain': self.subdomain,
26627            'tags': self.tags,
26628            'tenant_id': self.tenant_id,
26629        }
26630
26631    @classmethod
26632    def from_dict(cls, d):
26633        return cls(
26634            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26635            bind_interface=d.get('bind_interface'),
26636            client_id=d.get('client_id'),
26637            database=d.get('database'),
26638            egress_filter=d.get('egress_filter'),
26639            healthy=d.get('healthy'),
26640            hostname=d.get('hostname'),
26641            id=d.get('id'),
26642            name=d.get('name'),
26643            override_database=d.get('override_database'),
26644            port=d.get('port'),
26645            port_override=d.get('port_override'),
26646            proxy_cluster_id=d.get('proxy_cluster_id'),
26647            schema=d.get('schema'),
26648            secret=d.get('secret'),
26649            secret_store_id=d.get('secret_store_id'),
26650            subdomain=d.get('subdomain'),
26651            tags=d.get('tags'),
26652            tenant_id=d.get('tenant_id'),
26653        )
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)
26485    def __init__(
26486        self,
26487        allow_deprecated_encryption=None,
26488        bind_interface=None,
26489        client_id=None,
26490        database=None,
26491        egress_filter=None,
26492        healthy=None,
26493        hostname=None,
26494        id=None,
26495        name=None,
26496        override_database=None,
26497        port=None,
26498        port_override=None,
26499        proxy_cluster_id=None,
26500        schema=None,
26501        secret=None,
26502        secret_store_id=None,
26503        subdomain=None,
26504        tags=None,
26505        tenant_id=None,
26506    ):
26507        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26508        '''
26509         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26510         TLS 1.0.
26511        '''
26512        self.bind_interface = bind_interface if bind_interface is not None else ''
26513        '''
26514         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26515        '''
26516        self.client_id = client_id if client_id is not None else ''
26517        '''
26518         The Azure AD application (client) ID with which to authenticate.
26519        '''
26520        self.database = database if database is not None else ''
26521        '''
26522         The database for healthchecks, and used for clients if Override Default Database is true.
26523        '''
26524        self.egress_filter = egress_filter if egress_filter is not None else ''
26525        '''
26526         A filter applied to the routing logic to pin datasource to nodes.
26527        '''
26528        self.healthy = healthy if healthy is not None else False
26529        '''
26530         True if the datasource is reachable and the credentials are valid.
26531        '''
26532        self.hostname = hostname if hostname is not None else ''
26533        '''
26534         The host to dial to initiate a connection from the egress node to this resource.
26535        '''
26536        self.id = id if id is not None else ''
26537        '''
26538         Unique identifier of the Resource.
26539        '''
26540        self.name = name if name is not None else ''
26541        '''
26542         Unique human-readable name of the Resource.
26543        '''
26544        self.override_database = override_database if override_database is not None else False
26545        '''
26546         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.
26547        '''
26548        self.port = port if port is not None else 0
26549        '''
26550         The port to dial to initiate a connection from the egress node to this resource.
26551        '''
26552        self.port_override = port_override if port_override is not None else 0
26553        '''
26554         The local port used by clients to connect to this resource.
26555        '''
26556        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26557        '''
26558         ID of the proxy cluster for this resource, if any.
26559        '''
26560        self.schema = schema if schema is not None else ''
26561        '''
26562         The Schema to use to direct initial requests.
26563        '''
26564        self.secret = secret if secret is not None else ''
26565        '''
26566         The Azure AD client secret (application password) with which to authenticate.
26567        '''
26568        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26569        '''
26570         ID of the secret store containing credentials for this resource, if any.
26571        '''
26572        self.subdomain = subdomain if subdomain is not None else ''
26573        '''
26574         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26575        '''
26576        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26577        '''
26578         Tags is a map of key, value pairs.
26579        '''
26580        self.tenant_id = tenant_id if tenant_id is not None else ''
26581        '''
26582         The Azure AD directory (tenant) ID with which to authenticate.
26583        '''
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.

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.

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

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.

tenant_id

The Azure AD directory (tenant) ID with which to authenticate.

def to_dict(self)
26608    def to_dict(self):
26609        return {
26610            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26611            'bind_interface': self.bind_interface,
26612            'client_id': self.client_id,
26613            'database': self.database,
26614            'egress_filter': self.egress_filter,
26615            'healthy': self.healthy,
26616            'hostname': self.hostname,
26617            'id': self.id,
26618            'name': self.name,
26619            'override_database': self.override_database,
26620            'port': self.port,
26621            'port_override': self.port_override,
26622            'proxy_cluster_id': self.proxy_cluster_id,
26623            'schema': self.schema,
26624            'secret': self.secret,
26625            'secret_store_id': self.secret_store_id,
26626            'subdomain': self.subdomain,
26627            'tags': self.tags,
26628            'tenant_id': self.tenant_id,
26629        }
@classmethod
def from_dict(cls, d)
26631    @classmethod
26632    def from_dict(cls, d):
26633        return cls(
26634            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26635            bind_interface=d.get('bind_interface'),
26636            client_id=d.get('client_id'),
26637            database=d.get('database'),
26638            egress_filter=d.get('egress_filter'),
26639            healthy=d.get('healthy'),
26640            hostname=d.get('hostname'),
26641            id=d.get('id'),
26642            name=d.get('name'),
26643            override_database=d.get('override_database'),
26644            port=d.get('port'),
26645            port_override=d.get('port_override'),
26646            proxy_cluster_id=d.get('proxy_cluster_id'),
26647            schema=d.get('schema'),
26648            secret=d.get('secret'),
26649            secret_store_id=d.get('secret_store_id'),
26650            subdomain=d.get('subdomain'),
26651            tags=d.get('tags'),
26652            tenant_id=d.get('tenant_id'),
26653        )
class SQLServerKerberosAD:
26656class SQLServerKerberosAD:
26657    __slots__ = [
26658        'allow_deprecated_encryption',
26659        'bind_interface',
26660        'database',
26661        'egress_filter',
26662        'healthy',
26663        'hostname',
26664        'id',
26665        'keytab',
26666        'krb_config',
26667        'name',
26668        'override_database',
26669        'port',
26670        'port_override',
26671        'proxy_cluster_id',
26672        'realm',
26673        'schema',
26674        'secret_store_id',
26675        'server_spn',
26676        'subdomain',
26677        'tags',
26678        'username',
26679    ]
26680
26681    def __init__(
26682        self,
26683        allow_deprecated_encryption=None,
26684        bind_interface=None,
26685        database=None,
26686        egress_filter=None,
26687        healthy=None,
26688        hostname=None,
26689        id=None,
26690        keytab=None,
26691        krb_config=None,
26692        name=None,
26693        override_database=None,
26694        port=None,
26695        port_override=None,
26696        proxy_cluster_id=None,
26697        realm=None,
26698        schema=None,
26699        secret_store_id=None,
26700        server_spn=None,
26701        subdomain=None,
26702        tags=None,
26703        username=None,
26704    ):
26705        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26706        '''
26707         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26708         TLS 1.0.
26709        '''
26710        self.bind_interface = bind_interface if bind_interface is not None else ''
26711        '''
26712         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26713        '''
26714        self.database = database if database is not None else ''
26715        '''
26716         The database for healthchecks, and used for clients if Override Default Database is true.
26717        '''
26718        self.egress_filter = egress_filter if egress_filter is not None else ''
26719        '''
26720         A filter applied to the routing logic to pin datasource to nodes.
26721        '''
26722        self.healthy = healthy if healthy is not None else False
26723        '''
26724         True if the datasource is reachable and the credentials are valid.
26725        '''
26726        self.hostname = hostname if hostname is not None else ''
26727        '''
26728         The host to dial to initiate a connection from the egress node to this resource.
26729        '''
26730        self.id = id if id is not None else ''
26731        '''
26732         Unique identifier of the Resource.
26733        '''
26734        self.keytab = keytab if keytab is not None else ''
26735        '''
26736         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26737        '''
26738        self.krb_config = krb_config if krb_config is not None else ''
26739        '''
26740         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26741        '''
26742        self.name = name if name is not None else ''
26743        '''
26744         Unique human-readable name of the Resource.
26745        '''
26746        self.override_database = override_database if override_database is not None else False
26747        '''
26748         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.
26749        '''
26750        self.port = port if port is not None else 0
26751        '''
26752         The port to dial to initiate a connection from the egress node to this resource.
26753        '''
26754        self.port_override = port_override if port_override is not None else 0
26755        '''
26756         The local port used by clients to connect to this resource.
26757        '''
26758        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26759        '''
26760         ID of the proxy cluster for this resource, if any.
26761        '''
26762        self.realm = realm if realm is not None else ''
26763        '''
26764         The Active Directory domain (realm) to which the configured username belongs.
26765        '''
26766        self.schema = schema if schema is not None else ''
26767        '''
26768         The Schema to use to direct initial requests.
26769        '''
26770        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26771        '''
26772         ID of the secret store containing credentials for this resource, if any.
26773        '''
26774        self.server_spn = server_spn if server_spn is not None else ''
26775        '''
26776         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26777        '''
26778        self.subdomain = subdomain if subdomain is not None else ''
26779        '''
26780         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26781        '''
26782        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26783        '''
26784         Tags is a map of key, value pairs.
26785        '''
26786        self.username = username if username is not None else ''
26787        '''
26788         The username to authenticate with.
26789        '''
26790
26791    def __repr__(self):
26792        return '<sdm.SQLServerKerberosAD ' + \
26793            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26794            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26795            'database: ' + repr(self.database) + ' ' +\
26796            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26797            'healthy: ' + repr(self.healthy) + ' ' +\
26798            'hostname: ' + repr(self.hostname) + ' ' +\
26799            'id: ' + repr(self.id) + ' ' +\
26800            'keytab: ' + repr(self.keytab) + ' ' +\
26801            'krb_config: ' + repr(self.krb_config) + ' ' +\
26802            'name: ' + repr(self.name) + ' ' +\
26803            'override_database: ' + repr(self.override_database) + ' ' +\
26804            'port: ' + repr(self.port) + ' ' +\
26805            'port_override: ' + repr(self.port_override) + ' ' +\
26806            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26807            'realm: ' + repr(self.realm) + ' ' +\
26808            'schema: ' + repr(self.schema) + ' ' +\
26809            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26810            'server_spn: ' + repr(self.server_spn) + ' ' +\
26811            'subdomain: ' + repr(self.subdomain) + ' ' +\
26812            'tags: ' + repr(self.tags) + ' ' +\
26813            'username: ' + repr(self.username) + ' ' +\
26814            '>'
26815
26816    def to_dict(self):
26817        return {
26818            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26819            'bind_interface': self.bind_interface,
26820            'database': self.database,
26821            'egress_filter': self.egress_filter,
26822            'healthy': self.healthy,
26823            'hostname': self.hostname,
26824            'id': self.id,
26825            'keytab': self.keytab,
26826            'krb_config': self.krb_config,
26827            'name': self.name,
26828            'override_database': self.override_database,
26829            'port': self.port,
26830            'port_override': self.port_override,
26831            'proxy_cluster_id': self.proxy_cluster_id,
26832            'realm': self.realm,
26833            'schema': self.schema,
26834            'secret_store_id': self.secret_store_id,
26835            'server_spn': self.server_spn,
26836            'subdomain': self.subdomain,
26837            'tags': self.tags,
26838            'username': self.username,
26839        }
26840
26841    @classmethod
26842    def from_dict(cls, d):
26843        return cls(
26844            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26845            bind_interface=d.get('bind_interface'),
26846            database=d.get('database'),
26847            egress_filter=d.get('egress_filter'),
26848            healthy=d.get('healthy'),
26849            hostname=d.get('hostname'),
26850            id=d.get('id'),
26851            keytab=d.get('keytab'),
26852            krb_config=d.get('krb_config'),
26853            name=d.get('name'),
26854            override_database=d.get('override_database'),
26855            port=d.get('port'),
26856            port_override=d.get('port_override'),
26857            proxy_cluster_id=d.get('proxy_cluster_id'),
26858            realm=d.get('realm'),
26859            schema=d.get('schema'),
26860            secret_store_id=d.get('secret_store_id'),
26861            server_spn=d.get('server_spn'),
26862            subdomain=d.get('subdomain'),
26863            tags=d.get('tags'),
26864            username=d.get('username'),
26865        )
SQLServerKerberosAD( allow_deprecated_encryption=None, bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, 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)
26681    def __init__(
26682        self,
26683        allow_deprecated_encryption=None,
26684        bind_interface=None,
26685        database=None,
26686        egress_filter=None,
26687        healthy=None,
26688        hostname=None,
26689        id=None,
26690        keytab=None,
26691        krb_config=None,
26692        name=None,
26693        override_database=None,
26694        port=None,
26695        port_override=None,
26696        proxy_cluster_id=None,
26697        realm=None,
26698        schema=None,
26699        secret_store_id=None,
26700        server_spn=None,
26701        subdomain=None,
26702        tags=None,
26703        username=None,
26704    ):
26705        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26706        '''
26707         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26708         TLS 1.0.
26709        '''
26710        self.bind_interface = bind_interface if bind_interface is not None else ''
26711        '''
26712         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26713        '''
26714        self.database = database if database is not None else ''
26715        '''
26716         The database for healthchecks, and used for clients if Override Default Database is true.
26717        '''
26718        self.egress_filter = egress_filter if egress_filter is not None else ''
26719        '''
26720         A filter applied to the routing logic to pin datasource to nodes.
26721        '''
26722        self.healthy = healthy if healthy is not None else False
26723        '''
26724         True if the datasource is reachable and the credentials are valid.
26725        '''
26726        self.hostname = hostname if hostname is not None else ''
26727        '''
26728         The host to dial to initiate a connection from the egress node to this resource.
26729        '''
26730        self.id = id if id is not None else ''
26731        '''
26732         Unique identifier of the Resource.
26733        '''
26734        self.keytab = keytab if keytab is not None else ''
26735        '''
26736         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26737        '''
26738        self.krb_config = krb_config if krb_config is not None else ''
26739        '''
26740         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26741        '''
26742        self.name = name if name is not None else ''
26743        '''
26744         Unique human-readable name of the Resource.
26745        '''
26746        self.override_database = override_database if override_database is not None else False
26747        '''
26748         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.
26749        '''
26750        self.port = port if port is not None else 0
26751        '''
26752         The port to dial to initiate a connection from the egress node to this resource.
26753        '''
26754        self.port_override = port_override if port_override is not None else 0
26755        '''
26756         The local port used by clients to connect to this resource.
26757        '''
26758        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26759        '''
26760         ID of the proxy cluster for this resource, if any.
26761        '''
26762        self.realm = realm if realm is not None else ''
26763        '''
26764         The Active Directory domain (realm) to which the configured username belongs.
26765        '''
26766        self.schema = schema if schema is not None else ''
26767        '''
26768         The Schema to use to direct initial requests.
26769        '''
26770        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26771        '''
26772         ID of the secret store containing credentials for this resource, if any.
26773        '''
26774        self.server_spn = server_spn if server_spn is not None else ''
26775        '''
26776         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26777        '''
26778        self.subdomain = subdomain if subdomain is not None else ''
26779        '''
26780         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26781        '''
26782        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26783        '''
26784         Tags is a map of key, value pairs.
26785        '''
26786        self.username = username if username is not None else ''
26787        '''
26788         The username to authenticate with.
26789        '''
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.

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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
26816    def to_dict(self):
26817        return {
26818            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26819            'bind_interface': self.bind_interface,
26820            'database': self.database,
26821            'egress_filter': self.egress_filter,
26822            'healthy': self.healthy,
26823            'hostname': self.hostname,
26824            'id': self.id,
26825            'keytab': self.keytab,
26826            'krb_config': self.krb_config,
26827            'name': self.name,
26828            'override_database': self.override_database,
26829            'port': self.port,
26830            'port_override': self.port_override,
26831            'proxy_cluster_id': self.proxy_cluster_id,
26832            'realm': self.realm,
26833            'schema': self.schema,
26834            'secret_store_id': self.secret_store_id,
26835            'server_spn': self.server_spn,
26836            'subdomain': self.subdomain,
26837            'tags': self.tags,
26838            'username': self.username,
26839        }
@classmethod
def from_dict(cls, d)
26841    @classmethod
26842    def from_dict(cls, d):
26843        return cls(
26844            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26845            bind_interface=d.get('bind_interface'),
26846            database=d.get('database'),
26847            egress_filter=d.get('egress_filter'),
26848            healthy=d.get('healthy'),
26849            hostname=d.get('hostname'),
26850            id=d.get('id'),
26851            keytab=d.get('keytab'),
26852            krb_config=d.get('krb_config'),
26853            name=d.get('name'),
26854            override_database=d.get('override_database'),
26855            port=d.get('port'),
26856            port_override=d.get('port_override'),
26857            proxy_cluster_id=d.get('proxy_cluster_id'),
26858            realm=d.get('realm'),
26859            schema=d.get('schema'),
26860            secret_store_id=d.get('secret_store_id'),
26861            server_spn=d.get('server_spn'),
26862            subdomain=d.get('subdomain'),
26863            tags=d.get('tags'),
26864            username=d.get('username'),
26865        )
class SSH:
26868class SSH:
26869    __slots__ = [
26870        'allow_deprecated_key_exchanges',
26871        'bind_interface',
26872        'egress_filter',
26873        'healthy',
26874        'hostname',
26875        'id',
26876        'key_type',
26877        'name',
26878        'port',
26879        'port_forwarding',
26880        'port_override',
26881        'proxy_cluster_id',
26882        'public_key',
26883        'secret_store_id',
26884        'subdomain',
26885        'tags',
26886        'username',
26887    ]
26888
26889    def __init__(
26890        self,
26891        allow_deprecated_key_exchanges=None,
26892        bind_interface=None,
26893        egress_filter=None,
26894        healthy=None,
26895        hostname=None,
26896        id=None,
26897        key_type=None,
26898        name=None,
26899        port=None,
26900        port_forwarding=None,
26901        port_override=None,
26902        proxy_cluster_id=None,
26903        public_key=None,
26904        secret_store_id=None,
26905        subdomain=None,
26906        tags=None,
26907        username=None,
26908    ):
26909        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26910        '''
26911         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26912        '''
26913        self.bind_interface = bind_interface if bind_interface is not None else ''
26914        '''
26915         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26916        '''
26917        self.egress_filter = egress_filter if egress_filter is not None else ''
26918        '''
26919         A filter applied to the routing logic to pin datasource to nodes.
26920        '''
26921        self.healthy = healthy if healthy is not None else False
26922        '''
26923         True if the datasource is reachable and the credentials are valid.
26924        '''
26925        self.hostname = hostname if hostname is not None else ''
26926        '''
26927         The host to dial to initiate a connection from the egress node to this resource.
26928        '''
26929        self.id = id if id is not None else ''
26930        '''
26931         Unique identifier of the Resource.
26932        '''
26933        self.key_type = key_type if key_type is not None else ''
26934        '''
26935         The key type to use e.g. rsa-2048 or ed25519
26936        '''
26937        self.name = name if name is not None else ''
26938        '''
26939         Unique human-readable name of the Resource.
26940        '''
26941        self.port = port if port is not None else 0
26942        '''
26943         The port to dial to initiate a connection from the egress node to this resource.
26944        '''
26945        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26946        '''
26947         Whether port forwarding is allowed through this server.
26948        '''
26949        self.port_override = port_override if port_override is not None else 0
26950        '''
26951         The local port used by clients to connect to this resource.
26952        '''
26953        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26954        '''
26955         ID of the proxy cluster for this resource, if any.
26956        '''
26957        self.public_key = public_key if public_key is not None else ''
26958        '''
26959         The public key to append to a server's authorized keys. This will be generated after resource creation.
26960        '''
26961        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26962        '''
26963         ID of the secret store containing credentials for this resource, if any.
26964        '''
26965        self.subdomain = subdomain if subdomain is not None else ''
26966        '''
26967         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26968        '''
26969        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26970        '''
26971         Tags is a map of key, value pairs.
26972        '''
26973        self.username = username if username is not None else ''
26974        '''
26975         The username to authenticate with.
26976        '''
26977
26978    def __repr__(self):
26979        return '<sdm.SSH ' + \
26980            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26981            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26982            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26983            'healthy: ' + repr(self.healthy) + ' ' +\
26984            'hostname: ' + repr(self.hostname) + ' ' +\
26985            'id: ' + repr(self.id) + ' ' +\
26986            'key_type: ' + repr(self.key_type) + ' ' +\
26987            'name: ' + repr(self.name) + ' ' +\
26988            'port: ' + repr(self.port) + ' ' +\
26989            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26990            'port_override: ' + repr(self.port_override) + ' ' +\
26991            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26992            'public_key: ' + repr(self.public_key) + ' ' +\
26993            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26994            'subdomain: ' + repr(self.subdomain) + ' ' +\
26995            'tags: ' + repr(self.tags) + ' ' +\
26996            'username: ' + repr(self.username) + ' ' +\
26997            '>'
26998
26999    def to_dict(self):
27000        return {
27001            'allow_deprecated_key_exchanges':
27002            self.allow_deprecated_key_exchanges,
27003            'bind_interface': self.bind_interface,
27004            'egress_filter': self.egress_filter,
27005            'healthy': self.healthy,
27006            'hostname': self.hostname,
27007            'id': self.id,
27008            'key_type': self.key_type,
27009            'name': self.name,
27010            'port': self.port,
27011            'port_forwarding': self.port_forwarding,
27012            'port_override': self.port_override,
27013            'proxy_cluster_id': self.proxy_cluster_id,
27014            'public_key': self.public_key,
27015            'secret_store_id': self.secret_store_id,
27016            'subdomain': self.subdomain,
27017            'tags': self.tags,
27018            'username': self.username,
27019        }
27020
27021    @classmethod
27022    def from_dict(cls, d):
27023        return cls(
27024            allow_deprecated_key_exchanges=d.get(
27025                'allow_deprecated_key_exchanges'),
27026            bind_interface=d.get('bind_interface'),
27027            egress_filter=d.get('egress_filter'),
27028            healthy=d.get('healthy'),
27029            hostname=d.get('hostname'),
27030            id=d.get('id'),
27031            key_type=d.get('key_type'),
27032            name=d.get('name'),
27033            port=d.get('port'),
27034            port_forwarding=d.get('port_forwarding'),
27035            port_override=d.get('port_override'),
27036            proxy_cluster_id=d.get('proxy_cluster_id'),
27037            public_key=d.get('public_key'),
27038            secret_store_id=d.get('secret_store_id'),
27039            subdomain=d.get('subdomain'),
27040            tags=d.get('tags'),
27041            username=d.get('username'),
27042        )
SSH( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, key_type=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)
26889    def __init__(
26890        self,
26891        allow_deprecated_key_exchanges=None,
26892        bind_interface=None,
26893        egress_filter=None,
26894        healthy=None,
26895        hostname=None,
26896        id=None,
26897        key_type=None,
26898        name=None,
26899        port=None,
26900        port_forwarding=None,
26901        port_override=None,
26902        proxy_cluster_id=None,
26903        public_key=None,
26904        secret_store_id=None,
26905        subdomain=None,
26906        tags=None,
26907        username=None,
26908    ):
26909        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26910        '''
26911         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26912        '''
26913        self.bind_interface = bind_interface if bind_interface is not None else ''
26914        '''
26915         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26916        '''
26917        self.egress_filter = egress_filter if egress_filter is not None else ''
26918        '''
26919         A filter applied to the routing logic to pin datasource to nodes.
26920        '''
26921        self.healthy = healthy if healthy is not None else False
26922        '''
26923         True if the datasource is reachable and the credentials are valid.
26924        '''
26925        self.hostname = hostname if hostname is not None else ''
26926        '''
26927         The host to dial to initiate a connection from the egress node to this resource.
26928        '''
26929        self.id = id if id is not None else ''
26930        '''
26931         Unique identifier of the Resource.
26932        '''
26933        self.key_type = key_type if key_type is not None else ''
26934        '''
26935         The key type to use e.g. rsa-2048 or ed25519
26936        '''
26937        self.name = name if name is not None else ''
26938        '''
26939         Unique human-readable name of the Resource.
26940        '''
26941        self.port = port if port is not None else 0
26942        '''
26943         The port to dial to initiate a connection from the egress node to this resource.
26944        '''
26945        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26946        '''
26947         Whether port forwarding is allowed through this server.
26948        '''
26949        self.port_override = port_override if port_override is not None else 0
26950        '''
26951         The local port used by clients to connect to this resource.
26952        '''
26953        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26954        '''
26955         ID of the proxy cluster for this resource, if any.
26956        '''
26957        self.public_key = public_key if public_key is not None else ''
26958        '''
26959         The public key to append to a server's authorized keys. This will be generated after resource creation.
26960        '''
26961        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26962        '''
26963         ID of the secret store containing credentials for this resource, if any.
26964        '''
26965        self.subdomain = subdomain if subdomain is not None else ''
26966        '''
26967         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26968        '''
26969        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26970        '''
26971         Tags is a map of key, value pairs.
26972        '''
26973        self.username = username if username is not None else ''
26974        '''
26975         The username to authenticate with.
26976        '''
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.

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

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
26999    def to_dict(self):
27000        return {
27001            'allow_deprecated_key_exchanges':
27002            self.allow_deprecated_key_exchanges,
27003            'bind_interface': self.bind_interface,
27004            'egress_filter': self.egress_filter,
27005            'healthy': self.healthy,
27006            'hostname': self.hostname,
27007            'id': self.id,
27008            'key_type': self.key_type,
27009            'name': self.name,
27010            'port': self.port,
27011            'port_forwarding': self.port_forwarding,
27012            'port_override': self.port_override,
27013            'proxy_cluster_id': self.proxy_cluster_id,
27014            'public_key': self.public_key,
27015            'secret_store_id': self.secret_store_id,
27016            'subdomain': self.subdomain,
27017            'tags': self.tags,
27018            'username': self.username,
27019        }
@classmethod
def from_dict(cls, d)
27021    @classmethod
27022    def from_dict(cls, d):
27023        return cls(
27024            allow_deprecated_key_exchanges=d.get(
27025                'allow_deprecated_key_exchanges'),
27026            bind_interface=d.get('bind_interface'),
27027            egress_filter=d.get('egress_filter'),
27028            healthy=d.get('healthy'),
27029            hostname=d.get('hostname'),
27030            id=d.get('id'),
27031            key_type=d.get('key_type'),
27032            name=d.get('name'),
27033            port=d.get('port'),
27034            port_forwarding=d.get('port_forwarding'),
27035            port_override=d.get('port_override'),
27036            proxy_cluster_id=d.get('proxy_cluster_id'),
27037            public_key=d.get('public_key'),
27038            secret_store_id=d.get('secret_store_id'),
27039            subdomain=d.get('subdomain'),
27040            tags=d.get('tags'),
27041            username=d.get('username'),
27042        )
class SSHCert:
27045class SSHCert:
27046    __slots__ = [
27047        'allow_deprecated_key_exchanges',
27048        'bind_interface',
27049        'egress_filter',
27050        'healthy',
27051        'hostname',
27052        'id',
27053        'identity_alias_healthcheck_username',
27054        'identity_set_id',
27055        'key_type',
27056        'name',
27057        'port',
27058        'port_forwarding',
27059        'port_override',
27060        'proxy_cluster_id',
27061        'secret_store_id',
27062        'subdomain',
27063        'tags',
27064        'username',
27065    ]
27066
27067    def __init__(
27068        self,
27069        allow_deprecated_key_exchanges=None,
27070        bind_interface=None,
27071        egress_filter=None,
27072        healthy=None,
27073        hostname=None,
27074        id=None,
27075        identity_alias_healthcheck_username=None,
27076        identity_set_id=None,
27077        key_type=None,
27078        name=None,
27079        port=None,
27080        port_forwarding=None,
27081        port_override=None,
27082        proxy_cluster_id=None,
27083        secret_store_id=None,
27084        subdomain=None,
27085        tags=None,
27086        username=None,
27087    ):
27088        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27089        '''
27090         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27091        '''
27092        self.bind_interface = bind_interface if bind_interface is not None else ''
27093        '''
27094         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27095        '''
27096        self.egress_filter = egress_filter if egress_filter is not None else ''
27097        '''
27098         A filter applied to the routing logic to pin datasource to nodes.
27099        '''
27100        self.healthy = healthy if healthy is not None else False
27101        '''
27102         True if the datasource is reachable and the credentials are valid.
27103        '''
27104        self.hostname = hostname if hostname is not None else ''
27105        '''
27106         The host to dial to initiate a connection from the egress node to this resource.
27107        '''
27108        self.id = id if id is not None else ''
27109        '''
27110         Unique identifier of the Resource.
27111        '''
27112        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27113        '''
27114         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27115        '''
27116        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27117        '''
27118         The ID of the identity set to use for identity connections.
27119        '''
27120        self.key_type = key_type if key_type is not None else ''
27121        '''
27122         The key type to use e.g. rsa-2048 or ed25519
27123        '''
27124        self.name = name if name is not None else ''
27125        '''
27126         Unique human-readable name of the Resource.
27127        '''
27128        self.port = port if port is not None else 0
27129        '''
27130         The port to dial to initiate a connection from the egress node to this resource.
27131        '''
27132        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27133        '''
27134         Whether port forwarding is allowed through this server.
27135        '''
27136        self.port_override = port_override if port_override is not None else 0
27137        '''
27138         The local port used by clients to connect to this resource.
27139        '''
27140        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27141        '''
27142         ID of the proxy cluster for this resource, if any.
27143        '''
27144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27145        '''
27146         ID of the secret store containing credentials for this resource, if any.
27147        '''
27148        self.subdomain = subdomain if subdomain is not None else ''
27149        '''
27150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27151        '''
27152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27153        '''
27154         Tags is a map of key, value pairs.
27155        '''
27156        self.username = username if username is not None else ''
27157        '''
27158         The username to authenticate with.
27159        '''
27160
27161    def __repr__(self):
27162        return '<sdm.SSHCert ' + \
27163            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27164            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27165            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27166            'healthy: ' + repr(self.healthy) + ' ' +\
27167            'hostname: ' + repr(self.hostname) + ' ' +\
27168            'id: ' + repr(self.id) + ' ' +\
27169            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27170            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27171            'key_type: ' + repr(self.key_type) + ' ' +\
27172            'name: ' + repr(self.name) + ' ' +\
27173            'port: ' + repr(self.port) + ' ' +\
27174            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27175            'port_override: ' + repr(self.port_override) + ' ' +\
27176            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27177            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27178            'subdomain: ' + repr(self.subdomain) + ' ' +\
27179            'tags: ' + repr(self.tags) + ' ' +\
27180            'username: ' + repr(self.username) + ' ' +\
27181            '>'
27182
27183    def to_dict(self):
27184        return {
27185            'allow_deprecated_key_exchanges':
27186            self.allow_deprecated_key_exchanges,
27187            'bind_interface': self.bind_interface,
27188            'egress_filter': self.egress_filter,
27189            'healthy': self.healthy,
27190            'hostname': self.hostname,
27191            'id': self.id,
27192            'identity_alias_healthcheck_username':
27193            self.identity_alias_healthcheck_username,
27194            'identity_set_id': self.identity_set_id,
27195            'key_type': self.key_type,
27196            'name': self.name,
27197            'port': self.port,
27198            'port_forwarding': self.port_forwarding,
27199            'port_override': self.port_override,
27200            'proxy_cluster_id': self.proxy_cluster_id,
27201            'secret_store_id': self.secret_store_id,
27202            'subdomain': self.subdomain,
27203            'tags': self.tags,
27204            'username': self.username,
27205        }
27206
27207    @classmethod
27208    def from_dict(cls, d):
27209        return cls(
27210            allow_deprecated_key_exchanges=d.get(
27211                'allow_deprecated_key_exchanges'),
27212            bind_interface=d.get('bind_interface'),
27213            egress_filter=d.get('egress_filter'),
27214            healthy=d.get('healthy'),
27215            hostname=d.get('hostname'),
27216            id=d.get('id'),
27217            identity_alias_healthcheck_username=d.get(
27218                'identity_alias_healthcheck_username'),
27219            identity_set_id=d.get('identity_set_id'),
27220            key_type=d.get('key_type'),
27221            name=d.get('name'),
27222            port=d.get('port'),
27223            port_forwarding=d.get('port_forwarding'),
27224            port_override=d.get('port_override'),
27225            proxy_cluster_id=d.get('proxy_cluster_id'),
27226            secret_store_id=d.get('secret_store_id'),
27227            subdomain=d.get('subdomain'),
27228            tags=d.get('tags'),
27229            username=d.get('username'),
27230        )
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, name=None, port=None, port_forwarding=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
27067    def __init__(
27068        self,
27069        allow_deprecated_key_exchanges=None,
27070        bind_interface=None,
27071        egress_filter=None,
27072        healthy=None,
27073        hostname=None,
27074        id=None,
27075        identity_alias_healthcheck_username=None,
27076        identity_set_id=None,
27077        key_type=None,
27078        name=None,
27079        port=None,
27080        port_forwarding=None,
27081        port_override=None,
27082        proxy_cluster_id=None,
27083        secret_store_id=None,
27084        subdomain=None,
27085        tags=None,
27086        username=None,
27087    ):
27088        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27089        '''
27090         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27091        '''
27092        self.bind_interface = bind_interface if bind_interface is not None else ''
27093        '''
27094         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27095        '''
27096        self.egress_filter = egress_filter if egress_filter is not None else ''
27097        '''
27098         A filter applied to the routing logic to pin datasource to nodes.
27099        '''
27100        self.healthy = healthy if healthy is not None else False
27101        '''
27102         True if the datasource is reachable and the credentials are valid.
27103        '''
27104        self.hostname = hostname if hostname is not None else ''
27105        '''
27106         The host to dial to initiate a connection from the egress node to this resource.
27107        '''
27108        self.id = id if id is not None else ''
27109        '''
27110         Unique identifier of the Resource.
27111        '''
27112        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27113        '''
27114         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27115        '''
27116        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27117        '''
27118         The ID of the identity set to use for identity connections.
27119        '''
27120        self.key_type = key_type if key_type is not None else ''
27121        '''
27122         The key type to use e.g. rsa-2048 or ed25519
27123        '''
27124        self.name = name if name is not None else ''
27125        '''
27126         Unique human-readable name of the Resource.
27127        '''
27128        self.port = port if port is not None else 0
27129        '''
27130         The port to dial to initiate a connection from the egress node to this resource.
27131        '''
27132        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27133        '''
27134         Whether port forwarding is allowed through this server.
27135        '''
27136        self.port_override = port_override if port_override is not None else 0
27137        '''
27138         The local port used by clients to connect to this resource.
27139        '''
27140        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27141        '''
27142         ID of the proxy cluster for this resource, if any.
27143        '''
27144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27145        '''
27146         ID of the secret store containing credentials for this resource, if any.
27147        '''
27148        self.subdomain = subdomain if subdomain is not None else ''
27149        '''
27150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27151        '''
27152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27153        '''
27154         Tags is a map of key, value pairs.
27155        '''
27156        self.username = username if username is not None else ''
27157        '''
27158         The username to authenticate with.
27159        '''
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.

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

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.

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.

username

The username to authenticate with.

def to_dict(self)
27183    def to_dict(self):
27184        return {
27185            'allow_deprecated_key_exchanges':
27186            self.allow_deprecated_key_exchanges,
27187            'bind_interface': self.bind_interface,
27188            'egress_filter': self.egress_filter,
27189            'healthy': self.healthy,
27190            'hostname': self.hostname,
27191            'id': self.id,
27192            'identity_alias_healthcheck_username':
27193            self.identity_alias_healthcheck_username,
27194            'identity_set_id': self.identity_set_id,
27195            'key_type': self.key_type,
27196            'name': self.name,
27197            'port': self.port,
27198            'port_forwarding': self.port_forwarding,
27199            'port_override': self.port_override,
27200            'proxy_cluster_id': self.proxy_cluster_id,
27201            'secret_store_id': self.secret_store_id,
27202            'subdomain': self.subdomain,
27203            'tags': self.tags,
27204            'username': self.username,
27205        }
@classmethod
def from_dict(cls, d)
27207    @classmethod
27208    def from_dict(cls, d):
27209        return cls(
27210            allow_deprecated_key_exchanges=d.get(
27211                'allow_deprecated_key_exchanges'),
27212            bind_interface=d.get('bind_interface'),
27213            egress_filter=d.get('egress_filter'),
27214            healthy=d.get('healthy'),
27215            hostname=d.get('hostname'),
27216            id=d.get('id'),
27217            identity_alias_healthcheck_username=d.get(
27218                'identity_alias_healthcheck_username'),
27219            identity_set_id=d.get('identity_set_id'),
27220            key_type=d.get('key_type'),
27221            name=d.get('name'),
27222            port=d.get('port'),
27223            port_forwarding=d.get('port_forwarding'),
27224            port_override=d.get('port_override'),
27225            proxy_cluster_id=d.get('proxy_cluster_id'),
27226            secret_store_id=d.get('secret_store_id'),
27227            subdomain=d.get('subdomain'),
27228            tags=d.get('tags'),
27229            username=d.get('username'),
27230        )
class SSHCustomerKey:
27233class SSHCustomerKey:
27234    __slots__ = [
27235        'allow_deprecated_key_exchanges',
27236        'bind_interface',
27237        'egress_filter',
27238        'healthy',
27239        'hostname',
27240        'id',
27241        'identity_alias_healthcheck_username',
27242        'identity_set_id',
27243        'name',
27244        'port',
27245        'port_forwarding',
27246        'port_override',
27247        'private_key',
27248        'proxy_cluster_id',
27249        'secret_store_id',
27250        'subdomain',
27251        'tags',
27252        'username',
27253    ]
27254
27255    def __init__(
27256        self,
27257        allow_deprecated_key_exchanges=None,
27258        bind_interface=None,
27259        egress_filter=None,
27260        healthy=None,
27261        hostname=None,
27262        id=None,
27263        identity_alias_healthcheck_username=None,
27264        identity_set_id=None,
27265        name=None,
27266        port=None,
27267        port_forwarding=None,
27268        port_override=None,
27269        private_key=None,
27270        proxy_cluster_id=None,
27271        secret_store_id=None,
27272        subdomain=None,
27273        tags=None,
27274        username=None,
27275    ):
27276        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27277        '''
27278         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27279        '''
27280        self.bind_interface = bind_interface if bind_interface is not None else ''
27281        '''
27282         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27283        '''
27284        self.egress_filter = egress_filter if egress_filter is not None else ''
27285        '''
27286         A filter applied to the routing logic to pin datasource to nodes.
27287        '''
27288        self.healthy = healthy if healthy is not None else False
27289        '''
27290         True if the datasource is reachable and the credentials are valid.
27291        '''
27292        self.hostname = hostname if hostname is not None else ''
27293        '''
27294         The host to dial to initiate a connection from the egress node to this resource.
27295        '''
27296        self.id = id if id is not None else ''
27297        '''
27298         Unique identifier of the Resource.
27299        '''
27300        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27301        '''
27302         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27303        '''
27304        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27305        '''
27306         The ID of the identity set to use for identity connections.
27307        '''
27308        self.name = name if name is not None else ''
27309        '''
27310         Unique human-readable name of the Resource.
27311        '''
27312        self.port = port if port is not None else 0
27313        '''
27314         The port to dial to initiate a connection from the egress node to this resource.
27315        '''
27316        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27317        '''
27318         Whether port forwarding is allowed through this server.
27319        '''
27320        self.port_override = port_override if port_override is not None else 0
27321        '''
27322         The local port used by clients to connect to this resource.
27323        '''
27324        self.private_key = private_key if private_key is not None else ''
27325        '''
27326         The private key used to authenticate with the server.
27327        '''
27328        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27329        '''
27330         ID of the proxy cluster for this resource, if any.
27331        '''
27332        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27333        '''
27334         ID of the secret store containing credentials for this resource, if any.
27335        '''
27336        self.subdomain = subdomain if subdomain is not None else ''
27337        '''
27338         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27339        '''
27340        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27341        '''
27342         Tags is a map of key, value pairs.
27343        '''
27344        self.username = username if username is not None else ''
27345        '''
27346         The username to authenticate with.
27347        '''
27348
27349    def __repr__(self):
27350        return '<sdm.SSHCustomerKey ' + \
27351            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27352            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27353            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27354            'healthy: ' + repr(self.healthy) + ' ' +\
27355            'hostname: ' + repr(self.hostname) + ' ' +\
27356            'id: ' + repr(self.id) + ' ' +\
27357            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27358            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27359            'name: ' + repr(self.name) + ' ' +\
27360            'port: ' + repr(self.port) + ' ' +\
27361            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27362            'port_override: ' + repr(self.port_override) + ' ' +\
27363            'private_key: ' + repr(self.private_key) + ' ' +\
27364            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27365            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27366            'subdomain: ' + repr(self.subdomain) + ' ' +\
27367            'tags: ' + repr(self.tags) + ' ' +\
27368            'username: ' + repr(self.username) + ' ' +\
27369            '>'
27370
27371    def to_dict(self):
27372        return {
27373            'allow_deprecated_key_exchanges':
27374            self.allow_deprecated_key_exchanges,
27375            'bind_interface': self.bind_interface,
27376            'egress_filter': self.egress_filter,
27377            'healthy': self.healthy,
27378            'hostname': self.hostname,
27379            'id': self.id,
27380            'identity_alias_healthcheck_username':
27381            self.identity_alias_healthcheck_username,
27382            'identity_set_id': self.identity_set_id,
27383            'name': self.name,
27384            'port': self.port,
27385            'port_forwarding': self.port_forwarding,
27386            'port_override': self.port_override,
27387            'private_key': self.private_key,
27388            'proxy_cluster_id': self.proxy_cluster_id,
27389            'secret_store_id': self.secret_store_id,
27390            'subdomain': self.subdomain,
27391            'tags': self.tags,
27392            'username': self.username,
27393        }
27394
27395    @classmethod
27396    def from_dict(cls, d):
27397        return cls(
27398            allow_deprecated_key_exchanges=d.get(
27399                'allow_deprecated_key_exchanges'),
27400            bind_interface=d.get('bind_interface'),
27401            egress_filter=d.get('egress_filter'),
27402            healthy=d.get('healthy'),
27403            hostname=d.get('hostname'),
27404            id=d.get('id'),
27405            identity_alias_healthcheck_username=d.get(
27406                'identity_alias_healthcheck_username'),
27407            identity_set_id=d.get('identity_set_id'),
27408            name=d.get('name'),
27409            port=d.get('port'),
27410            port_forwarding=d.get('port_forwarding'),
27411            port_override=d.get('port_override'),
27412            private_key=d.get('private_key'),
27413            proxy_cluster_id=d.get('proxy_cluster_id'),
27414            secret_store_id=d.get('secret_store_id'),
27415            subdomain=d.get('subdomain'),
27416            tags=d.get('tags'),
27417            username=d.get('username'),
27418        )
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, 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)
27255    def __init__(
27256        self,
27257        allow_deprecated_key_exchanges=None,
27258        bind_interface=None,
27259        egress_filter=None,
27260        healthy=None,
27261        hostname=None,
27262        id=None,
27263        identity_alias_healthcheck_username=None,
27264        identity_set_id=None,
27265        name=None,
27266        port=None,
27267        port_forwarding=None,
27268        port_override=None,
27269        private_key=None,
27270        proxy_cluster_id=None,
27271        secret_store_id=None,
27272        subdomain=None,
27273        tags=None,
27274        username=None,
27275    ):
27276        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27277        '''
27278         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27279        '''
27280        self.bind_interface = bind_interface if bind_interface is not None else ''
27281        '''
27282         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27283        '''
27284        self.egress_filter = egress_filter if egress_filter is not None else ''
27285        '''
27286         A filter applied to the routing logic to pin datasource to nodes.
27287        '''
27288        self.healthy = healthy if healthy is not None else False
27289        '''
27290         True if the datasource is reachable and the credentials are valid.
27291        '''
27292        self.hostname = hostname if hostname is not None else ''
27293        '''
27294         The host to dial to initiate a connection from the egress node to this resource.
27295        '''
27296        self.id = id if id is not None else ''
27297        '''
27298         Unique identifier of the Resource.
27299        '''
27300        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27301        '''
27302         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27303        '''
27304        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27305        '''
27306         The ID of the identity set to use for identity connections.
27307        '''
27308        self.name = name if name is not None else ''
27309        '''
27310         Unique human-readable name of the Resource.
27311        '''
27312        self.port = port if port is not None else 0
27313        '''
27314         The port to dial to initiate a connection from the egress node to this resource.
27315        '''
27316        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27317        '''
27318         Whether port forwarding is allowed through this server.
27319        '''
27320        self.port_override = port_override if port_override is not None else 0
27321        '''
27322         The local port used by clients to connect to this resource.
27323        '''
27324        self.private_key = private_key if private_key is not None else ''
27325        '''
27326         The private key used to authenticate with the server.
27327        '''
27328        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27329        '''
27330         ID of the proxy cluster for this resource, if any.
27331        '''
27332        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27333        '''
27334         ID of the secret store containing credentials for this resource, if any.
27335        '''
27336        self.subdomain = subdomain if subdomain is not None else ''
27337        '''
27338         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27339        '''
27340        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27341        '''
27342         Tags is a map of key, value pairs.
27343        '''
27344        self.username = username if username is not None else ''
27345        '''
27346         The username to authenticate with.
27347        '''
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.

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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
27371    def to_dict(self):
27372        return {
27373            'allow_deprecated_key_exchanges':
27374            self.allow_deprecated_key_exchanges,
27375            'bind_interface': self.bind_interface,
27376            'egress_filter': self.egress_filter,
27377            'healthy': self.healthy,
27378            'hostname': self.hostname,
27379            'id': self.id,
27380            'identity_alias_healthcheck_username':
27381            self.identity_alias_healthcheck_username,
27382            'identity_set_id': self.identity_set_id,
27383            'name': self.name,
27384            'port': self.port,
27385            'port_forwarding': self.port_forwarding,
27386            'port_override': self.port_override,
27387            'private_key': self.private_key,
27388            'proxy_cluster_id': self.proxy_cluster_id,
27389            'secret_store_id': self.secret_store_id,
27390            'subdomain': self.subdomain,
27391            'tags': self.tags,
27392            'username': self.username,
27393        }
@classmethod
def from_dict(cls, d)
27395    @classmethod
27396    def from_dict(cls, d):
27397        return cls(
27398            allow_deprecated_key_exchanges=d.get(
27399                'allow_deprecated_key_exchanges'),
27400            bind_interface=d.get('bind_interface'),
27401            egress_filter=d.get('egress_filter'),
27402            healthy=d.get('healthy'),
27403            hostname=d.get('hostname'),
27404            id=d.get('id'),
27405            identity_alias_healthcheck_username=d.get(
27406                'identity_alias_healthcheck_username'),
27407            identity_set_id=d.get('identity_set_id'),
27408            name=d.get('name'),
27409            port=d.get('port'),
27410            port_forwarding=d.get('port_forwarding'),
27411            port_override=d.get('port_override'),
27412            private_key=d.get('private_key'),
27413            proxy_cluster_id=d.get('proxy_cluster_id'),
27414            secret_store_id=d.get('secret_store_id'),
27415            subdomain=d.get('subdomain'),
27416            tags=d.get('tags'),
27417            username=d.get('username'),
27418        )
class SSHPassword:
27421class SSHPassword:
27422    __slots__ = [
27423        'allow_deprecated_key_exchanges',
27424        'bind_interface',
27425        'egress_filter',
27426        'healthy',
27427        'hostname',
27428        'id',
27429        'name',
27430        'password',
27431        'port',
27432        'port_forwarding',
27433        'port_override',
27434        'proxy_cluster_id',
27435        'secret_store_id',
27436        'subdomain',
27437        'tags',
27438        'username',
27439    ]
27440
27441    def __init__(
27442        self,
27443        allow_deprecated_key_exchanges=None,
27444        bind_interface=None,
27445        egress_filter=None,
27446        healthy=None,
27447        hostname=None,
27448        id=None,
27449        name=None,
27450        password=None,
27451        port=None,
27452        port_forwarding=None,
27453        port_override=None,
27454        proxy_cluster_id=None,
27455        secret_store_id=None,
27456        subdomain=None,
27457        tags=None,
27458        username=None,
27459    ):
27460        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27461        '''
27462         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27463        '''
27464        self.bind_interface = bind_interface if bind_interface is not None else ''
27465        '''
27466         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27467        '''
27468        self.egress_filter = egress_filter if egress_filter is not None else ''
27469        '''
27470         A filter applied to the routing logic to pin datasource to nodes.
27471        '''
27472        self.healthy = healthy if healthy is not None else False
27473        '''
27474         True if the datasource is reachable and the credentials are valid.
27475        '''
27476        self.hostname = hostname if hostname is not None else ''
27477        '''
27478         The host to dial to initiate a connection from the egress node to this resource.
27479        '''
27480        self.id = id if id is not None else ''
27481        '''
27482         Unique identifier of the Resource.
27483        '''
27484        self.name = name if name is not None else ''
27485        '''
27486         Unique human-readable name of the Resource.
27487        '''
27488        self.password = password if password is not None else ''
27489        '''
27490         The password to authenticate with.
27491        '''
27492        self.port = port if port is not None else 0
27493        '''
27494         The port to dial to initiate a connection from the egress node to this resource.
27495        '''
27496        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27497        '''
27498         Whether port forwarding is allowed through this server.
27499        '''
27500        self.port_override = port_override if port_override is not None else 0
27501        '''
27502         The local port used by clients to connect to this resource.
27503        '''
27504        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27505        '''
27506         ID of the proxy cluster for this resource, if any.
27507        '''
27508        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27509        '''
27510         ID of the secret store containing credentials for this resource, if any.
27511        '''
27512        self.subdomain = subdomain if subdomain is not None else ''
27513        '''
27514         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27515        '''
27516        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27517        '''
27518         Tags is a map of key, value pairs.
27519        '''
27520        self.username = username if username is not None else ''
27521        '''
27522         The username to authenticate with.
27523        '''
27524
27525    def __repr__(self):
27526        return '<sdm.SSHPassword ' + \
27527            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27528            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27529            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27530            'healthy: ' + repr(self.healthy) + ' ' +\
27531            'hostname: ' + repr(self.hostname) + ' ' +\
27532            'id: ' + repr(self.id) + ' ' +\
27533            'name: ' + repr(self.name) + ' ' +\
27534            'password: ' + repr(self.password) + ' ' +\
27535            'port: ' + repr(self.port) + ' ' +\
27536            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27537            'port_override: ' + repr(self.port_override) + ' ' +\
27538            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27539            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27540            'subdomain: ' + repr(self.subdomain) + ' ' +\
27541            'tags: ' + repr(self.tags) + ' ' +\
27542            'username: ' + repr(self.username) + ' ' +\
27543            '>'
27544
27545    def to_dict(self):
27546        return {
27547            'allow_deprecated_key_exchanges':
27548            self.allow_deprecated_key_exchanges,
27549            'bind_interface': self.bind_interface,
27550            'egress_filter': self.egress_filter,
27551            'healthy': self.healthy,
27552            'hostname': self.hostname,
27553            'id': self.id,
27554            'name': self.name,
27555            'password': self.password,
27556            'port': self.port,
27557            'port_forwarding': self.port_forwarding,
27558            'port_override': self.port_override,
27559            'proxy_cluster_id': self.proxy_cluster_id,
27560            'secret_store_id': self.secret_store_id,
27561            'subdomain': self.subdomain,
27562            'tags': self.tags,
27563            'username': self.username,
27564        }
27565
27566    @classmethod
27567    def from_dict(cls, d):
27568        return cls(
27569            allow_deprecated_key_exchanges=d.get(
27570                'allow_deprecated_key_exchanges'),
27571            bind_interface=d.get('bind_interface'),
27572            egress_filter=d.get('egress_filter'),
27573            healthy=d.get('healthy'),
27574            hostname=d.get('hostname'),
27575            id=d.get('id'),
27576            name=d.get('name'),
27577            password=d.get('password'),
27578            port=d.get('port'),
27579            port_forwarding=d.get('port_forwarding'),
27580            port_override=d.get('port_override'),
27581            proxy_cluster_id=d.get('proxy_cluster_id'),
27582            secret_store_id=d.get('secret_store_id'),
27583            subdomain=d.get('subdomain'),
27584            tags=d.get('tags'),
27585            username=d.get('username'),
27586        )
SSHPassword( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=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)
27441    def __init__(
27442        self,
27443        allow_deprecated_key_exchanges=None,
27444        bind_interface=None,
27445        egress_filter=None,
27446        healthy=None,
27447        hostname=None,
27448        id=None,
27449        name=None,
27450        password=None,
27451        port=None,
27452        port_forwarding=None,
27453        port_override=None,
27454        proxy_cluster_id=None,
27455        secret_store_id=None,
27456        subdomain=None,
27457        tags=None,
27458        username=None,
27459    ):
27460        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27461        '''
27462         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27463        '''
27464        self.bind_interface = bind_interface if bind_interface is not None else ''
27465        '''
27466         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27467        '''
27468        self.egress_filter = egress_filter if egress_filter is not None else ''
27469        '''
27470         A filter applied to the routing logic to pin datasource to nodes.
27471        '''
27472        self.healthy = healthy if healthy is not None else False
27473        '''
27474         True if the datasource is reachable and the credentials are valid.
27475        '''
27476        self.hostname = hostname if hostname is not None else ''
27477        '''
27478         The host to dial to initiate a connection from the egress node to this resource.
27479        '''
27480        self.id = id if id is not None else ''
27481        '''
27482         Unique identifier of the Resource.
27483        '''
27484        self.name = name if name is not None else ''
27485        '''
27486         Unique human-readable name of the Resource.
27487        '''
27488        self.password = password if password is not None else ''
27489        '''
27490         The password to authenticate with.
27491        '''
27492        self.port = port if port is not None else 0
27493        '''
27494         The port to dial to initiate a connection from the egress node to this resource.
27495        '''
27496        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27497        '''
27498         Whether port forwarding is allowed through this server.
27499        '''
27500        self.port_override = port_override if port_override is not None else 0
27501        '''
27502         The local port used by clients to connect to this resource.
27503        '''
27504        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27505        '''
27506         ID of the proxy cluster for this resource, if any.
27507        '''
27508        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27509        '''
27510         ID of the secret store containing credentials for this resource, if any.
27511        '''
27512        self.subdomain = subdomain if subdomain is not None else ''
27513        '''
27514         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27515        '''
27516        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27517        '''
27518         Tags is a map of key, value pairs.
27519        '''
27520        self.username = username if username is not None else ''
27521        '''
27522         The username to authenticate with.
27523        '''
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.

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_forwarding

Whether port forwarding is allowed through this server.

port_override

The local port used by clients to connect to this resource.

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.

username

The username to authenticate with.

def to_dict(self)
27545    def to_dict(self):
27546        return {
27547            'allow_deprecated_key_exchanges':
27548            self.allow_deprecated_key_exchanges,
27549            'bind_interface': self.bind_interface,
27550            'egress_filter': self.egress_filter,
27551            'healthy': self.healthy,
27552            'hostname': self.hostname,
27553            'id': self.id,
27554            'name': self.name,
27555            'password': self.password,
27556            'port': self.port,
27557            'port_forwarding': self.port_forwarding,
27558            'port_override': self.port_override,
27559            'proxy_cluster_id': self.proxy_cluster_id,
27560            'secret_store_id': self.secret_store_id,
27561            'subdomain': self.subdomain,
27562            'tags': self.tags,
27563            'username': self.username,
27564        }
@classmethod
def from_dict(cls, d)
27566    @classmethod
27567    def from_dict(cls, d):
27568        return cls(
27569            allow_deprecated_key_exchanges=d.get(
27570                'allow_deprecated_key_exchanges'),
27571            bind_interface=d.get('bind_interface'),
27572            egress_filter=d.get('egress_filter'),
27573            healthy=d.get('healthy'),
27574            hostname=d.get('hostname'),
27575            id=d.get('id'),
27576            name=d.get('name'),
27577            password=d.get('password'),
27578            port=d.get('port'),
27579            port_forwarding=d.get('port_forwarding'),
27580            port_override=d.get('port_override'),
27581            proxy_cluster_id=d.get('proxy_cluster_id'),
27582            secret_store_id=d.get('secret_store_id'),
27583            subdomain=d.get('subdomain'),
27584            tags=d.get('tags'),
27585            username=d.get('username'),
27586        )
class SecretEngineCreateRequest:
27589class SecretEngineCreateRequest:
27590    '''
27591         SecretEngineCreateRequest specifies a Secret Engine to create.
27592    '''
27593    __slots__ = [
27594        'secret_engine',
27595    ]
27596
27597    def __init__(
27598        self,
27599        secret_engine=None,
27600    ):
27601        self.secret_engine = secret_engine if secret_engine is not None else None
27602        '''
27603         Parameters to define the new Secret Engine.
27604        '''
27605
27606    def __repr__(self):
27607        return '<sdm.SecretEngineCreateRequest ' + \
27608            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27609            '>'
27610
27611    def to_dict(self):
27612        return {
27613            'secret_engine': self.secret_engine,
27614        }
27615
27616    @classmethod
27617    def from_dict(cls, d):
27618        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineCreateRequest specifies a Secret Engine to create.

SecretEngineCreateRequest(secret_engine=None)
27597    def __init__(
27598        self,
27599        secret_engine=None,
27600    ):
27601        self.secret_engine = secret_engine if secret_engine is not None else None
27602        '''
27603         Parameters to define the new Secret Engine.
27604        '''
secret_engine

Parameters to define the new Secret Engine.

def to_dict(self)
27611    def to_dict(self):
27612        return {
27613            'secret_engine': self.secret_engine,
27614        }
@classmethod
def from_dict(cls, d)
27616    @classmethod
27617    def from_dict(cls, d):
27618        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineCreateResponse:
27621class SecretEngineCreateResponse:
27622    '''
27623         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27624    '''
27625    __slots__ = [
27626        'meta',
27627        'rate_limit',
27628        'secret_engine',
27629    ]
27630
27631    def __init__(
27632        self,
27633        meta=None,
27634        rate_limit=None,
27635        secret_engine=None,
27636    ):
27637        self.meta = meta if meta is not None else None
27638        '''
27639         Reserved for future use.
27640        '''
27641        self.rate_limit = rate_limit if rate_limit is not None else None
27642        '''
27643         Rate limit information.
27644        '''
27645        self.secret_engine = secret_engine if secret_engine is not None else None
27646        '''
27647         The requested Secret Engine.
27648        '''
27649
27650    def __repr__(self):
27651        return '<sdm.SecretEngineCreateResponse ' + \
27652            'meta: ' + repr(self.meta) + ' ' +\
27653            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27654            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27655            '>'
27656
27657    def to_dict(self):
27658        return {
27659            'meta': self.meta,
27660            'rate_limit': self.rate_limit,
27661            'secret_engine': self.secret_engine,
27662        }
27663
27664    @classmethod
27665    def from_dict(cls, d):
27666        return cls(
27667            meta=d.get('meta'),
27668            rate_limit=d.get('rate_limit'),
27669            secret_engine=d.get('secret_engine'),
27670        )

SecretEngineCreateResponse contains information about a Secret Engine after successful creation.

SecretEngineCreateResponse(meta=None, rate_limit=None, secret_engine=None)
27631    def __init__(
27632        self,
27633        meta=None,
27634        rate_limit=None,
27635        secret_engine=None,
27636    ):
27637        self.meta = meta if meta is not None else None
27638        '''
27639         Reserved for future use.
27640        '''
27641        self.rate_limit = rate_limit if rate_limit is not None else None
27642        '''
27643         Rate limit information.
27644        '''
27645        self.secret_engine = secret_engine if secret_engine is not None else None
27646        '''
27647         The requested Secret Engine.
27648        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27657    def to_dict(self):
27658        return {
27659            'meta': self.meta,
27660            'rate_limit': self.rate_limit,
27661            'secret_engine': self.secret_engine,
27662        }
@classmethod
def from_dict(cls, d)
27664    @classmethod
27665    def from_dict(cls, d):
27666        return cls(
27667            meta=d.get('meta'),
27668            rate_limit=d.get('rate_limit'),
27669            secret_engine=d.get('secret_engine'),
27670        )
class SecretEngineDeleteRequest:
27673class SecretEngineDeleteRequest:
27674    '''
27675         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27676    '''
27677    __slots__ = [
27678        'id',
27679    ]
27680
27681    def __init__(
27682        self,
27683        id=None,
27684    ):
27685        self.id = id if id is not None else ''
27686        '''
27687         The unique identifier of the Secret Engine to delete.
27688        '''
27689
27690    def __repr__(self):
27691        return '<sdm.SecretEngineDeleteRequest ' + \
27692            'id: ' + repr(self.id) + ' ' +\
27693            '>'
27694
27695    def to_dict(self):
27696        return {
27697            'id': self.id,
27698        }
27699
27700    @classmethod
27701    def from_dict(cls, d):
27702        return cls(id=d.get('id'), )

SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.

SecretEngineDeleteRequest(id=None)
27681    def __init__(
27682        self,
27683        id=None,
27684    ):
27685        self.id = id if id is not None else ''
27686        '''
27687         The unique identifier of the Secret Engine to delete.
27688        '''
id

The unique identifier of the Secret Engine to delete.

def to_dict(self)
27695    def to_dict(self):
27696        return {
27697            'id': self.id,
27698        }
@classmethod
def from_dict(cls, d)
27700    @classmethod
27701    def from_dict(cls, d):
27702        return cls(id=d.get('id'), )
class SecretEngineDeleteResponse:
27705class SecretEngineDeleteResponse:
27706    '''
27707         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27708    '''
27709    __slots__ = [
27710        'rate_limit',
27711    ]
27712
27713    def __init__(
27714        self,
27715        rate_limit=None,
27716    ):
27717        self.rate_limit = rate_limit if rate_limit is not None else None
27718        '''
27719         Rate limit information.
27720        '''
27721
27722    def __repr__(self):
27723        return '<sdm.SecretEngineDeleteResponse ' + \
27724            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27725            '>'
27726
27727    def to_dict(self):
27728        return {
27729            'rate_limit': self.rate_limit,
27730        }
27731
27732    @classmethod
27733    def from_dict(cls, d):
27734        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.

SecretEngineDeleteResponse(rate_limit=None)
27713    def __init__(
27714        self,
27715        rate_limit=None,
27716    ):
27717        self.rate_limit = rate_limit if rate_limit is not None else None
27718        '''
27719         Rate limit information.
27720        '''
rate_limit

Rate limit information.

def to_dict(self)
27727    def to_dict(self):
27728        return {
27729            'rate_limit': self.rate_limit,
27730        }
@classmethod
def from_dict(cls, d)
27732    @classmethod
27733    def from_dict(cls, d):
27734        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineGetRequest:
27737class SecretEngineGetRequest:
27738    '''
27739         SecretEngineGetRequest specifies which Secret Engine to retrieve
27740    '''
27741    __slots__ = [
27742        'id',
27743    ]
27744
27745    def __init__(
27746        self,
27747        id=None,
27748    ):
27749        self.id = id if id is not None else ''
27750        '''
27751         The unique identifier of the Secret Engine to retrieve.
27752        '''
27753
27754    def __repr__(self):
27755        return '<sdm.SecretEngineGetRequest ' + \
27756            'id: ' + repr(self.id) + ' ' +\
27757            '>'
27758
27759    def to_dict(self):
27760        return {
27761            'id': self.id,
27762        }
27763
27764    @classmethod
27765    def from_dict(cls, d):
27766        return cls(id=d.get('id'), )

SecretEngineGetRequest specifies which Secret Engine to retrieve

SecretEngineGetRequest(id=None)
27745    def __init__(
27746        self,
27747        id=None,
27748    ):
27749        self.id = id if id is not None else ''
27750        '''
27751         The unique identifier of the Secret Engine to retrieve.
27752        '''
id

The unique identifier of the Secret Engine to retrieve.

def to_dict(self)
27759    def to_dict(self):
27760        return {
27761            'id': self.id,
27762        }
@classmethod
def from_dict(cls, d)
27764    @classmethod
27765    def from_dict(cls, d):
27766        return cls(id=d.get('id'), )
class SecretEngineGetResponse:
27769class SecretEngineGetResponse:
27770    '''
27771         SecretEngineGetResponse contains information about requested Secret Engine
27772    '''
27773    __slots__ = [
27774        'meta',
27775        'rate_limit',
27776        'secret_engine',
27777    ]
27778
27779    def __init__(
27780        self,
27781        meta=None,
27782        rate_limit=None,
27783        secret_engine=None,
27784    ):
27785        self.meta = meta if meta is not None else None
27786        '''
27787         Reserved for future use.
27788        '''
27789        self.rate_limit = rate_limit if rate_limit is not None else None
27790        '''
27791         Rate limit information.
27792        '''
27793        self.secret_engine = secret_engine if secret_engine is not None else None
27794        '''
27795         The requested Secret Engine.
27796        '''
27797
27798    def __repr__(self):
27799        return '<sdm.SecretEngineGetResponse ' + \
27800            'meta: ' + repr(self.meta) + ' ' +\
27801            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27802            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27803            '>'
27804
27805    def to_dict(self):
27806        return {
27807            'meta': self.meta,
27808            'rate_limit': self.rate_limit,
27809            'secret_engine': self.secret_engine,
27810        }
27811
27812    @classmethod
27813    def from_dict(cls, d):
27814        return cls(
27815            meta=d.get('meta'),
27816            rate_limit=d.get('rate_limit'),
27817            secret_engine=d.get('secret_engine'),
27818        )

SecretEngineGetResponse contains information about requested Secret Engine

SecretEngineGetResponse(meta=None, rate_limit=None, secret_engine=None)
27779    def __init__(
27780        self,
27781        meta=None,
27782        rate_limit=None,
27783        secret_engine=None,
27784    ):
27785        self.meta = meta if meta is not None else None
27786        '''
27787         Reserved for future use.
27788        '''
27789        self.rate_limit = rate_limit if rate_limit is not None else None
27790        '''
27791         Rate limit information.
27792        '''
27793        self.secret_engine = secret_engine if secret_engine is not None else None
27794        '''
27795         The requested Secret Engine.
27796        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27805    def to_dict(self):
27806        return {
27807            'meta': self.meta,
27808            'rate_limit': self.rate_limit,
27809            'secret_engine': self.secret_engine,
27810        }
@classmethod
def from_dict(cls, d)
27812    @classmethod
27813    def from_dict(cls, d):
27814        return cls(
27815            meta=d.get('meta'),
27816            rate_limit=d.get('rate_limit'),
27817            secret_engine=d.get('secret_engine'),
27818        )
class SecretEngineListRequest:
27821class SecretEngineListRequest:
27822    '''
27823         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27824    '''
27825    __slots__ = [
27826        'filter',
27827    ]
27828
27829    def __init__(
27830        self,
27831        filter=None,
27832    ):
27833        self.filter = filter if filter is not None else ''
27834        '''
27835         A human-readable filter query string.
27836        '''
27837
27838    def __repr__(self):
27839        return '<sdm.SecretEngineListRequest ' + \
27840            'filter: ' + repr(self.filter) + ' ' +\
27841            '>'
27842
27843    def to_dict(self):
27844        return {
27845            'filter': self.filter,
27846        }
27847
27848    @classmethod
27849    def from_dict(cls, d):
27850        return cls(filter=d.get('filter'), )

SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines

SecretEngineListRequest(filter=None)
27829    def __init__(
27830        self,
27831        filter=None,
27832    ):
27833        self.filter = filter if filter is not None else ''
27834        '''
27835         A human-readable filter query string.
27836        '''
filter

A human-readable filter query string.

def to_dict(self)
27843    def to_dict(self):
27844        return {
27845            'filter': self.filter,
27846        }
@classmethod
def from_dict(cls, d)
27848    @classmethod
27849    def from_dict(cls, d):
27850        return cls(filter=d.get('filter'), )
class SecretEngineListResponse:
27853class SecretEngineListResponse:
27854    '''
27855         SecretEngineListResponse contains a list of requested Secret Engine
27856    '''
27857    __slots__ = [
27858        'rate_limit',
27859    ]
27860
27861    def __init__(
27862        self,
27863        rate_limit=None,
27864    ):
27865        self.rate_limit = rate_limit if rate_limit is not None else None
27866        '''
27867         Rate limit information.
27868        '''
27869
27870    def __repr__(self):
27871        return '<sdm.SecretEngineListResponse ' + \
27872            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27873            '>'
27874
27875    def to_dict(self):
27876        return {
27877            'rate_limit': self.rate_limit,
27878        }
27879
27880    @classmethod
27881    def from_dict(cls, d):
27882        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineListResponse contains a list of requested Secret Engine

SecretEngineListResponse(rate_limit=None)
27861    def __init__(
27862        self,
27863        rate_limit=None,
27864    ):
27865        self.rate_limit = rate_limit if rate_limit is not None else None
27866        '''
27867         Rate limit information.
27868        '''
rate_limit

Rate limit information.

def to_dict(self)
27875    def to_dict(self):
27876        return {
27877            'rate_limit': self.rate_limit,
27878        }
@classmethod
def from_dict(cls, d)
27880    @classmethod
27881    def from_dict(cls, d):
27882        return cls(rate_limit=d.get('rate_limit'), )
class SecretEnginePasswordPolicy:
27885class SecretEnginePasswordPolicy:
27886    __slots__ = [
27887        'allow_repeat',
27888        'exclude_characters',
27889        'exclude_upper_case',
27890        'length',
27891        'num_digits',
27892        'num_symbols',
27893    ]
27894
27895    def __init__(
27896        self,
27897        allow_repeat=None,
27898        exclude_characters=None,
27899        exclude_upper_case=None,
27900        length=None,
27901        num_digits=None,
27902        num_symbols=None,
27903    ):
27904        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27905        '''
27906         If set to true allows for consecutive characters to repeat itself
27907        '''
27908        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27909        '''
27910         Characters to exclude when generating password
27911        '''
27912        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27913        '''
27914         If set to true do not include upper case letters when generating password
27915        '''
27916        self.length = length if length is not None else 0
27917        '''
27918         Password length.
27919        '''
27920        self.num_digits = num_digits if num_digits is not None else 0
27921        '''
27922         Numbers of digits to use when generating password
27923        '''
27924        self.num_symbols = num_symbols if num_symbols is not None else 0
27925        '''
27926         Number of symbols to use when generating password
27927        '''
27928
27929    def __repr__(self):
27930        return '<sdm.SecretEnginePasswordPolicy ' + \
27931            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27932            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27933            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27934            'length: ' + repr(self.length) + ' ' +\
27935            'num_digits: ' + repr(self.num_digits) + ' ' +\
27936            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27937            '>'
27938
27939    def to_dict(self):
27940        return {
27941            'allow_repeat': self.allow_repeat,
27942            'exclude_characters': self.exclude_characters,
27943            'exclude_upper_case': self.exclude_upper_case,
27944            'length': self.length,
27945            'num_digits': self.num_digits,
27946            'num_symbols': self.num_symbols,
27947        }
27948
27949    @classmethod
27950    def from_dict(cls, d):
27951        return cls(
27952            allow_repeat=d.get('allow_repeat'),
27953            exclude_characters=d.get('exclude_characters'),
27954            exclude_upper_case=d.get('exclude_upper_case'),
27955            length=d.get('length'),
27956            num_digits=d.get('num_digits'),
27957            num_symbols=d.get('num_symbols'),
27958        )
SecretEnginePasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
27895    def __init__(
27896        self,
27897        allow_repeat=None,
27898        exclude_characters=None,
27899        exclude_upper_case=None,
27900        length=None,
27901        num_digits=None,
27902        num_symbols=None,
27903    ):
27904        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27905        '''
27906         If set to true allows for consecutive characters to repeat itself
27907        '''
27908        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27909        '''
27910         Characters to exclude when generating password
27911        '''
27912        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27913        '''
27914         If set to true do not include upper case letters when generating password
27915        '''
27916        self.length = length if length is not None else 0
27917        '''
27918         Password length.
27919        '''
27920        self.num_digits = num_digits if num_digits is not None else 0
27921        '''
27922         Numbers of digits to use when generating password
27923        '''
27924        self.num_symbols = num_symbols if num_symbols is not None else 0
27925        '''
27926         Number of symbols to use when generating password
27927        '''
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)
27939    def to_dict(self):
27940        return {
27941            'allow_repeat': self.allow_repeat,
27942            'exclude_characters': self.exclude_characters,
27943            'exclude_upper_case': self.exclude_upper_case,
27944            'length': self.length,
27945            'num_digits': self.num_digits,
27946            'num_symbols': self.num_symbols,
27947        }
@classmethod
def from_dict(cls, d)
27949    @classmethod
27950    def from_dict(cls, d):
27951        return cls(
27952            allow_repeat=d.get('allow_repeat'),
27953            exclude_characters=d.get('exclude_characters'),
27954            exclude_upper_case=d.get('exclude_upper_case'),
27955            length=d.get('length'),
27956            num_digits=d.get('num_digits'),
27957            num_symbols=d.get('num_symbols'),
27958        )
class SecretEnginePolicy:
27961class SecretEnginePolicy:
27962    __slots__ = [
27963        'password_policy',
27964    ]
27965
27966    def __init__(
27967        self,
27968        password_policy=None,
27969    ):
27970        self.password_policy = password_policy if password_policy is not None else None
27971        '''
27972         Policy for password
27973        '''
27974
27975    def __repr__(self):
27976        return '<sdm.SecretEnginePolicy ' + \
27977            'password_policy: ' + repr(self.password_policy) + ' ' +\
27978            '>'
27979
27980    def to_dict(self):
27981        return {
27982            'password_policy': self.password_policy,
27983        }
27984
27985    @classmethod
27986    def from_dict(cls, d):
27987        return cls(password_policy=d.get('password_policy'), )
SecretEnginePolicy(password_policy=None)
27966    def __init__(
27967        self,
27968        password_policy=None,
27969    ):
27970        self.password_policy = password_policy if password_policy is not None else None
27971        '''
27972         Policy for password
27973        '''
password_policy

Policy for password

def to_dict(self)
27980    def to_dict(self):
27981        return {
27982            'password_policy': self.password_policy,
27983        }
@classmethod
def from_dict(cls, d)
27985    @classmethod
27986    def from_dict(cls, d):
27987        return cls(password_policy=d.get('password_policy'), )
class SecretEngineRotateRequest:
27990class SecretEngineRotateRequest:
27991    __slots__ = [
27992        'id',
27993        'password_policy',
27994    ]
27995
27996    def __init__(
27997        self,
27998        id=None,
27999        password_policy=None,
28000    ):
28001        self.id = id if id is not None else ''
28002        '''
28003         The unique identifier of the Secret Engine to rotate credentials for.
28004        '''
28005        self.password_policy = password_policy if password_policy is not None else None
28006        '''
28007         Optional password policy to use when generating a password
28008         If not provided it will use secret engine's password_policy
28009        '''
28010
28011    def __repr__(self):
28012        return '<sdm.SecretEngineRotateRequest ' + \
28013            'id: ' + repr(self.id) + ' ' +\
28014            'password_policy: ' + repr(self.password_policy) + ' ' +\
28015            '>'
28016
28017    def to_dict(self):
28018        return {
28019            'id': self.id,
28020            'password_policy': self.password_policy,
28021        }
28022
28023    @classmethod
28024    def from_dict(cls, d):
28025        return cls(
28026            id=d.get('id'),
28027            password_policy=d.get('password_policy'),
28028        )
SecretEngineRotateRequest(id=None, password_policy=None)
27996    def __init__(
27997        self,
27998        id=None,
27999        password_policy=None,
28000    ):
28001        self.id = id if id is not None else ''
28002        '''
28003         The unique identifier of the Secret Engine to rotate credentials for.
28004        '''
28005        self.password_policy = password_policy if password_policy is not None else None
28006        '''
28007         Optional password policy to use when generating a password
28008         If not provided it will use secret engine's password_policy
28009        '''
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)
28017    def to_dict(self):
28018        return {
28019            'id': self.id,
28020            'password_policy': self.password_policy,
28021        }
@classmethod
def from_dict(cls, d)
28023    @classmethod
28024    def from_dict(cls, d):
28025        return cls(
28026            id=d.get('id'),
28027            password_policy=d.get('password_policy'),
28028        )
class SecretEngineRotateResponse:
28031class SecretEngineRotateResponse:
28032    __slots__ = [
28033        'rate_limit',
28034    ]
28035
28036    def __init__(
28037        self,
28038        rate_limit=None,
28039    ):
28040        self.rate_limit = rate_limit if rate_limit is not None else None
28041        '''
28042         Rate limit information.
28043        '''
28044
28045    def __repr__(self):
28046        return '<sdm.SecretEngineRotateResponse ' + \
28047            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28048            '>'
28049
28050    def to_dict(self):
28051        return {
28052            'rate_limit': self.rate_limit,
28053        }
28054
28055    @classmethod
28056    def from_dict(cls, d):
28057        return cls(rate_limit=d.get('rate_limit'), )
SecretEngineRotateResponse(rate_limit=None)
28036    def __init__(
28037        self,
28038        rate_limit=None,
28039    ):
28040        self.rate_limit = rate_limit if rate_limit is not None else None
28041        '''
28042         Rate limit information.
28043        '''
rate_limit

Rate limit information.

def to_dict(self)
28050    def to_dict(self):
28051        return {
28052            'rate_limit': self.rate_limit,
28053        }
@classmethod
def from_dict(cls, d)
28055    @classmethod
28056    def from_dict(cls, d):
28057        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineUpdateRequest:
28060class SecretEngineUpdateRequest:
28061    '''
28062         SecretEngineUpdateRequest specifies secret engine to update
28063    '''
28064    __slots__ = [
28065        'secret_engine',
28066    ]
28067
28068    def __init__(
28069        self,
28070        secret_engine=None,
28071    ):
28072        self.secret_engine = secret_engine if secret_engine is not None else None
28073        '''
28074         Secret engine to update
28075        '''
28076
28077    def __repr__(self):
28078        return '<sdm.SecretEngineUpdateRequest ' + \
28079            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
28080            '>'
28081
28082    def to_dict(self):
28083        return {
28084            'secret_engine': self.secret_engine,
28085        }
28086
28087    @classmethod
28088    def from_dict(cls, d):
28089        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineUpdateRequest specifies secret engine to update

SecretEngineUpdateRequest(secret_engine=None)
28068    def __init__(
28069        self,
28070        secret_engine=None,
28071    ):
28072        self.secret_engine = secret_engine if secret_engine is not None else None
28073        '''
28074         Secret engine to update
28075        '''
secret_engine

Secret engine to update

def to_dict(self)
28082    def to_dict(self):
28083        return {
28084            'secret_engine': self.secret_engine,
28085        }
@classmethod
def from_dict(cls, d)
28087    @classmethod
28088    def from_dict(cls, d):
28089        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineUpdateResponse:
28092class SecretEngineUpdateResponse:
28093    '''
28094         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
28095    '''
28096    __slots__ = [
28097        'meta',
28098        'rate_limit',
28099        'secret_engine',
28100    ]
28101
28102    def __init__(
28103        self,
28104        meta=None,
28105        rate_limit=None,
28106        secret_engine=None,
28107    ):
28108        self.meta = meta if meta is not None else None
28109        '''
28110         Reserved for future use.
28111        '''
28112        self.rate_limit = rate_limit if rate_limit is not None else None
28113        '''
28114         Rate limit information.
28115        '''
28116        self.secret_engine = secret_engine if secret_engine is not None else None
28117        '''
28118         The requested Secret Engine.
28119        '''
28120
28121    def __repr__(self):
28122        return '<sdm.SecretEngineUpdateResponse ' + \
28123            'meta: ' + repr(self.meta) + ' ' +\
28124            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28125            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
28126            '>'
28127
28128    def to_dict(self):
28129        return {
28130            'meta': self.meta,
28131            'rate_limit': self.rate_limit,
28132            'secret_engine': self.secret_engine,
28133        }
28134
28135    @classmethod
28136    def from_dict(cls, d):
28137        return cls(
28138            meta=d.get('meta'),
28139            rate_limit=d.get('rate_limit'),
28140            secret_engine=d.get('secret_engine'),
28141        )

SecretEngineUpdateResponse contains information about Secret Engine after successful update.

SecretEngineUpdateResponse(meta=None, rate_limit=None, secret_engine=None)
28102    def __init__(
28103        self,
28104        meta=None,
28105        rate_limit=None,
28106        secret_engine=None,
28107    ):
28108        self.meta = meta if meta is not None else None
28109        '''
28110         Reserved for future use.
28111        '''
28112        self.rate_limit = rate_limit if rate_limit is not None else None
28113        '''
28114         Rate limit information.
28115        '''
28116        self.secret_engine = secret_engine if secret_engine is not None else None
28117        '''
28118         The requested Secret Engine.
28119        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
28128    def to_dict(self):
28129        return {
28130            'meta': self.meta,
28131            'rate_limit': self.rate_limit,
28132            'secret_engine': self.secret_engine,
28133        }
@classmethod
def from_dict(cls, d)
28135    @classmethod
28136    def from_dict(cls, d):
28137        return cls(
28138            meta=d.get('meta'),
28139            rate_limit=d.get('rate_limit'),
28140            secret_engine=d.get('secret_engine'),
28141        )
class SecretStoreCreateResponse:
28144class SecretStoreCreateResponse:
28145    '''
28146         SecretStoreCreateResponse reports how the SecretStores were created in the system.
28147    '''
28148    __slots__ = [
28149        'meta',
28150        'rate_limit',
28151        'secret_store',
28152    ]
28153
28154    def __init__(
28155        self,
28156        meta=None,
28157        rate_limit=None,
28158        secret_store=None,
28159    ):
28160        self.meta = meta if meta is not None else None
28161        '''
28162         Reserved for future use.
28163        '''
28164        self.rate_limit = rate_limit if rate_limit is not None else None
28165        '''
28166         Rate limit information.
28167        '''
28168        self.secret_store = secret_store if secret_store is not None else None
28169        '''
28170         The created SecretStore.
28171        '''
28172
28173    def __repr__(self):
28174        return '<sdm.SecretStoreCreateResponse ' + \
28175            'meta: ' + repr(self.meta) + ' ' +\
28176            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28177            'secret_store: ' + repr(self.secret_store) + ' ' +\
28178            '>'
28179
28180    def to_dict(self):
28181        return {
28182            'meta': self.meta,
28183            'rate_limit': self.rate_limit,
28184            'secret_store': self.secret_store,
28185        }
28186
28187    @classmethod
28188    def from_dict(cls, d):
28189        return cls(
28190            meta=d.get('meta'),
28191            rate_limit=d.get('rate_limit'),
28192            secret_store=d.get('secret_store'),
28193        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
28154    def __init__(
28155        self,
28156        meta=None,
28157        rate_limit=None,
28158        secret_store=None,
28159    ):
28160        self.meta = meta if meta is not None else None
28161        '''
28162         Reserved for future use.
28163        '''
28164        self.rate_limit = rate_limit if rate_limit is not None else None
28165        '''
28166         Rate limit information.
28167        '''
28168        self.secret_store = secret_store if secret_store is not None else None
28169        '''
28170         The created SecretStore.
28171        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
28180    def to_dict(self):
28181        return {
28182            'meta': self.meta,
28183            'rate_limit': self.rate_limit,
28184            'secret_store': self.secret_store,
28185        }
@classmethod
def from_dict(cls, d)
28187    @classmethod
28188    def from_dict(cls, d):
28189        return cls(
28190            meta=d.get('meta'),
28191            rate_limit=d.get('rate_limit'),
28192            secret_store=d.get('secret_store'),
28193        )
class SecretStoreDeleteResponse:
28196class SecretStoreDeleteResponse:
28197    '''
28198         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
28199    '''
28200    __slots__ = [
28201        'meta',
28202        'rate_limit',
28203    ]
28204
28205    def __init__(
28206        self,
28207        meta=None,
28208        rate_limit=None,
28209    ):
28210        self.meta = meta if meta is not None else None
28211        '''
28212         Reserved for future use.
28213        '''
28214        self.rate_limit = rate_limit if rate_limit is not None else None
28215        '''
28216         Rate limit information.
28217        '''
28218
28219    def __repr__(self):
28220        return '<sdm.SecretStoreDeleteResponse ' + \
28221            'meta: ' + repr(self.meta) + ' ' +\
28222            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28223            '>'
28224
28225    def to_dict(self):
28226        return {
28227            'meta': self.meta,
28228            'rate_limit': self.rate_limit,
28229        }
28230
28231    @classmethod
28232    def from_dict(cls, d):
28233        return cls(
28234            meta=d.get('meta'),
28235            rate_limit=d.get('rate_limit'),
28236        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
28205    def __init__(
28206        self,
28207        meta=None,
28208        rate_limit=None,
28209    ):
28210        self.meta = meta if meta is not None else None
28211        '''
28212         Reserved for future use.
28213        '''
28214        self.rate_limit = rate_limit if rate_limit is not None else None
28215        '''
28216         Rate limit information.
28217        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
28225    def to_dict(self):
28226        return {
28227            'meta': self.meta,
28228            'rate_limit': self.rate_limit,
28229        }
@classmethod
def from_dict(cls, d)
28231    @classmethod
28232    def from_dict(cls, d):
28233        return cls(
28234            meta=d.get('meta'),
28235            rate_limit=d.get('rate_limit'),
28236        )
class SecretStoreGetResponse:
28239class SecretStoreGetResponse:
28240    '''
28241         SecretStoreGetResponse returns a requested SecretStore.
28242    '''
28243    __slots__ = [
28244        'meta',
28245        'rate_limit',
28246        'secret_store',
28247    ]
28248
28249    def __init__(
28250        self,
28251        meta=None,
28252        rate_limit=None,
28253        secret_store=None,
28254    ):
28255        self.meta = meta if meta is not None else None
28256        '''
28257         Reserved for future use.
28258        '''
28259        self.rate_limit = rate_limit if rate_limit is not None else None
28260        '''
28261         Rate limit information.
28262        '''
28263        self.secret_store = secret_store if secret_store is not None else None
28264        '''
28265         The requested SecretStore.
28266        '''
28267
28268    def __repr__(self):
28269        return '<sdm.SecretStoreGetResponse ' + \
28270            'meta: ' + repr(self.meta) + ' ' +\
28271            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28272            'secret_store: ' + repr(self.secret_store) + ' ' +\
28273            '>'
28274
28275    def to_dict(self):
28276        return {
28277            'meta': self.meta,
28278            'rate_limit': self.rate_limit,
28279            'secret_store': self.secret_store,
28280        }
28281
28282    @classmethod
28283    def from_dict(cls, d):
28284        return cls(
28285            meta=d.get('meta'),
28286            rate_limit=d.get('rate_limit'),
28287            secret_store=d.get('secret_store'),
28288        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
28249    def __init__(
28250        self,
28251        meta=None,
28252        rate_limit=None,
28253        secret_store=None,
28254    ):
28255        self.meta = meta if meta is not None else None
28256        '''
28257         Reserved for future use.
28258        '''
28259        self.rate_limit = rate_limit if rate_limit is not None else None
28260        '''
28261         Rate limit information.
28262        '''
28263        self.secret_store = secret_store if secret_store is not None else None
28264        '''
28265         The requested SecretStore.
28266        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
28275    def to_dict(self):
28276        return {
28277            'meta': self.meta,
28278            'rate_limit': self.rate_limit,
28279            'secret_store': self.secret_store,
28280        }
@classmethod
def from_dict(cls, d)
28282    @classmethod
28283    def from_dict(cls, d):
28284        return cls(
28285            meta=d.get('meta'),
28286            rate_limit=d.get('rate_limit'),
28287            secret_store=d.get('secret_store'),
28288        )
class SecretStoreHealth:
28291class SecretStoreHealth:
28292    '''
28293         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
28294     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
28295     or set of nodes.
28296    '''
28297    __slots__ = [
28298        'changed_at',
28299        'checked_at',
28300        'error',
28301        'flags',
28302        'node_id',
28303        'reachability',
28304        'secret_store_id',
28305        'status',
28306    ]
28307
28308    def __init__(
28309        self,
28310        changed_at=None,
28311        checked_at=None,
28312        error=None,
28313        flags=None,
28314        node_id=None,
28315        reachability=None,
28316        secret_store_id=None,
28317        status=None,
28318    ):
28319        self.changed_at = changed_at if changed_at is not None else None
28320        '''
28321         The time when the status last changed
28322        '''
28323        self.checked_at = checked_at if checked_at is not None else None
28324        '''
28325         The time when the status was last checked by the node
28326        '''
28327        self.error = error if error is not None else ''
28328        '''
28329         The error associated with this health check, if it occurred after reachability checks succeeded.
28330        '''
28331        self.flags = flags if flags is not None else []
28332        '''
28333         Any specific status or error flags associated with this health check.
28334        '''
28335        self.node_id = node_id if node_id is not None else ''
28336        '''
28337         Associated node id for this health
28338        '''
28339        self.reachability = reachability if reachability is not None else ''
28340        '''
28341         The error associated with this health check, if it occurred during reachability checks.
28342        '''
28343        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28344        '''
28345         Associated secret store for this health
28346        '''
28347        self.status = status if status is not None else ''
28348        '''
28349         The status of the link between the node and secret store
28350        '''
28351
28352    def __repr__(self):
28353        return '<sdm.SecretStoreHealth ' + \
28354            'changed_at: ' + repr(self.changed_at) + ' ' +\
28355            'checked_at: ' + repr(self.checked_at) + ' ' +\
28356            'error: ' + repr(self.error) + ' ' +\
28357            'flags: ' + repr(self.flags) + ' ' +\
28358            'node_id: ' + repr(self.node_id) + ' ' +\
28359            'reachability: ' + repr(self.reachability) + ' ' +\
28360            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28361            'status: ' + repr(self.status) + ' ' +\
28362            '>'
28363
28364    def to_dict(self):
28365        return {
28366            'changed_at': self.changed_at,
28367            'checked_at': self.checked_at,
28368            'error': self.error,
28369            'flags': self.flags,
28370            'node_id': self.node_id,
28371            'reachability': self.reachability,
28372            'secret_store_id': self.secret_store_id,
28373            'status': self.status,
28374        }
28375
28376    @classmethod
28377    def from_dict(cls, d):
28378        return cls(
28379            changed_at=d.get('changed_at'),
28380            checked_at=d.get('checked_at'),
28381            error=d.get('error'),
28382            flags=d.get('flags'),
28383            node_id=d.get('node_id'),
28384            reachability=d.get('reachability'),
28385            secret_store_id=d.get('secret_store_id'),
28386            status=d.get('status'),
28387        )

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)
28308    def __init__(
28309        self,
28310        changed_at=None,
28311        checked_at=None,
28312        error=None,
28313        flags=None,
28314        node_id=None,
28315        reachability=None,
28316        secret_store_id=None,
28317        status=None,
28318    ):
28319        self.changed_at = changed_at if changed_at is not None else None
28320        '''
28321         The time when the status last changed
28322        '''
28323        self.checked_at = checked_at if checked_at is not None else None
28324        '''
28325         The time when the status was last checked by the node
28326        '''
28327        self.error = error if error is not None else ''
28328        '''
28329         The error associated with this health check, if it occurred after reachability checks succeeded.
28330        '''
28331        self.flags = flags if flags is not None else []
28332        '''
28333         Any specific status or error flags associated with this health check.
28334        '''
28335        self.node_id = node_id if node_id is not None else ''
28336        '''
28337         Associated node id for this health
28338        '''
28339        self.reachability = reachability if reachability is not None else ''
28340        '''
28341         The error associated with this health check, if it occurred during reachability checks.
28342        '''
28343        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28344        '''
28345         Associated secret store for this health
28346        '''
28347        self.status = status if status is not None else ''
28348        '''
28349         The status of the link between the node and secret store
28350        '''
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)
28364    def to_dict(self):
28365        return {
28366            'changed_at': self.changed_at,
28367            'checked_at': self.checked_at,
28368            'error': self.error,
28369            'flags': self.flags,
28370            'node_id': self.node_id,
28371            'reachability': self.reachability,
28372            'secret_store_id': self.secret_store_id,
28373            'status': self.status,
28374        }
@classmethod
def from_dict(cls, d)
28376    @classmethod
28377    def from_dict(cls, d):
28378        return cls(
28379            changed_at=d.get('changed_at'),
28380            checked_at=d.get('checked_at'),
28381            error=d.get('error'),
28382            flags=d.get('flags'),
28383            node_id=d.get('node_id'),
28384            reachability=d.get('reachability'),
28385            secret_store_id=d.get('secret_store_id'),
28386            status=d.get('status'),
28387        )
class SecretStoreHealthListResponse:
28390class SecretStoreHealthListResponse:
28391    __slots__ = [
28392        'rate_limit',
28393    ]
28394
28395    def __init__(
28396        self,
28397        rate_limit=None,
28398    ):
28399        self.rate_limit = rate_limit if rate_limit is not None else None
28400        '''
28401         Rate limit information.
28402        '''
28403
28404    def __repr__(self):
28405        return '<sdm.SecretStoreHealthListResponse ' + \
28406            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28407            '>'
28408
28409    def to_dict(self):
28410        return {
28411            'rate_limit': self.rate_limit,
28412        }
28413
28414    @classmethod
28415    def from_dict(cls, d):
28416        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
28395    def __init__(
28396        self,
28397        rate_limit=None,
28398    ):
28399        self.rate_limit = rate_limit if rate_limit is not None else None
28400        '''
28401         Rate limit information.
28402        '''
rate_limit

Rate limit information.

def to_dict(self)
28409    def to_dict(self):
28410        return {
28411            'rate_limit': self.rate_limit,
28412        }
@classmethod
def from_dict(cls, d)
28414    @classmethod
28415    def from_dict(cls, d):
28416        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
28419class SecretStoreHealthcheckResponse:
28420    __slots__ = [
28421        'rate_limit',
28422    ]
28423
28424    def __init__(
28425        self,
28426        rate_limit=None,
28427    ):
28428        self.rate_limit = rate_limit if rate_limit is not None else None
28429        '''
28430         Rate limit information.
28431        '''
28432
28433    def __repr__(self):
28434        return '<sdm.SecretStoreHealthcheckResponse ' + \
28435            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28436            '>'
28437
28438    def to_dict(self):
28439        return {
28440            'rate_limit': self.rate_limit,
28441        }
28442
28443    @classmethod
28444    def from_dict(cls, d):
28445        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
28424    def __init__(
28425        self,
28426        rate_limit=None,
28427    ):
28428        self.rate_limit = rate_limit if rate_limit is not None else None
28429        '''
28430         Rate limit information.
28431        '''
rate_limit

Rate limit information.

def to_dict(self)
28438    def to_dict(self):
28439        return {
28440            'rate_limit': self.rate_limit,
28441        }
@classmethod
def from_dict(cls, d)
28443    @classmethod
28444    def from_dict(cls, d):
28445        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHistory:
28448class SecretStoreHistory:
28449    '''
28450         SecretStoreHistory records the state of a SecretStore at a given point in time,
28451     where every change (create, update and delete) to a SecretStore produces an
28452     SecretStoreHistory record.
28453    '''
28454    __slots__ = [
28455        'activity_id',
28456        'deleted_at',
28457        'secret_store',
28458        'timestamp',
28459    ]
28460
28461    def __init__(
28462        self,
28463        activity_id=None,
28464        deleted_at=None,
28465        secret_store=None,
28466        timestamp=None,
28467    ):
28468        self.activity_id = activity_id if activity_id is not None else ''
28469        '''
28470         The unique identifier of the Activity that produced this change to the SecretStore.
28471         May be empty for some system-initiated updates.
28472        '''
28473        self.deleted_at = deleted_at if deleted_at is not None else None
28474        '''
28475         If this SecretStore was deleted, the time it was deleted.
28476        '''
28477        self.secret_store = secret_store if secret_store is not None else None
28478        '''
28479         The complete SecretStore state at this time.
28480        '''
28481        self.timestamp = timestamp if timestamp is not None else None
28482        '''
28483         The time at which the SecretStore state was recorded.
28484        '''
28485
28486    def __repr__(self):
28487        return '<sdm.SecretStoreHistory ' + \
28488            'activity_id: ' + repr(self.activity_id) + ' ' +\
28489            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28490            'secret_store: ' + repr(self.secret_store) + ' ' +\
28491            'timestamp: ' + repr(self.timestamp) + ' ' +\
28492            '>'
28493
28494    def to_dict(self):
28495        return {
28496            'activity_id': self.activity_id,
28497            'deleted_at': self.deleted_at,
28498            'secret_store': self.secret_store,
28499            'timestamp': self.timestamp,
28500        }
28501
28502    @classmethod
28503    def from_dict(cls, d):
28504        return cls(
28505            activity_id=d.get('activity_id'),
28506            deleted_at=d.get('deleted_at'),
28507            secret_store=d.get('secret_store'),
28508            timestamp=d.get('timestamp'),
28509        )

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)
28461    def __init__(
28462        self,
28463        activity_id=None,
28464        deleted_at=None,
28465        secret_store=None,
28466        timestamp=None,
28467    ):
28468        self.activity_id = activity_id if activity_id is not None else ''
28469        '''
28470         The unique identifier of the Activity that produced this change to the SecretStore.
28471         May be empty for some system-initiated updates.
28472        '''
28473        self.deleted_at = deleted_at if deleted_at is not None else None
28474        '''
28475         If this SecretStore was deleted, the time it was deleted.
28476        '''
28477        self.secret_store = secret_store if secret_store is not None else None
28478        '''
28479         The complete SecretStore state at this time.
28480        '''
28481        self.timestamp = timestamp if timestamp is not None else None
28482        '''
28483         The time at which the SecretStore state was recorded.
28484        '''
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)
28494    def to_dict(self):
28495        return {
28496            'activity_id': self.activity_id,
28497            'deleted_at': self.deleted_at,
28498            'secret_store': self.secret_store,
28499            'timestamp': self.timestamp,
28500        }
@classmethod
def from_dict(cls, d)
28502    @classmethod
28503    def from_dict(cls, d):
28504        return cls(
28505            activity_id=d.get('activity_id'),
28506            deleted_at=d.get('deleted_at'),
28507            secret_store=d.get('secret_store'),
28508            timestamp=d.get('timestamp'),
28509        )
class SecretStoreUpdateResponse:
28512class SecretStoreUpdateResponse:
28513    '''
28514         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28515     a SecretStoreUpdateRequest.
28516    '''
28517    __slots__ = [
28518        'meta',
28519        'rate_limit',
28520        'secret_store',
28521    ]
28522
28523    def __init__(
28524        self,
28525        meta=None,
28526        rate_limit=None,
28527        secret_store=None,
28528    ):
28529        self.meta = meta if meta is not None else None
28530        '''
28531         Reserved for future use.
28532        '''
28533        self.rate_limit = rate_limit if rate_limit is not None else None
28534        '''
28535         Rate limit information.
28536        '''
28537        self.secret_store = secret_store if secret_store is not None else None
28538        '''
28539         The updated SecretStore.
28540        '''
28541
28542    def __repr__(self):
28543        return '<sdm.SecretStoreUpdateResponse ' + \
28544            'meta: ' + repr(self.meta) + ' ' +\
28545            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28546            'secret_store: ' + repr(self.secret_store) + ' ' +\
28547            '>'
28548
28549    def to_dict(self):
28550        return {
28551            'meta': self.meta,
28552            'rate_limit': self.rate_limit,
28553            'secret_store': self.secret_store,
28554        }
28555
28556    @classmethod
28557    def from_dict(cls, d):
28558        return cls(
28559            meta=d.get('meta'),
28560            rate_limit=d.get('rate_limit'),
28561            secret_store=d.get('secret_store'),
28562        )

SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by a SecretStoreUpdateRequest.

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
28523    def __init__(
28524        self,
28525        meta=None,
28526        rate_limit=None,
28527        secret_store=None,
28528    ):
28529        self.meta = meta if meta is not None else None
28530        '''
28531         Reserved for future use.
28532        '''
28533        self.rate_limit = rate_limit if rate_limit is not None else None
28534        '''
28535         Rate limit information.
28536        '''
28537        self.secret_store = secret_store if secret_store is not None else None
28538        '''
28539         The updated SecretStore.
28540        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
28549    def to_dict(self):
28550        return {
28551            'meta': self.meta,
28552            'rate_limit': self.rate_limit,
28553            'secret_store': self.secret_store,
28554        }
@classmethod
def from_dict(cls, d)
28556    @classmethod
28557    def from_dict(cls, d):
28558        return cls(
28559            meta=d.get('meta'),
28560            rate_limit=d.get('rate_limit'),
28561            secret_store=d.get('secret_store'),
28562        )
class Service:
28565class Service:
28566    '''
28567         A Service is a service account that can connect to resources they are granted
28568     directly, or granted via roles. Services are typically automated jobs.
28569    '''
28570    __slots__ = [
28571        'id',
28572        'name',
28573        'suspended',
28574        'tags',
28575    ]
28576
28577    def __init__(
28578        self,
28579        id=None,
28580        name=None,
28581        suspended=None,
28582        tags=None,
28583    ):
28584        self.id = id if id is not None else ''
28585        '''
28586         Unique identifier of the Service.
28587        '''
28588        self.name = name if name is not None else ''
28589        '''
28590         Unique human-readable name of the Service.
28591        '''
28592        self.suspended = suspended if suspended is not None else False
28593        '''
28594         The Service's suspended state.
28595        '''
28596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28597        '''
28598         Tags is a map of key, value pairs.
28599        '''
28600
28601    def __repr__(self):
28602        return '<sdm.Service ' + \
28603            'id: ' + repr(self.id) + ' ' +\
28604            'name: ' + repr(self.name) + ' ' +\
28605            'suspended: ' + repr(self.suspended) + ' ' +\
28606            'tags: ' + repr(self.tags) + ' ' +\
28607            '>'
28608
28609    def to_dict(self):
28610        return {
28611            'id': self.id,
28612            'name': self.name,
28613            'suspended': self.suspended,
28614            'tags': self.tags,
28615        }
28616
28617    @classmethod
28618    def from_dict(cls, d):
28619        return cls(
28620            id=d.get('id'),
28621            name=d.get('name'),
28622            suspended=d.get('suspended'),
28623            tags=d.get('tags'),
28624        )

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(id=None, name=None, suspended=None, tags=None)
28577    def __init__(
28578        self,
28579        id=None,
28580        name=None,
28581        suspended=None,
28582        tags=None,
28583    ):
28584        self.id = id if id is not None else ''
28585        '''
28586         Unique identifier of the Service.
28587        '''
28588        self.name = name if name is not None else ''
28589        '''
28590         Unique human-readable name of the Service.
28591        '''
28592        self.suspended = suspended if suspended is not None else False
28593        '''
28594         The Service's suspended state.
28595        '''
28596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28597        '''
28598         Tags is a map of key, value pairs.
28599        '''
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)
28609    def to_dict(self):
28610        return {
28611            'id': self.id,
28612            'name': self.name,
28613            'suspended': self.suspended,
28614            'tags': self.tags,
28615        }
@classmethod
def from_dict(cls, d)
28617    @classmethod
28618    def from_dict(cls, d):
28619        return cls(
28620            id=d.get('id'),
28621            name=d.get('name'),
28622            suspended=d.get('suspended'),
28623            tags=d.get('tags'),
28624        )
class SingleStore:
28627class SingleStore:
28628    __slots__ = [
28629        'bind_interface',
28630        'database',
28631        'egress_filter',
28632        'healthy',
28633        'hostname',
28634        'id',
28635        'name',
28636        'password',
28637        'port',
28638        'port_override',
28639        'proxy_cluster_id',
28640        'require_native_auth',
28641        'secret_store_id',
28642        'subdomain',
28643        'tags',
28644        'use_azure_single_server_usernames',
28645        'username',
28646    ]
28647
28648    def __init__(
28649        self,
28650        bind_interface=None,
28651        database=None,
28652        egress_filter=None,
28653        healthy=None,
28654        hostname=None,
28655        id=None,
28656        name=None,
28657        password=None,
28658        port=None,
28659        port_override=None,
28660        proxy_cluster_id=None,
28661        require_native_auth=None,
28662        secret_store_id=None,
28663        subdomain=None,
28664        tags=None,
28665        use_azure_single_server_usernames=None,
28666        username=None,
28667    ):
28668        self.bind_interface = bind_interface if bind_interface is not None else ''
28669        '''
28670         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28671        '''
28672        self.database = database if database is not None else ''
28673        '''
28674         The database for healthchecks. Does not affect client requests.
28675        '''
28676        self.egress_filter = egress_filter if egress_filter is not None else ''
28677        '''
28678         A filter applied to the routing logic to pin datasource to nodes.
28679        '''
28680        self.healthy = healthy if healthy is not None else False
28681        '''
28682         True if the datasource is reachable and the credentials are valid.
28683        '''
28684        self.hostname = hostname if hostname is not None else ''
28685        '''
28686         The host to dial to initiate a connection from the egress node to this resource.
28687        '''
28688        self.id = id if id is not None else ''
28689        '''
28690         Unique identifier of the Resource.
28691        '''
28692        self.name = name if name is not None else ''
28693        '''
28694         Unique human-readable name of the Resource.
28695        '''
28696        self.password = password if password is not None else ''
28697        '''
28698         The password to authenticate with.
28699        '''
28700        self.port = port if port is not None else 0
28701        '''
28702         The port to dial to initiate a connection from the egress node to this resource.
28703        '''
28704        self.port_override = port_override if port_override is not None else 0
28705        '''
28706         The local port used by clients to connect to this resource.
28707        '''
28708        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28709        '''
28710         ID of the proxy cluster for this resource, if any.
28711        '''
28712        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28713        '''
28714         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28715        '''
28716        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28717        '''
28718         ID of the secret store containing credentials for this resource, if any.
28719        '''
28720        self.subdomain = subdomain if subdomain is not None else ''
28721        '''
28722         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28723        '''
28724        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28725        '''
28726         Tags is a map of key, value pairs.
28727        '''
28728        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28729        '''
28730         If true, appends the hostname to the username when hitting a database.azure.com address
28731        '''
28732        self.username = username if username is not None else ''
28733        '''
28734         The username to authenticate with.
28735        '''
28736
28737    def __repr__(self):
28738        return '<sdm.SingleStore ' + \
28739            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28740            'database: ' + repr(self.database) + ' ' +\
28741            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28742            'healthy: ' + repr(self.healthy) + ' ' +\
28743            'hostname: ' + repr(self.hostname) + ' ' +\
28744            'id: ' + repr(self.id) + ' ' +\
28745            'name: ' + repr(self.name) + ' ' +\
28746            'password: ' + repr(self.password) + ' ' +\
28747            'port: ' + repr(self.port) + ' ' +\
28748            'port_override: ' + repr(self.port_override) + ' ' +\
28749            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28750            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28751            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28752            'subdomain: ' + repr(self.subdomain) + ' ' +\
28753            'tags: ' + repr(self.tags) + ' ' +\
28754            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28755            'username: ' + repr(self.username) + ' ' +\
28756            '>'
28757
28758    def to_dict(self):
28759        return {
28760            'bind_interface': self.bind_interface,
28761            'database': self.database,
28762            'egress_filter': self.egress_filter,
28763            'healthy': self.healthy,
28764            'hostname': self.hostname,
28765            'id': self.id,
28766            'name': self.name,
28767            'password': self.password,
28768            'port': self.port,
28769            'port_override': self.port_override,
28770            'proxy_cluster_id': self.proxy_cluster_id,
28771            'require_native_auth': self.require_native_auth,
28772            'secret_store_id': self.secret_store_id,
28773            'subdomain': self.subdomain,
28774            'tags': self.tags,
28775            'use_azure_single_server_usernames':
28776            self.use_azure_single_server_usernames,
28777            'username': self.username,
28778        }
28779
28780    @classmethod
28781    def from_dict(cls, d):
28782        return cls(
28783            bind_interface=d.get('bind_interface'),
28784            database=d.get('database'),
28785            egress_filter=d.get('egress_filter'),
28786            healthy=d.get('healthy'),
28787            hostname=d.get('hostname'),
28788            id=d.get('id'),
28789            name=d.get('name'),
28790            password=d.get('password'),
28791            port=d.get('port'),
28792            port_override=d.get('port_override'),
28793            proxy_cluster_id=d.get('proxy_cluster_id'),
28794            require_native_auth=d.get('require_native_auth'),
28795            secret_store_id=d.get('secret_store_id'),
28796            subdomain=d.get('subdomain'),
28797            tags=d.get('tags'),
28798            use_azure_single_server_usernames=d.get(
28799                'use_azure_single_server_usernames'),
28800            username=d.get('username'),
28801        )
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)
28648    def __init__(
28649        self,
28650        bind_interface=None,
28651        database=None,
28652        egress_filter=None,
28653        healthy=None,
28654        hostname=None,
28655        id=None,
28656        name=None,
28657        password=None,
28658        port=None,
28659        port_override=None,
28660        proxy_cluster_id=None,
28661        require_native_auth=None,
28662        secret_store_id=None,
28663        subdomain=None,
28664        tags=None,
28665        use_azure_single_server_usernames=None,
28666        username=None,
28667    ):
28668        self.bind_interface = bind_interface if bind_interface is not None else ''
28669        '''
28670         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28671        '''
28672        self.database = database if database is not None else ''
28673        '''
28674         The database for healthchecks. Does not affect client requests.
28675        '''
28676        self.egress_filter = egress_filter if egress_filter is not None else ''
28677        '''
28678         A filter applied to the routing logic to pin datasource to nodes.
28679        '''
28680        self.healthy = healthy if healthy is not None else False
28681        '''
28682         True if the datasource is reachable and the credentials are valid.
28683        '''
28684        self.hostname = hostname if hostname is not None else ''
28685        '''
28686         The host to dial to initiate a connection from the egress node to this resource.
28687        '''
28688        self.id = id if id is not None else ''
28689        '''
28690         Unique identifier of the Resource.
28691        '''
28692        self.name = name if name is not None else ''
28693        '''
28694         Unique human-readable name of the Resource.
28695        '''
28696        self.password = password if password is not None else ''
28697        '''
28698         The password to authenticate with.
28699        '''
28700        self.port = port if port is not None else 0
28701        '''
28702         The port to dial to initiate a connection from the egress node to this resource.
28703        '''
28704        self.port_override = port_override if port_override is not None else 0
28705        '''
28706         The local port used by clients to connect to this resource.
28707        '''
28708        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28709        '''
28710         ID of the proxy cluster for this resource, if any.
28711        '''
28712        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28713        '''
28714         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28715        '''
28716        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28717        '''
28718         ID of the secret store containing credentials for this resource, if any.
28719        '''
28720        self.subdomain = subdomain if subdomain is not None else ''
28721        '''
28722         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28723        '''
28724        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28725        '''
28726         Tags is a map of key, value pairs.
28727        '''
28728        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28729        '''
28730         If true, appends the hostname to the username when hitting a database.azure.com address
28731        '''
28732        self.username = username if username is not None else ''
28733        '''
28734         The username to authenticate with.
28735        '''
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.

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.

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

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_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)
28758    def to_dict(self):
28759        return {
28760            'bind_interface': self.bind_interface,
28761            'database': self.database,
28762            'egress_filter': self.egress_filter,
28763            'healthy': self.healthy,
28764            'hostname': self.hostname,
28765            'id': self.id,
28766            'name': self.name,
28767            'password': self.password,
28768            'port': self.port,
28769            'port_override': self.port_override,
28770            'proxy_cluster_id': self.proxy_cluster_id,
28771            'require_native_auth': self.require_native_auth,
28772            'secret_store_id': self.secret_store_id,
28773            'subdomain': self.subdomain,
28774            'tags': self.tags,
28775            'use_azure_single_server_usernames':
28776            self.use_azure_single_server_usernames,
28777            'username': self.username,
28778        }
@classmethod
def from_dict(cls, d)
28780    @classmethod
28781    def from_dict(cls, d):
28782        return cls(
28783            bind_interface=d.get('bind_interface'),
28784            database=d.get('database'),
28785            egress_filter=d.get('egress_filter'),
28786            healthy=d.get('healthy'),
28787            hostname=d.get('hostname'),
28788            id=d.get('id'),
28789            name=d.get('name'),
28790            password=d.get('password'),
28791            port=d.get('port'),
28792            port_override=d.get('port_override'),
28793            proxy_cluster_id=d.get('proxy_cluster_id'),
28794            require_native_auth=d.get('require_native_auth'),
28795            secret_store_id=d.get('secret_store_id'),
28796            subdomain=d.get('subdomain'),
28797            tags=d.get('tags'),
28798            use_azure_single_server_usernames=d.get(
28799                'use_azure_single_server_usernames'),
28800            username=d.get('username'),
28801        )
class Snowflake:
28804class Snowflake:
28805    __slots__ = [
28806        'bind_interface',
28807        'database',
28808        'egress_filter',
28809        'healthy',
28810        'hostname',
28811        'id',
28812        'name',
28813        'password',
28814        'port_override',
28815        'private_key',
28816        'proxy_cluster_id',
28817        'schema',
28818        'secret_store_id',
28819        'subdomain',
28820        'tags',
28821        'username',
28822    ]
28823
28824    def __init__(
28825        self,
28826        bind_interface=None,
28827        database=None,
28828        egress_filter=None,
28829        healthy=None,
28830        hostname=None,
28831        id=None,
28832        name=None,
28833        password=None,
28834        port_override=None,
28835        private_key=None,
28836        proxy_cluster_id=None,
28837        schema=None,
28838        secret_store_id=None,
28839        subdomain=None,
28840        tags=None,
28841        username=None,
28842    ):
28843        self.bind_interface = bind_interface if bind_interface is not None else ''
28844        '''
28845         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28846        '''
28847        self.database = database if database is not None else ''
28848        '''
28849         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28850        '''
28851        self.egress_filter = egress_filter if egress_filter is not None else ''
28852        '''
28853         A filter applied to the routing logic to pin datasource to nodes.
28854        '''
28855        self.healthy = healthy if healthy is not None else False
28856        '''
28857         True if the datasource is reachable and the credentials are valid.
28858        '''
28859        self.hostname = hostname if hostname is not None else ''
28860        '''
28861         The host to dial to initiate a connection from the egress node to this resource.
28862        '''
28863        self.id = id if id is not None else ''
28864        '''
28865         Unique identifier of the Resource.
28866        '''
28867        self.name = name if name is not None else ''
28868        '''
28869         Unique human-readable name of the Resource.
28870        '''
28871        self.password = password if password is not None else ''
28872        '''
28873         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
28874        '''
28875        self.port_override = port_override if port_override is not None else 0
28876        '''
28877         The local port used by clients to connect to this resource.
28878        '''
28879        self.private_key = private_key if private_key is not None else ''
28880        '''
28881         RSA Private Key for authentication
28882        '''
28883        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28884        '''
28885         ID of the proxy cluster for this resource, if any.
28886        '''
28887        self.schema = schema if schema is not None else ''
28888        '''
28889         The schema to provide on authentication.
28890        '''
28891        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28892        '''
28893         ID of the secret store containing credentials for this resource, if any.
28894        '''
28895        self.subdomain = subdomain if subdomain is not None else ''
28896        '''
28897         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28898        '''
28899        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28900        '''
28901         Tags is a map of key, value pairs.
28902        '''
28903        self.username = username if username is not None else ''
28904        '''
28905         The username to authenticate with.
28906        '''
28907
28908    def __repr__(self):
28909        return '<sdm.Snowflake ' + \
28910            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28911            'database: ' + repr(self.database) + ' ' +\
28912            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28913            'healthy: ' + repr(self.healthy) + ' ' +\
28914            'hostname: ' + repr(self.hostname) + ' ' +\
28915            'id: ' + repr(self.id) + ' ' +\
28916            'name: ' + repr(self.name) + ' ' +\
28917            'password: ' + repr(self.password) + ' ' +\
28918            'port_override: ' + repr(self.port_override) + ' ' +\
28919            'private_key: ' + repr(self.private_key) + ' ' +\
28920            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28921            'schema: ' + repr(self.schema) + ' ' +\
28922            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28923            'subdomain: ' + repr(self.subdomain) + ' ' +\
28924            'tags: ' + repr(self.tags) + ' ' +\
28925            'username: ' + repr(self.username) + ' ' +\
28926            '>'
28927
28928    def to_dict(self):
28929        return {
28930            'bind_interface': self.bind_interface,
28931            'database': self.database,
28932            'egress_filter': self.egress_filter,
28933            'healthy': self.healthy,
28934            'hostname': self.hostname,
28935            'id': self.id,
28936            'name': self.name,
28937            'password': self.password,
28938            'port_override': self.port_override,
28939            'private_key': self.private_key,
28940            'proxy_cluster_id': self.proxy_cluster_id,
28941            'schema': self.schema,
28942            'secret_store_id': self.secret_store_id,
28943            'subdomain': self.subdomain,
28944            'tags': self.tags,
28945            'username': self.username,
28946        }
28947
28948    @classmethod
28949    def from_dict(cls, d):
28950        return cls(
28951            bind_interface=d.get('bind_interface'),
28952            database=d.get('database'),
28953            egress_filter=d.get('egress_filter'),
28954            healthy=d.get('healthy'),
28955            hostname=d.get('hostname'),
28956            id=d.get('id'),
28957            name=d.get('name'),
28958            password=d.get('password'),
28959            port_override=d.get('port_override'),
28960            private_key=d.get('private_key'),
28961            proxy_cluster_id=d.get('proxy_cluster_id'),
28962            schema=d.get('schema'),
28963            secret_store_id=d.get('secret_store_id'),
28964            subdomain=d.get('subdomain'),
28965            tags=d.get('tags'),
28966            username=d.get('username'),
28967        )
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)
28824    def __init__(
28825        self,
28826        bind_interface=None,
28827        database=None,
28828        egress_filter=None,
28829        healthy=None,
28830        hostname=None,
28831        id=None,
28832        name=None,
28833        password=None,
28834        port_override=None,
28835        private_key=None,
28836        proxy_cluster_id=None,
28837        schema=None,
28838        secret_store_id=None,
28839        subdomain=None,
28840        tags=None,
28841        username=None,
28842    ):
28843        self.bind_interface = bind_interface if bind_interface is not None else ''
28844        '''
28845         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28846        '''
28847        self.database = database if database is not None else ''
28848        '''
28849         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28850        '''
28851        self.egress_filter = egress_filter if egress_filter is not None else ''
28852        '''
28853         A filter applied to the routing logic to pin datasource to nodes.
28854        '''
28855        self.healthy = healthy if healthy is not None else False
28856        '''
28857         True if the datasource is reachable and the credentials are valid.
28858        '''
28859        self.hostname = hostname if hostname is not None else ''
28860        '''
28861         The host to dial to initiate a connection from the egress node to this resource.
28862        '''
28863        self.id = id if id is not None else ''
28864        '''
28865         Unique identifier of the Resource.
28866        '''
28867        self.name = name if name is not None else ''
28868        '''
28869         Unique human-readable name of the Resource.
28870        '''
28871        self.password = password if password is not None else ''
28872        '''
28873         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
28874        '''
28875        self.port_override = port_override if port_override is not None else 0
28876        '''
28877         The local port used by clients to connect to this resource.
28878        '''
28879        self.private_key = private_key if private_key is not None else ''
28880        '''
28881         RSA Private Key for authentication
28882        '''
28883        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28884        '''
28885         ID of the proxy cluster for this resource, if any.
28886        '''
28887        self.schema = schema if schema is not None else ''
28888        '''
28889         The schema to provide on authentication.
28890        '''
28891        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28892        '''
28893         ID of the secret store containing credentials for this resource, if any.
28894        '''
28895        self.subdomain = subdomain if subdomain is not None else ''
28896        '''
28897         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28898        '''
28899        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28900        '''
28901         Tags is a map of key, value pairs.
28902        '''
28903        self.username = username if username is not None else ''
28904        '''
28905         The username to authenticate with.
28906        '''
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.

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.

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

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.

username

The username to authenticate with.

def to_dict(self)
28928    def to_dict(self):
28929        return {
28930            'bind_interface': self.bind_interface,
28931            'database': self.database,
28932            'egress_filter': self.egress_filter,
28933            'healthy': self.healthy,
28934            'hostname': self.hostname,
28935            'id': self.id,
28936            'name': self.name,
28937            'password': self.password,
28938            'port_override': self.port_override,
28939            'private_key': self.private_key,
28940            'proxy_cluster_id': self.proxy_cluster_id,
28941            'schema': self.schema,
28942            'secret_store_id': self.secret_store_id,
28943            'subdomain': self.subdomain,
28944            'tags': self.tags,
28945            'username': self.username,
28946        }
@classmethod
def from_dict(cls, d)
28948    @classmethod
28949    def from_dict(cls, d):
28950        return cls(
28951            bind_interface=d.get('bind_interface'),
28952            database=d.get('database'),
28953            egress_filter=d.get('egress_filter'),
28954            healthy=d.get('healthy'),
28955            hostname=d.get('hostname'),
28956            id=d.get('id'),
28957            name=d.get('name'),
28958            password=d.get('password'),
28959            port_override=d.get('port_override'),
28960            private_key=d.get('private_key'),
28961            proxy_cluster_id=d.get('proxy_cluster_id'),
28962            schema=d.get('schema'),
28963            secret_store_id=d.get('secret_store_id'),
28964            subdomain=d.get('subdomain'),
28965            tags=d.get('tags'),
28966            username=d.get('username'),
28967        )
class Snowsight:
28970class Snowsight:
28971    __slots__ = [
28972        'bind_interface',
28973        'egress_filter',
28974        'healthcheck_username',
28975        'healthy',
28976        'id',
28977        'name',
28978        'port_override',
28979        'proxy_cluster_id',
28980        'samlmetadata',
28981        'secret_store_id',
28982        'subdomain',
28983        'tags',
28984    ]
28985
28986    def __init__(
28987        self,
28988        bind_interface=None,
28989        egress_filter=None,
28990        healthcheck_username=None,
28991        healthy=None,
28992        id=None,
28993        name=None,
28994        port_override=None,
28995        proxy_cluster_id=None,
28996        samlmetadata=None,
28997        secret_store_id=None,
28998        subdomain=None,
28999        tags=None,
29000    ):
29001        self.bind_interface = bind_interface if bind_interface is not None else ''
29002        '''
29003         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29004        '''
29005        self.egress_filter = egress_filter if egress_filter is not None else ''
29006        '''
29007         A filter applied to the routing logic to pin datasource to nodes.
29008        '''
29009        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
29010        '''
29011         The StrongDM user email to use for healthchecks.
29012        '''
29013        self.healthy = healthy if healthy is not None else False
29014        '''
29015         True if the datasource is reachable and the credentials are valid.
29016        '''
29017        self.id = id if id is not None else ''
29018        '''
29019         Unique identifier of the Resource.
29020        '''
29021        self.name = name if name is not None else ''
29022        '''
29023         Unique human-readable name of the Resource.
29024        '''
29025        self.port_override = port_override if port_override is not None else 0
29026        '''
29027         The local port used by clients to connect to this resource.
29028        '''
29029        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29030        '''
29031         ID of the proxy cluster for this resource, if any.
29032        '''
29033        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
29034        '''
29035         The Metadata for your snowflake IDP integration
29036        '''
29037        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29038        '''
29039         ID of the secret store containing credentials for this resource, if any.
29040        '''
29041        self.subdomain = subdomain if subdomain is not None else ''
29042        '''
29043         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29044        '''
29045        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29046        '''
29047         Tags is a map of key, value pairs.
29048        '''
29049
29050    def __repr__(self):
29051        return '<sdm.Snowsight ' + \
29052            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29053            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29054            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
29055            'healthy: ' + repr(self.healthy) + ' ' +\
29056            'id: ' + repr(self.id) + ' ' +\
29057            'name: ' + repr(self.name) + ' ' +\
29058            'port_override: ' + repr(self.port_override) + ' ' +\
29059            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29060            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
29061            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29062            'subdomain: ' + repr(self.subdomain) + ' ' +\
29063            'tags: ' + repr(self.tags) + ' ' +\
29064            '>'
29065
29066    def to_dict(self):
29067        return {
29068            'bind_interface': self.bind_interface,
29069            'egress_filter': self.egress_filter,
29070            'healthcheck_username': self.healthcheck_username,
29071            'healthy': self.healthy,
29072            'id': self.id,
29073            'name': self.name,
29074            'port_override': self.port_override,
29075            'proxy_cluster_id': self.proxy_cluster_id,
29076            'samlmetadata': self.samlmetadata,
29077            'secret_store_id': self.secret_store_id,
29078            'subdomain': self.subdomain,
29079            'tags': self.tags,
29080        }
29081
29082    @classmethod
29083    def from_dict(cls, d):
29084        return cls(
29085            bind_interface=d.get('bind_interface'),
29086            egress_filter=d.get('egress_filter'),
29087            healthcheck_username=d.get('healthcheck_username'),
29088            healthy=d.get('healthy'),
29089            id=d.get('id'),
29090            name=d.get('name'),
29091            port_override=d.get('port_override'),
29092            proxy_cluster_id=d.get('proxy_cluster_id'),
29093            samlmetadata=d.get('samlmetadata'),
29094            secret_store_id=d.get('secret_store_id'),
29095            subdomain=d.get('subdomain'),
29096            tags=d.get('tags'),
29097        )
Snowsight( bind_interface=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)
28986    def __init__(
28987        self,
28988        bind_interface=None,
28989        egress_filter=None,
28990        healthcheck_username=None,
28991        healthy=None,
28992        id=None,
28993        name=None,
28994        port_override=None,
28995        proxy_cluster_id=None,
28996        samlmetadata=None,
28997        secret_store_id=None,
28998        subdomain=None,
28999        tags=None,
29000    ):
29001        self.bind_interface = bind_interface if bind_interface is not None else ''
29002        '''
29003         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29004        '''
29005        self.egress_filter = egress_filter if egress_filter is not None else ''
29006        '''
29007         A filter applied to the routing logic to pin datasource to nodes.
29008        '''
29009        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
29010        '''
29011         The StrongDM user email to use for healthchecks.
29012        '''
29013        self.healthy = healthy if healthy is not None else False
29014        '''
29015         True if the datasource is reachable and the credentials are valid.
29016        '''
29017        self.id = id if id is not None else ''
29018        '''
29019         Unique identifier of the Resource.
29020        '''
29021        self.name = name if name is not None else ''
29022        '''
29023         Unique human-readable name of the Resource.
29024        '''
29025        self.port_override = port_override if port_override is not None else 0
29026        '''
29027         The local port used by clients to connect to this resource.
29028        '''
29029        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29030        '''
29031         ID of the proxy cluster for this resource, if any.
29032        '''
29033        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
29034        '''
29035         The Metadata for your snowflake IDP integration
29036        '''
29037        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29038        '''
29039         ID of the secret store containing credentials for this resource, if any.
29040        '''
29041        self.subdomain = subdomain if subdomain is not None else ''
29042        '''
29043         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29044        '''
29045        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29046        '''
29047         Tags is a map of key, value pairs.
29048        '''
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.

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.

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.

def to_dict(self)
29066    def to_dict(self):
29067        return {
29068            'bind_interface': self.bind_interface,
29069            'egress_filter': self.egress_filter,
29070            'healthcheck_username': self.healthcheck_username,
29071            'healthy': self.healthy,
29072            'id': self.id,
29073            'name': self.name,
29074            'port_override': self.port_override,
29075            'proxy_cluster_id': self.proxy_cluster_id,
29076            'samlmetadata': self.samlmetadata,
29077            'secret_store_id': self.secret_store_id,
29078            'subdomain': self.subdomain,
29079            'tags': self.tags,
29080        }
@classmethod
def from_dict(cls, d)
29082    @classmethod
29083    def from_dict(cls, d):
29084        return cls(
29085            bind_interface=d.get('bind_interface'),
29086            egress_filter=d.get('egress_filter'),
29087            healthcheck_username=d.get('healthcheck_username'),
29088            healthy=d.get('healthy'),
29089            id=d.get('id'),
29090            name=d.get('name'),
29091            port_override=d.get('port_override'),
29092            proxy_cluster_id=d.get('proxy_cluster_id'),
29093            samlmetadata=d.get('samlmetadata'),
29094            secret_store_id=d.get('secret_store_id'),
29095            subdomain=d.get('subdomain'),
29096            tags=d.get('tags'),
29097        )
class Sybase:
29100class Sybase:
29101    __slots__ = [
29102        'bind_interface',
29103        'egress_filter',
29104        'healthy',
29105        'hostname',
29106        'id',
29107        'name',
29108        'password',
29109        'port',
29110        'port_override',
29111        'proxy_cluster_id',
29112        'secret_store_id',
29113        'subdomain',
29114        'tags',
29115        'username',
29116    ]
29117
29118    def __init__(
29119        self,
29120        bind_interface=None,
29121        egress_filter=None,
29122        healthy=None,
29123        hostname=None,
29124        id=None,
29125        name=None,
29126        password=None,
29127        port=None,
29128        port_override=None,
29129        proxy_cluster_id=None,
29130        secret_store_id=None,
29131        subdomain=None,
29132        tags=None,
29133        username=None,
29134    ):
29135        self.bind_interface = bind_interface if bind_interface is not None else ''
29136        '''
29137         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29138        '''
29139        self.egress_filter = egress_filter if egress_filter is not None else ''
29140        '''
29141         A filter applied to the routing logic to pin datasource to nodes.
29142        '''
29143        self.healthy = healthy if healthy is not None else False
29144        '''
29145         True if the datasource is reachable and the credentials are valid.
29146        '''
29147        self.hostname = hostname if hostname is not None else ''
29148        '''
29149         The host to dial to initiate a connection from the egress node to this resource.
29150        '''
29151        self.id = id if id is not None else ''
29152        '''
29153         Unique identifier of the Resource.
29154        '''
29155        self.name = name if name is not None else ''
29156        '''
29157         Unique human-readable name of the Resource.
29158        '''
29159        self.password = password if password is not None else ''
29160        '''
29161         The password to authenticate with.
29162        '''
29163        self.port = port if port is not None else 0
29164        '''
29165         The port to dial to initiate a connection from the egress node to this resource.
29166        '''
29167        self.port_override = port_override if port_override is not None else 0
29168        '''
29169         The local port used by clients to connect to this resource.
29170        '''
29171        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29172        '''
29173         ID of the proxy cluster for this resource, if any.
29174        '''
29175        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29176        '''
29177         ID of the secret store containing credentials for this resource, if any.
29178        '''
29179        self.subdomain = subdomain if subdomain is not None else ''
29180        '''
29181         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29182        '''
29183        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29184        '''
29185         Tags is a map of key, value pairs.
29186        '''
29187        self.username = username if username is not None else ''
29188        '''
29189         The username to authenticate with.
29190        '''
29191
29192    def __repr__(self):
29193        return '<sdm.Sybase ' + \
29194            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29195            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29196            'healthy: ' + repr(self.healthy) + ' ' +\
29197            'hostname: ' + repr(self.hostname) + ' ' +\
29198            'id: ' + repr(self.id) + ' ' +\
29199            'name: ' + repr(self.name) + ' ' +\
29200            'password: ' + repr(self.password) + ' ' +\
29201            'port: ' + repr(self.port) + ' ' +\
29202            'port_override: ' + repr(self.port_override) + ' ' +\
29203            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29204            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29205            'subdomain: ' + repr(self.subdomain) + ' ' +\
29206            'tags: ' + repr(self.tags) + ' ' +\
29207            'username: ' + repr(self.username) + ' ' +\
29208            '>'
29209
29210    def to_dict(self):
29211        return {
29212            'bind_interface': self.bind_interface,
29213            'egress_filter': self.egress_filter,
29214            'healthy': self.healthy,
29215            'hostname': self.hostname,
29216            'id': self.id,
29217            'name': self.name,
29218            'password': self.password,
29219            'port': self.port,
29220            'port_override': self.port_override,
29221            'proxy_cluster_id': self.proxy_cluster_id,
29222            'secret_store_id': self.secret_store_id,
29223            'subdomain': self.subdomain,
29224            'tags': self.tags,
29225            'username': self.username,
29226        }
29227
29228    @classmethod
29229    def from_dict(cls, d):
29230        return cls(
29231            bind_interface=d.get('bind_interface'),
29232            egress_filter=d.get('egress_filter'),
29233            healthy=d.get('healthy'),
29234            hostname=d.get('hostname'),
29235            id=d.get('id'),
29236            name=d.get('name'),
29237            password=d.get('password'),
29238            port=d.get('port'),
29239            port_override=d.get('port_override'),
29240            proxy_cluster_id=d.get('proxy_cluster_id'),
29241            secret_store_id=d.get('secret_store_id'),
29242            subdomain=d.get('subdomain'),
29243            tags=d.get('tags'),
29244            username=d.get('username'),
29245        )
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)
29118    def __init__(
29119        self,
29120        bind_interface=None,
29121        egress_filter=None,
29122        healthy=None,
29123        hostname=None,
29124        id=None,
29125        name=None,
29126        password=None,
29127        port=None,
29128        port_override=None,
29129        proxy_cluster_id=None,
29130        secret_store_id=None,
29131        subdomain=None,
29132        tags=None,
29133        username=None,
29134    ):
29135        self.bind_interface = bind_interface if bind_interface is not None else ''
29136        '''
29137         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29138        '''
29139        self.egress_filter = egress_filter if egress_filter is not None else ''
29140        '''
29141         A filter applied to the routing logic to pin datasource to nodes.
29142        '''
29143        self.healthy = healthy if healthy is not None else False
29144        '''
29145         True if the datasource is reachable and the credentials are valid.
29146        '''
29147        self.hostname = hostname if hostname is not None else ''
29148        '''
29149         The host to dial to initiate a connection from the egress node to this resource.
29150        '''
29151        self.id = id if id is not None else ''
29152        '''
29153         Unique identifier of the Resource.
29154        '''
29155        self.name = name if name is not None else ''
29156        '''
29157         Unique human-readable name of the Resource.
29158        '''
29159        self.password = password if password is not None else ''
29160        '''
29161         The password to authenticate with.
29162        '''
29163        self.port = port if port is not None else 0
29164        '''
29165         The port to dial to initiate a connection from the egress node to this resource.
29166        '''
29167        self.port_override = port_override if port_override is not None else 0
29168        '''
29169         The local port used by clients to connect to this resource.
29170        '''
29171        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29172        '''
29173         ID of the proxy cluster for this resource, if any.
29174        '''
29175        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29176        '''
29177         ID of the secret store containing credentials for this resource, if any.
29178        '''
29179        self.subdomain = subdomain if subdomain is not None else ''
29180        '''
29181         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29182        '''
29183        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29184        '''
29185         Tags is a map of key, value pairs.
29186        '''
29187        self.username = username if username is not None else ''
29188        '''
29189         The username to authenticate with.
29190        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
29210    def to_dict(self):
29211        return {
29212            'bind_interface': self.bind_interface,
29213            'egress_filter': self.egress_filter,
29214            'healthy': self.healthy,
29215            'hostname': self.hostname,
29216            'id': self.id,
29217            'name': self.name,
29218            'password': self.password,
29219            'port': self.port,
29220            'port_override': self.port_override,
29221            'proxy_cluster_id': self.proxy_cluster_id,
29222            'secret_store_id': self.secret_store_id,
29223            'subdomain': self.subdomain,
29224            'tags': self.tags,
29225            'username': self.username,
29226        }
@classmethod
def from_dict(cls, d)
29228    @classmethod
29229    def from_dict(cls, d):
29230        return cls(
29231            bind_interface=d.get('bind_interface'),
29232            egress_filter=d.get('egress_filter'),
29233            healthy=d.get('healthy'),
29234            hostname=d.get('hostname'),
29235            id=d.get('id'),
29236            name=d.get('name'),
29237            password=d.get('password'),
29238            port=d.get('port'),
29239            port_override=d.get('port_override'),
29240            proxy_cluster_id=d.get('proxy_cluster_id'),
29241            secret_store_id=d.get('secret_store_id'),
29242            subdomain=d.get('subdomain'),
29243            tags=d.get('tags'),
29244            username=d.get('username'),
29245        )
class SybaseIQ:
29248class SybaseIQ:
29249    __slots__ = [
29250        'bind_interface',
29251        'egress_filter',
29252        'healthy',
29253        'hostname',
29254        'id',
29255        'name',
29256        'password',
29257        'port',
29258        'port_override',
29259        'proxy_cluster_id',
29260        'secret_store_id',
29261        'subdomain',
29262        'tags',
29263        'username',
29264    ]
29265
29266    def __init__(
29267        self,
29268        bind_interface=None,
29269        egress_filter=None,
29270        healthy=None,
29271        hostname=None,
29272        id=None,
29273        name=None,
29274        password=None,
29275        port=None,
29276        port_override=None,
29277        proxy_cluster_id=None,
29278        secret_store_id=None,
29279        subdomain=None,
29280        tags=None,
29281        username=None,
29282    ):
29283        self.bind_interface = bind_interface if bind_interface is not None else ''
29284        '''
29285         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29286        '''
29287        self.egress_filter = egress_filter if egress_filter is not None else ''
29288        '''
29289         A filter applied to the routing logic to pin datasource to nodes.
29290        '''
29291        self.healthy = healthy if healthy is not None else False
29292        '''
29293         True if the datasource is reachable and the credentials are valid.
29294        '''
29295        self.hostname = hostname if hostname is not None else ''
29296        '''
29297         The host to dial to initiate a connection from the egress node to this resource.
29298        '''
29299        self.id = id if id is not None else ''
29300        '''
29301         Unique identifier of the Resource.
29302        '''
29303        self.name = name if name is not None else ''
29304        '''
29305         Unique human-readable name of the Resource.
29306        '''
29307        self.password = password if password is not None else ''
29308        '''
29309         The password to authenticate with.
29310        '''
29311        self.port = port if port is not None else 0
29312        '''
29313         The port to dial to initiate a connection from the egress node to this resource.
29314        '''
29315        self.port_override = port_override if port_override is not None else 0
29316        '''
29317         The local port used by clients to connect to this resource.
29318        '''
29319        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29320        '''
29321         ID of the proxy cluster for this resource, if any.
29322        '''
29323        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29324        '''
29325         ID of the secret store containing credentials for this resource, if any.
29326        '''
29327        self.subdomain = subdomain if subdomain is not None else ''
29328        '''
29329         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29330        '''
29331        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29332        '''
29333         Tags is a map of key, value pairs.
29334        '''
29335        self.username = username if username is not None else ''
29336        '''
29337         The username to authenticate with.
29338        '''
29339
29340    def __repr__(self):
29341        return '<sdm.SybaseIQ ' + \
29342            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29343            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29344            'healthy: ' + repr(self.healthy) + ' ' +\
29345            'hostname: ' + repr(self.hostname) + ' ' +\
29346            'id: ' + repr(self.id) + ' ' +\
29347            'name: ' + repr(self.name) + ' ' +\
29348            'password: ' + repr(self.password) + ' ' +\
29349            'port: ' + repr(self.port) + ' ' +\
29350            'port_override: ' + repr(self.port_override) + ' ' +\
29351            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29352            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29353            'subdomain: ' + repr(self.subdomain) + ' ' +\
29354            'tags: ' + repr(self.tags) + ' ' +\
29355            'username: ' + repr(self.username) + ' ' +\
29356            '>'
29357
29358    def to_dict(self):
29359        return {
29360            'bind_interface': self.bind_interface,
29361            'egress_filter': self.egress_filter,
29362            'healthy': self.healthy,
29363            'hostname': self.hostname,
29364            'id': self.id,
29365            'name': self.name,
29366            'password': self.password,
29367            'port': self.port,
29368            'port_override': self.port_override,
29369            'proxy_cluster_id': self.proxy_cluster_id,
29370            'secret_store_id': self.secret_store_id,
29371            'subdomain': self.subdomain,
29372            'tags': self.tags,
29373            'username': self.username,
29374        }
29375
29376    @classmethod
29377    def from_dict(cls, d):
29378        return cls(
29379            bind_interface=d.get('bind_interface'),
29380            egress_filter=d.get('egress_filter'),
29381            healthy=d.get('healthy'),
29382            hostname=d.get('hostname'),
29383            id=d.get('id'),
29384            name=d.get('name'),
29385            password=d.get('password'),
29386            port=d.get('port'),
29387            port_override=d.get('port_override'),
29388            proxy_cluster_id=d.get('proxy_cluster_id'),
29389            secret_store_id=d.get('secret_store_id'),
29390            subdomain=d.get('subdomain'),
29391            tags=d.get('tags'),
29392            username=d.get('username'),
29393        )
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)
29266    def __init__(
29267        self,
29268        bind_interface=None,
29269        egress_filter=None,
29270        healthy=None,
29271        hostname=None,
29272        id=None,
29273        name=None,
29274        password=None,
29275        port=None,
29276        port_override=None,
29277        proxy_cluster_id=None,
29278        secret_store_id=None,
29279        subdomain=None,
29280        tags=None,
29281        username=None,
29282    ):
29283        self.bind_interface = bind_interface if bind_interface is not None else ''
29284        '''
29285         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29286        '''
29287        self.egress_filter = egress_filter if egress_filter is not None else ''
29288        '''
29289         A filter applied to the routing logic to pin datasource to nodes.
29290        '''
29291        self.healthy = healthy if healthy is not None else False
29292        '''
29293         True if the datasource is reachable and the credentials are valid.
29294        '''
29295        self.hostname = hostname if hostname is not None else ''
29296        '''
29297         The host to dial to initiate a connection from the egress node to this resource.
29298        '''
29299        self.id = id if id is not None else ''
29300        '''
29301         Unique identifier of the Resource.
29302        '''
29303        self.name = name if name is not None else ''
29304        '''
29305         Unique human-readable name of the Resource.
29306        '''
29307        self.password = password if password is not None else ''
29308        '''
29309         The password to authenticate with.
29310        '''
29311        self.port = port if port is not None else 0
29312        '''
29313         The port to dial to initiate a connection from the egress node to this resource.
29314        '''
29315        self.port_override = port_override if port_override is not None else 0
29316        '''
29317         The local port used by clients to connect to this resource.
29318        '''
29319        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29320        '''
29321         ID of the proxy cluster for this resource, if any.
29322        '''
29323        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29324        '''
29325         ID of the secret store containing credentials for this resource, if any.
29326        '''
29327        self.subdomain = subdomain if subdomain is not None else ''
29328        '''
29329         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29330        '''
29331        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29332        '''
29333         Tags is a map of key, value pairs.
29334        '''
29335        self.username = username if username is not None else ''
29336        '''
29337         The username to authenticate with.
29338        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
29358    def to_dict(self):
29359        return {
29360            'bind_interface': self.bind_interface,
29361            'egress_filter': self.egress_filter,
29362            'healthy': self.healthy,
29363            'hostname': self.hostname,
29364            'id': self.id,
29365            'name': self.name,
29366            'password': self.password,
29367            'port': self.port,
29368            'port_override': self.port_override,
29369            'proxy_cluster_id': self.proxy_cluster_id,
29370            'secret_store_id': self.secret_store_id,
29371            'subdomain': self.subdomain,
29372            'tags': self.tags,
29373            'username': self.username,
29374        }
@classmethod
def from_dict(cls, d)
29376    @classmethod
29377    def from_dict(cls, d):
29378        return cls(
29379            bind_interface=d.get('bind_interface'),
29380            egress_filter=d.get('egress_filter'),
29381            healthy=d.get('healthy'),
29382            hostname=d.get('hostname'),
29383            id=d.get('id'),
29384            name=d.get('name'),
29385            password=d.get('password'),
29386            port=d.get('port'),
29387            port_override=d.get('port_override'),
29388            proxy_cluster_id=d.get('proxy_cluster_id'),
29389            secret_store_id=d.get('secret_store_id'),
29390            subdomain=d.get('subdomain'),
29391            tags=d.get('tags'),
29392            username=d.get('username'),
29393        )
class Tag:
29396class Tag:
29397    __slots__ = [
29398        'name',
29399        'value',
29400    ]
29401
29402    def __init__(
29403        self,
29404        name=None,
29405        value=None,
29406    ):
29407        self.name = name if name is not None else ''
29408        '''
29409         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29410        '''
29411        self.value = value if value is not None else ''
29412        '''
29413         The value of this tag.
29414        '''
29415
29416    def __repr__(self):
29417        return '<sdm.Tag ' + \
29418            'name: ' + repr(self.name) + ' ' +\
29419            'value: ' + repr(self.value) + ' ' +\
29420            '>'
29421
29422    def to_dict(self):
29423        return {
29424            'name': self.name,
29425            'value': self.value,
29426        }
29427
29428    @classmethod
29429    def from_dict(cls, d):
29430        return cls(
29431            name=d.get('name'),
29432            value=d.get('value'),
29433        )
Tag(name=None, value=None)
29402    def __init__(
29403        self,
29404        name=None,
29405        value=None,
29406    ):
29407        self.name = name if name is not None else ''
29408        '''
29409         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29410        '''
29411        self.value = value if value is not None else ''
29412        '''
29413         The value of this tag.
29414        '''
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)
29422    def to_dict(self):
29423        return {
29424            'name': self.name,
29425            'value': self.value,
29426        }
@classmethod
def from_dict(cls, d)
29428    @classmethod
29429    def from_dict(cls, d):
29430        return cls(
29431            name=d.get('name'),
29432            value=d.get('value'),
29433        )
class Teradata:
29436class Teradata:
29437    __slots__ = [
29438        'bind_interface',
29439        'egress_filter',
29440        'healthy',
29441        'hostname',
29442        'id',
29443        'name',
29444        'password',
29445        'port',
29446        'port_override',
29447        'proxy_cluster_id',
29448        'secret_store_id',
29449        'subdomain',
29450        'tags',
29451        'username',
29452    ]
29453
29454    def __init__(
29455        self,
29456        bind_interface=None,
29457        egress_filter=None,
29458        healthy=None,
29459        hostname=None,
29460        id=None,
29461        name=None,
29462        password=None,
29463        port=None,
29464        port_override=None,
29465        proxy_cluster_id=None,
29466        secret_store_id=None,
29467        subdomain=None,
29468        tags=None,
29469        username=None,
29470    ):
29471        self.bind_interface = bind_interface if bind_interface is not None else ''
29472        '''
29473         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29474        '''
29475        self.egress_filter = egress_filter if egress_filter is not None else ''
29476        '''
29477         A filter applied to the routing logic to pin datasource to nodes.
29478        '''
29479        self.healthy = healthy if healthy is not None else False
29480        '''
29481         True if the datasource is reachable and the credentials are valid.
29482        '''
29483        self.hostname = hostname if hostname is not None else ''
29484        '''
29485         The host to dial to initiate a connection from the egress node to this resource.
29486        '''
29487        self.id = id if id is not None else ''
29488        '''
29489         Unique identifier of the Resource.
29490        '''
29491        self.name = name if name is not None else ''
29492        '''
29493         Unique human-readable name of the Resource.
29494        '''
29495        self.password = password if password is not None else ''
29496        '''
29497         The password to authenticate with.
29498        '''
29499        self.port = port if port is not None else 0
29500        '''
29501         The port to dial to initiate a connection from the egress node to this resource.
29502        '''
29503        self.port_override = port_override if port_override is not None else 0
29504        '''
29505         The local port used by clients to connect to this resource.
29506        '''
29507        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29508        '''
29509         ID of the proxy cluster for this resource, if any.
29510        '''
29511        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29512        '''
29513         ID of the secret store containing credentials for this resource, if any.
29514        '''
29515        self.subdomain = subdomain if subdomain is not None else ''
29516        '''
29517         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29518        '''
29519        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29520        '''
29521         Tags is a map of key, value pairs.
29522        '''
29523        self.username = username if username is not None else ''
29524        '''
29525         The username to authenticate with.
29526        '''
29527
29528    def __repr__(self):
29529        return '<sdm.Teradata ' + \
29530            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29531            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29532            'healthy: ' + repr(self.healthy) + ' ' +\
29533            'hostname: ' + repr(self.hostname) + ' ' +\
29534            'id: ' + repr(self.id) + ' ' +\
29535            'name: ' + repr(self.name) + ' ' +\
29536            'password: ' + repr(self.password) + ' ' +\
29537            'port: ' + repr(self.port) + ' ' +\
29538            'port_override: ' + repr(self.port_override) + ' ' +\
29539            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29540            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29541            'subdomain: ' + repr(self.subdomain) + ' ' +\
29542            'tags: ' + repr(self.tags) + ' ' +\
29543            'username: ' + repr(self.username) + ' ' +\
29544            '>'
29545
29546    def to_dict(self):
29547        return {
29548            'bind_interface': self.bind_interface,
29549            'egress_filter': self.egress_filter,
29550            'healthy': self.healthy,
29551            'hostname': self.hostname,
29552            'id': self.id,
29553            'name': self.name,
29554            'password': self.password,
29555            'port': self.port,
29556            'port_override': self.port_override,
29557            'proxy_cluster_id': self.proxy_cluster_id,
29558            'secret_store_id': self.secret_store_id,
29559            'subdomain': self.subdomain,
29560            'tags': self.tags,
29561            'username': self.username,
29562        }
29563
29564    @classmethod
29565    def from_dict(cls, d):
29566        return cls(
29567            bind_interface=d.get('bind_interface'),
29568            egress_filter=d.get('egress_filter'),
29569            healthy=d.get('healthy'),
29570            hostname=d.get('hostname'),
29571            id=d.get('id'),
29572            name=d.get('name'),
29573            password=d.get('password'),
29574            port=d.get('port'),
29575            port_override=d.get('port_override'),
29576            proxy_cluster_id=d.get('proxy_cluster_id'),
29577            secret_store_id=d.get('secret_store_id'),
29578            subdomain=d.get('subdomain'),
29579            tags=d.get('tags'),
29580            username=d.get('username'),
29581        )
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)
29454    def __init__(
29455        self,
29456        bind_interface=None,
29457        egress_filter=None,
29458        healthy=None,
29459        hostname=None,
29460        id=None,
29461        name=None,
29462        password=None,
29463        port=None,
29464        port_override=None,
29465        proxy_cluster_id=None,
29466        secret_store_id=None,
29467        subdomain=None,
29468        tags=None,
29469        username=None,
29470    ):
29471        self.bind_interface = bind_interface if bind_interface is not None else ''
29472        '''
29473         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29474        '''
29475        self.egress_filter = egress_filter if egress_filter is not None else ''
29476        '''
29477         A filter applied to the routing logic to pin datasource to nodes.
29478        '''
29479        self.healthy = healthy if healthy is not None else False
29480        '''
29481         True if the datasource is reachable and the credentials are valid.
29482        '''
29483        self.hostname = hostname if hostname is not None else ''
29484        '''
29485         The host to dial to initiate a connection from the egress node to this resource.
29486        '''
29487        self.id = id if id is not None else ''
29488        '''
29489         Unique identifier of the Resource.
29490        '''
29491        self.name = name if name is not None else ''
29492        '''
29493         Unique human-readable name of the Resource.
29494        '''
29495        self.password = password if password is not None else ''
29496        '''
29497         The password to authenticate with.
29498        '''
29499        self.port = port if port is not None else 0
29500        '''
29501         The port to dial to initiate a connection from the egress node to this resource.
29502        '''
29503        self.port_override = port_override if port_override is not None else 0
29504        '''
29505         The local port used by clients to connect to this resource.
29506        '''
29507        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29508        '''
29509         ID of the proxy cluster for this resource, if any.
29510        '''
29511        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29512        '''
29513         ID of the secret store containing credentials for this resource, if any.
29514        '''
29515        self.subdomain = subdomain if subdomain is not None else ''
29516        '''
29517         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29518        '''
29519        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29520        '''
29521         Tags is a map of key, value pairs.
29522        '''
29523        self.username = username if username is not None else ''
29524        '''
29525         The username to authenticate with.
29526        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
29546    def to_dict(self):
29547        return {
29548            'bind_interface': self.bind_interface,
29549            'egress_filter': self.egress_filter,
29550            'healthy': self.healthy,
29551            'hostname': self.hostname,
29552            'id': self.id,
29553            'name': self.name,
29554            'password': self.password,
29555            'port': self.port,
29556            'port_override': self.port_override,
29557            'proxy_cluster_id': self.proxy_cluster_id,
29558            'secret_store_id': self.secret_store_id,
29559            'subdomain': self.subdomain,
29560            'tags': self.tags,
29561            'username': self.username,
29562        }
@classmethod
def from_dict(cls, d)
29564    @classmethod
29565    def from_dict(cls, d):
29566        return cls(
29567            bind_interface=d.get('bind_interface'),
29568            egress_filter=d.get('egress_filter'),
29569            healthy=d.get('healthy'),
29570            hostname=d.get('hostname'),
29571            id=d.get('id'),
29572            name=d.get('name'),
29573            password=d.get('password'),
29574            port=d.get('port'),
29575            port_override=d.get('port_override'),
29576            proxy_cluster_id=d.get('proxy_cluster_id'),
29577            secret_store_id=d.get('secret_store_id'),
29578            subdomain=d.get('subdomain'),
29579            tags=d.get('tags'),
29580            username=d.get('username'),
29581        )
class Token:
29584class Token:
29585    '''
29586         A Token is an account providing tokenized access for automation or integration use.
29587     Tokens include admin tokens, API keys, and SCIM tokens.
29588    '''
29589    __slots__ = [
29590        'account_type',
29591        'deadline',
29592        'duration',
29593        'id',
29594        'name',
29595        'permissions',
29596        'rekeyed',
29597        'suspended',
29598        'tags',
29599    ]
29600
29601    def __init__(
29602        self,
29603        account_type=None,
29604        deadline=None,
29605        duration=None,
29606        id=None,
29607        name=None,
29608        permissions=None,
29609        rekeyed=None,
29610        suspended=None,
29611        tags=None,
29612    ):
29613        self.account_type = account_type if account_type is not None else ''
29614        '''
29615         Corresponds to the type of token, e.g. api or admin-token.
29616        '''
29617        self.deadline = deadline if deadline is not None else None
29618        '''
29619         The timestamp when the Token will expire.
29620        '''
29621        self.duration = duration if duration is not None else None
29622        '''
29623         Duration from token creation to expiration.
29624        '''
29625        self.id = id if id is not None else ''
29626        '''
29627         Unique identifier of the Token.
29628        '''
29629        self.name = name if name is not None else ''
29630        '''
29631         Unique human-readable name of the Token.
29632        '''
29633        self.permissions = permissions if permissions is not None else []
29634        '''
29635         Permissions assigned to the token, e.g. role:create.
29636        '''
29637        self.rekeyed = rekeyed if rekeyed is not None else None
29638        '''
29639         The timestamp when the Token was last rekeyed.
29640        '''
29641        self.suspended = suspended if suspended is not None else False
29642        '''
29643         Reserved for future use.  Always false for tokens.
29644        '''
29645        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29646        '''
29647         Tags is a map of key, value pairs.
29648        '''
29649
29650    def __repr__(self):
29651        return '<sdm.Token ' + \
29652            'account_type: ' + repr(self.account_type) + ' ' +\
29653            'deadline: ' + repr(self.deadline) + ' ' +\
29654            'duration: ' + repr(self.duration) + ' ' +\
29655            'id: ' + repr(self.id) + ' ' +\
29656            'name: ' + repr(self.name) + ' ' +\
29657            'permissions: ' + repr(self.permissions) + ' ' +\
29658            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29659            'suspended: ' + repr(self.suspended) + ' ' +\
29660            'tags: ' + repr(self.tags) + ' ' +\
29661            '>'
29662
29663    def to_dict(self):
29664        return {
29665            'account_type': self.account_type,
29666            'deadline': self.deadline,
29667            'duration': self.duration,
29668            'id': self.id,
29669            'name': self.name,
29670            'permissions': self.permissions,
29671            'rekeyed': self.rekeyed,
29672            'suspended': self.suspended,
29673            'tags': self.tags,
29674        }
29675
29676    @classmethod
29677    def from_dict(cls, d):
29678        return cls(
29679            account_type=d.get('account_type'),
29680            deadline=d.get('deadline'),
29681            duration=d.get('duration'),
29682            id=d.get('id'),
29683            name=d.get('name'),
29684            permissions=d.get('permissions'),
29685            rekeyed=d.get('rekeyed'),
29686            suspended=d.get('suspended'),
29687            tags=d.get('tags'),
29688        )

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, deadline=None, duration=None, id=None, name=None, permissions=None, rekeyed=None, suspended=None, tags=None)
29601    def __init__(
29602        self,
29603        account_type=None,
29604        deadline=None,
29605        duration=None,
29606        id=None,
29607        name=None,
29608        permissions=None,
29609        rekeyed=None,
29610        suspended=None,
29611        tags=None,
29612    ):
29613        self.account_type = account_type if account_type is not None else ''
29614        '''
29615         Corresponds to the type of token, e.g. api or admin-token.
29616        '''
29617        self.deadline = deadline if deadline is not None else None
29618        '''
29619         The timestamp when the Token will expire.
29620        '''
29621        self.duration = duration if duration is not None else None
29622        '''
29623         Duration from token creation to expiration.
29624        '''
29625        self.id = id if id is not None else ''
29626        '''
29627         Unique identifier of the Token.
29628        '''
29629        self.name = name if name is not None else ''
29630        '''
29631         Unique human-readable name of the Token.
29632        '''
29633        self.permissions = permissions if permissions is not None else []
29634        '''
29635         Permissions assigned to the token, e.g. role:create.
29636        '''
29637        self.rekeyed = rekeyed if rekeyed is not None else None
29638        '''
29639         The timestamp when the Token was last rekeyed.
29640        '''
29641        self.suspended = suspended if suspended is not None else False
29642        '''
29643         Reserved for future use.  Always false for tokens.
29644        '''
29645        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29646        '''
29647         Tags is a map of key, value pairs.
29648        '''
account_type

Corresponds to the type of token, e.g. api or admin-token.

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)
29663    def to_dict(self):
29664        return {
29665            'account_type': self.account_type,
29666            'deadline': self.deadline,
29667            'duration': self.duration,
29668            'id': self.id,
29669            'name': self.name,
29670            'permissions': self.permissions,
29671            'rekeyed': self.rekeyed,
29672            'suspended': self.suspended,
29673            'tags': self.tags,
29674        }
@classmethod
def from_dict(cls, d)
29676    @classmethod
29677    def from_dict(cls, d):
29678        return cls(
29679            account_type=d.get('account_type'),
29680            deadline=d.get('deadline'),
29681            duration=d.get('duration'),
29682            id=d.get('id'),
29683            name=d.get('name'),
29684            permissions=d.get('permissions'),
29685            rekeyed=d.get('rekeyed'),
29686            suspended=d.get('suspended'),
29687            tags=d.get('tags'),
29688        )
class Trino:
29691class Trino:
29692    __slots__ = [
29693        'bind_interface',
29694        'egress_filter',
29695        'healthy',
29696        'hostname',
29697        'id',
29698        'name',
29699        'password',
29700        'port',
29701        'port_override',
29702        'proxy_cluster_id',
29703        'secret_store_id',
29704        'subdomain',
29705        'tags',
29706        'tls_required',
29707        'username',
29708    ]
29709
29710    def __init__(
29711        self,
29712        bind_interface=None,
29713        egress_filter=None,
29714        healthy=None,
29715        hostname=None,
29716        id=None,
29717        name=None,
29718        password=None,
29719        port=None,
29720        port_override=None,
29721        proxy_cluster_id=None,
29722        secret_store_id=None,
29723        subdomain=None,
29724        tags=None,
29725        tls_required=None,
29726        username=None,
29727    ):
29728        self.bind_interface = bind_interface if bind_interface is not None else ''
29729        '''
29730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29731        '''
29732        self.egress_filter = egress_filter if egress_filter is not None else ''
29733        '''
29734         A filter applied to the routing logic to pin datasource to nodes.
29735        '''
29736        self.healthy = healthy if healthy is not None else False
29737        '''
29738         True if the datasource is reachable and the credentials are valid.
29739        '''
29740        self.hostname = hostname if hostname is not None else ''
29741        '''
29742         The host to dial to initiate a connection from the egress node to this resource.
29743        '''
29744        self.id = id if id is not None else ''
29745        '''
29746         Unique identifier of the Resource.
29747        '''
29748        self.name = name if name is not None else ''
29749        '''
29750         Unique human-readable name of the Resource.
29751        '''
29752        self.password = password if password is not None else ''
29753        '''
29754         The password to authenticate with.
29755        '''
29756        self.port = port if port is not None else 0
29757        '''
29758         The port to dial to initiate a connection from the egress node to this resource.
29759        '''
29760        self.port_override = port_override if port_override is not None else 0
29761        '''
29762         The local port used by clients to connect to this resource.
29763        '''
29764        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29765        '''
29766         ID of the proxy cluster for this resource, if any.
29767        '''
29768        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29769        '''
29770         ID of the secret store containing credentials for this resource, if any.
29771        '''
29772        self.subdomain = subdomain if subdomain is not None else ''
29773        '''
29774         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29775        '''
29776        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29777        '''
29778         Tags is a map of key, value pairs.
29779        '''
29780        self.tls_required = tls_required if tls_required is not None else False
29781        '''
29782         If set, TLS must be used to connect to this resource.
29783        '''
29784        self.username = username if username is not None else ''
29785        '''
29786         The username to authenticate with.
29787        '''
29788
29789    def __repr__(self):
29790        return '<sdm.Trino ' + \
29791            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29792            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29793            'healthy: ' + repr(self.healthy) + ' ' +\
29794            'hostname: ' + repr(self.hostname) + ' ' +\
29795            'id: ' + repr(self.id) + ' ' +\
29796            'name: ' + repr(self.name) + ' ' +\
29797            'password: ' + repr(self.password) + ' ' +\
29798            'port: ' + repr(self.port) + ' ' +\
29799            'port_override: ' + repr(self.port_override) + ' ' +\
29800            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29801            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29802            'subdomain: ' + repr(self.subdomain) + ' ' +\
29803            'tags: ' + repr(self.tags) + ' ' +\
29804            'tls_required: ' + repr(self.tls_required) + ' ' +\
29805            'username: ' + repr(self.username) + ' ' +\
29806            '>'
29807
29808    def to_dict(self):
29809        return {
29810            'bind_interface': self.bind_interface,
29811            'egress_filter': self.egress_filter,
29812            'healthy': self.healthy,
29813            'hostname': self.hostname,
29814            'id': self.id,
29815            'name': self.name,
29816            'password': self.password,
29817            'port': self.port,
29818            'port_override': self.port_override,
29819            'proxy_cluster_id': self.proxy_cluster_id,
29820            'secret_store_id': self.secret_store_id,
29821            'subdomain': self.subdomain,
29822            'tags': self.tags,
29823            'tls_required': self.tls_required,
29824            'username': self.username,
29825        }
29826
29827    @classmethod
29828    def from_dict(cls, d):
29829        return cls(
29830            bind_interface=d.get('bind_interface'),
29831            egress_filter=d.get('egress_filter'),
29832            healthy=d.get('healthy'),
29833            hostname=d.get('hostname'),
29834            id=d.get('id'),
29835            name=d.get('name'),
29836            password=d.get('password'),
29837            port=d.get('port'),
29838            port_override=d.get('port_override'),
29839            proxy_cluster_id=d.get('proxy_cluster_id'),
29840            secret_store_id=d.get('secret_store_id'),
29841            subdomain=d.get('subdomain'),
29842            tags=d.get('tags'),
29843            tls_required=d.get('tls_required'),
29844            username=d.get('username'),
29845        )
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)
29710    def __init__(
29711        self,
29712        bind_interface=None,
29713        egress_filter=None,
29714        healthy=None,
29715        hostname=None,
29716        id=None,
29717        name=None,
29718        password=None,
29719        port=None,
29720        port_override=None,
29721        proxy_cluster_id=None,
29722        secret_store_id=None,
29723        subdomain=None,
29724        tags=None,
29725        tls_required=None,
29726        username=None,
29727    ):
29728        self.bind_interface = bind_interface if bind_interface is not None else ''
29729        '''
29730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29731        '''
29732        self.egress_filter = egress_filter if egress_filter is not None else ''
29733        '''
29734         A filter applied to the routing logic to pin datasource to nodes.
29735        '''
29736        self.healthy = healthy if healthy is not None else False
29737        '''
29738         True if the datasource is reachable and the credentials are valid.
29739        '''
29740        self.hostname = hostname if hostname is not None else ''
29741        '''
29742         The host to dial to initiate a connection from the egress node to this resource.
29743        '''
29744        self.id = id if id is not None else ''
29745        '''
29746         Unique identifier of the Resource.
29747        '''
29748        self.name = name if name is not None else ''
29749        '''
29750         Unique human-readable name of the Resource.
29751        '''
29752        self.password = password if password is not None else ''
29753        '''
29754         The password to authenticate with.
29755        '''
29756        self.port = port if port is not None else 0
29757        '''
29758         The port to dial to initiate a connection from the egress node to this resource.
29759        '''
29760        self.port_override = port_override if port_override is not None else 0
29761        '''
29762         The local port used by clients to connect to this resource.
29763        '''
29764        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29765        '''
29766         ID of the proxy cluster for this resource, if any.
29767        '''
29768        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29769        '''
29770         ID of the secret store containing credentials for this resource, if any.
29771        '''
29772        self.subdomain = subdomain if subdomain is not None else ''
29773        '''
29774         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29775        '''
29776        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29777        '''
29778         Tags is a map of key, value pairs.
29779        '''
29780        self.tls_required = tls_required if tls_required is not None else False
29781        '''
29782         If set, TLS must be used to connect to this resource.
29783        '''
29784        self.username = username if username is not None else ''
29785        '''
29786         The username to authenticate with.
29787        '''
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.

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.

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

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

username

The username to authenticate with.

def to_dict(self)
29808    def to_dict(self):
29809        return {
29810            'bind_interface': self.bind_interface,
29811            'egress_filter': self.egress_filter,
29812            'healthy': self.healthy,
29813            'hostname': self.hostname,
29814            'id': self.id,
29815            'name': self.name,
29816            'password': self.password,
29817            'port': self.port,
29818            'port_override': self.port_override,
29819            'proxy_cluster_id': self.proxy_cluster_id,
29820            'secret_store_id': self.secret_store_id,
29821            'subdomain': self.subdomain,
29822            'tags': self.tags,
29823            'tls_required': self.tls_required,
29824            'username': self.username,
29825        }
@classmethod
def from_dict(cls, d)
29827    @classmethod
29828    def from_dict(cls, d):
29829        return cls(
29830            bind_interface=d.get('bind_interface'),
29831            egress_filter=d.get('egress_filter'),
29832            healthy=d.get('healthy'),
29833            hostname=d.get('hostname'),
29834            id=d.get('id'),
29835            name=d.get('name'),
29836            password=d.get('password'),
29837            port=d.get('port'),
29838            port_override=d.get('port_override'),
29839            proxy_cluster_id=d.get('proxy_cluster_id'),
29840            secret_store_id=d.get('secret_store_id'),
29841            subdomain=d.get('subdomain'),
29842            tags=d.get('tags'),
29843            tls_required=d.get('tls_required'),
29844            username=d.get('username'),
29845        )
class UpdateResponseMetadata:
29848class UpdateResponseMetadata:
29849    '''
29850         UpdateResponseMetadata is reserved for future use.
29851    '''
29852    __slots__ = []
29853
29854    def __init__(self, ):
29855        pass
29856
29857    def __repr__(self):
29858        return '<sdm.UpdateResponseMetadata ' + \
29859            '>'
29860
29861    def to_dict(self):
29862        return {}
29863
29864    @classmethod
29865    def from_dict(cls, d):
29866        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
29854    def __init__(self, ):
29855        pass
def to_dict(self)
29861    def to_dict(self):
29862        return {}
@classmethod
def from_dict(cls, d)
29864    @classmethod
29865    def from_dict(cls, d):
29866        return cls()
class User:
29869class User:
29870    '''
29871         A User can connect to resources they are granted directly, or granted
29872     via roles.
29873    '''
29874    __slots__ = [
29875        'scim',
29876        'email',
29877        'external_id',
29878        'first_name',
29879        'id',
29880        'last_name',
29881        'managed_by',
29882        'manager_id',
29883        'password',
29884        'permission_level',
29885        'resolved_manager_id',
29886        'suspended',
29887        'tags',
29888    ]
29889
29890    def __init__(
29891        self,
29892        scim=None,
29893        email=None,
29894        external_id=None,
29895        first_name=None,
29896        id=None,
29897        last_name=None,
29898        managed_by=None,
29899        manager_id=None,
29900        password=None,
29901        permission_level=None,
29902        resolved_manager_id=None,
29903        suspended=None,
29904        tags=None,
29905    ):
29906        self.scim = scim if scim is not None else ''
29907        '''
29908         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29909        '''
29910        self.email = email if email is not None else ''
29911        '''
29912         The User's email address. Must be unique.
29913        '''
29914        self.external_id = external_id if external_id is not None else ''
29915        '''
29916         External ID is an alternative unique ID this user is represented by within an external service.
29917        '''
29918        self.first_name = first_name if first_name is not None else ''
29919        '''
29920         The User's first name.
29921        '''
29922        self.id = id if id is not None else ''
29923        '''
29924         Unique identifier of the User.
29925        '''
29926        self.last_name = last_name if last_name is not None else ''
29927        '''
29928         The User's last name.
29929        '''
29930        self.managed_by = managed_by if managed_by is not None else ''
29931        '''
29932         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29933        '''
29934        self.manager_id = manager_id if manager_id is not None else ''
29935        '''
29936         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29937        '''
29938        self.password = password if password is not None else ''
29939        '''
29940         Password is a write-only field that can be used to set the user's password.
29941         Currently only supported for update.
29942        '''
29943        self.permission_level = permission_level if permission_level is not None else ''
29944        '''
29945         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29946        '''
29947        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29948        '''
29949         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29950         if present, or from the SCIM metadata.
29951         This is a read-only field that's only populated for get and list.
29952        '''
29953        self.suspended = suspended if suspended is not None else False
29954        '''
29955         Suspended is a read only field for the User's suspended state.
29956        '''
29957        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29958        '''
29959         Tags is a map of key, value pairs.
29960        '''
29961
29962    def __repr__(self):
29963        return '<sdm.User ' + \
29964            'scim: ' + repr(self.scim) + ' ' +\
29965            'email: ' + repr(self.email) + ' ' +\
29966            'external_id: ' + repr(self.external_id) + ' ' +\
29967            'first_name: ' + repr(self.first_name) + ' ' +\
29968            'id: ' + repr(self.id) + ' ' +\
29969            'last_name: ' + repr(self.last_name) + ' ' +\
29970            'managed_by: ' + repr(self.managed_by) + ' ' +\
29971            'manager_id: ' + repr(self.manager_id) + ' ' +\
29972            'password: ' + repr(self.password) + ' ' +\
29973            'permission_level: ' + repr(self.permission_level) + ' ' +\
29974            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29975            'suspended: ' + repr(self.suspended) + ' ' +\
29976            'tags: ' + repr(self.tags) + ' ' +\
29977            '>'
29978
29979    def to_dict(self):
29980        return {
29981            'scim': self.scim,
29982            'email': self.email,
29983            'external_id': self.external_id,
29984            'first_name': self.first_name,
29985            'id': self.id,
29986            'last_name': self.last_name,
29987            'managed_by': self.managed_by,
29988            'manager_id': self.manager_id,
29989            'password': self.password,
29990            'permission_level': self.permission_level,
29991            'resolved_manager_id': self.resolved_manager_id,
29992            'suspended': self.suspended,
29993            'tags': self.tags,
29994        }
29995
29996    @classmethod
29997    def from_dict(cls, d):
29998        return cls(
29999            scim=d.get('scim'),
30000            email=d.get('email'),
30001            external_id=d.get('external_id'),
30002            first_name=d.get('first_name'),
30003            id=d.get('id'),
30004            last_name=d.get('last_name'),
30005            managed_by=d.get('managed_by'),
30006            manager_id=d.get('manager_id'),
30007            password=d.get('password'),
30008            permission_level=d.get('permission_level'),
30009            resolved_manager_id=d.get('resolved_manager_id'),
30010            suspended=d.get('suspended'),
30011            tags=d.get('tags'),
30012        )

A User can connect to resources they are granted directly, or granted via roles.

User( scim=None, email=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)
29890    def __init__(
29891        self,
29892        scim=None,
29893        email=None,
29894        external_id=None,
29895        first_name=None,
29896        id=None,
29897        last_name=None,
29898        managed_by=None,
29899        manager_id=None,
29900        password=None,
29901        permission_level=None,
29902        resolved_manager_id=None,
29903        suspended=None,
29904        tags=None,
29905    ):
29906        self.scim = scim if scim is not None else ''
29907        '''
29908         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29909        '''
29910        self.email = email if email is not None else ''
29911        '''
29912         The User's email address. Must be unique.
29913        '''
29914        self.external_id = external_id if external_id is not None else ''
29915        '''
29916         External ID is an alternative unique ID this user is represented by within an external service.
29917        '''
29918        self.first_name = first_name if first_name is not None else ''
29919        '''
29920         The User's first name.
29921        '''
29922        self.id = id if id is not None else ''
29923        '''
29924         Unique identifier of the User.
29925        '''
29926        self.last_name = last_name if last_name is not None else ''
29927        '''
29928         The User's last name.
29929        '''
29930        self.managed_by = managed_by if managed_by is not None else ''
29931        '''
29932         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29933        '''
29934        self.manager_id = manager_id if manager_id is not None else ''
29935        '''
29936         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29937        '''
29938        self.password = password if password is not None else ''
29939        '''
29940         Password is a write-only field that can be used to set the user's password.
29941         Currently only supported for update.
29942        '''
29943        self.permission_level = permission_level if permission_level is not None else ''
29944        '''
29945         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29946        '''
29947        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29948        '''
29949         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29950         if present, or from the SCIM metadata.
29951         This is a read-only field that's only populated for get and list.
29952        '''
29953        self.suspended = suspended if suspended is not None else False
29954        '''
29955         Suspended is a read only field for the User's suspended state.
29956        '''
29957        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29958        '''
29959         Tags is a map of key, value pairs.
29960        '''
scim

SCIM contains the raw SCIM metadata for the user. This is a read-only field.

email

The User's email address. Must be unique.

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)
29979    def to_dict(self):
29980        return {
29981            'scim': self.scim,
29982            'email': self.email,
29983            'external_id': self.external_id,
29984            'first_name': self.first_name,
29985            'id': self.id,
29986            'last_name': self.last_name,
29987            'managed_by': self.managed_by,
29988            'manager_id': self.manager_id,
29989            'password': self.password,
29990            'permission_level': self.permission_level,
29991            'resolved_manager_id': self.resolved_manager_id,
29992            'suspended': self.suspended,
29993            'tags': self.tags,
29994        }
@classmethod
def from_dict(cls, d)
29996    @classmethod
29997    def from_dict(cls, d):
29998        return cls(
29999            scim=d.get('scim'),
30000            email=d.get('email'),
30001            external_id=d.get('external_id'),
30002            first_name=d.get('first_name'),
30003            id=d.get('id'),
30004            last_name=d.get('last_name'),
30005            managed_by=d.get('managed_by'),
30006            manager_id=d.get('manager_id'),
30007            password=d.get('password'),
30008            permission_level=d.get('permission_level'),
30009            resolved_manager_id=d.get('resolved_manager_id'),
30010            suspended=d.get('suspended'),
30011            tags=d.get('tags'),
30012        )
class VaultAWSEC2Store:
30015class VaultAWSEC2Store:
30016    __slots__ = [
30017        'id',
30018        'name',
30019        'namespace',
30020        'server_address',
30021        'tags',
30022    ]
30023
30024    def __init__(
30025        self,
30026        id=None,
30027        name=None,
30028        namespace=None,
30029        server_address=None,
30030        tags=None,
30031    ):
30032        self.id = id if id is not None else ''
30033        '''
30034         Unique identifier of the SecretStore.
30035        '''
30036        self.name = name if name is not None else ''
30037        '''
30038         Unique human-readable name of the SecretStore.
30039        '''
30040        self.namespace = namespace if namespace is not None else ''
30041        '''
30042         The namespace to make requests within
30043        '''
30044        self.server_address = server_address if server_address is not None else ''
30045        '''
30046         The URL of the Vault to target
30047        '''
30048        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30049        '''
30050         Tags is a map of key, value pairs.
30051        '''
30052
30053    def __repr__(self):
30054        return '<sdm.VaultAWSEC2Store ' + \
30055            'id: ' + repr(self.id) + ' ' +\
30056            'name: ' + repr(self.name) + ' ' +\
30057            'namespace: ' + repr(self.namespace) + ' ' +\
30058            'server_address: ' + repr(self.server_address) + ' ' +\
30059            'tags: ' + repr(self.tags) + ' ' +\
30060            '>'
30061
30062    def to_dict(self):
30063        return {
30064            'id': self.id,
30065            'name': self.name,
30066            'namespace': self.namespace,
30067            'server_address': self.server_address,
30068            'tags': self.tags,
30069        }
30070
30071    @classmethod
30072    def from_dict(cls, d):
30073        return cls(
30074            id=d.get('id'),
30075            name=d.get('name'),
30076            namespace=d.get('namespace'),
30077            server_address=d.get('server_address'),
30078            tags=d.get('tags'),
30079        )
VaultAWSEC2Store(id=None, name=None, namespace=None, server_address=None, tags=None)
30024    def __init__(
30025        self,
30026        id=None,
30027        name=None,
30028        namespace=None,
30029        server_address=None,
30030        tags=None,
30031    ):
30032        self.id = id if id is not None else ''
30033        '''
30034         Unique identifier of the SecretStore.
30035        '''
30036        self.name = name if name is not None else ''
30037        '''
30038         Unique human-readable name of the SecretStore.
30039        '''
30040        self.namespace = namespace if namespace is not None else ''
30041        '''
30042         The namespace to make requests within
30043        '''
30044        self.server_address = server_address if server_address is not None else ''
30045        '''
30046         The URL of the Vault to target
30047        '''
30048        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30049        '''
30050         Tags is a map of key, value pairs.
30051        '''
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)
30062    def to_dict(self):
30063        return {
30064            'id': self.id,
30065            'name': self.name,
30066            'namespace': self.namespace,
30067            'server_address': self.server_address,
30068            'tags': self.tags,
30069        }
@classmethod
def from_dict(cls, d)
30071    @classmethod
30072    def from_dict(cls, d):
30073        return cls(
30074            id=d.get('id'),
30075            name=d.get('name'),
30076            namespace=d.get('namespace'),
30077            server_address=d.get('server_address'),
30078            tags=d.get('tags'),
30079        )
class VaultAWSIAMStore:
30082class VaultAWSIAMStore:
30083    __slots__ = [
30084        'id',
30085        'name',
30086        'namespace',
30087        'server_address',
30088        'tags',
30089    ]
30090
30091    def __init__(
30092        self,
30093        id=None,
30094        name=None,
30095        namespace=None,
30096        server_address=None,
30097        tags=None,
30098    ):
30099        self.id = id if id is not None else ''
30100        '''
30101         Unique identifier of the SecretStore.
30102        '''
30103        self.name = name if name is not None else ''
30104        '''
30105         Unique human-readable name of the SecretStore.
30106        '''
30107        self.namespace = namespace if namespace is not None else ''
30108        '''
30109         The namespace to make requests within
30110        '''
30111        self.server_address = server_address if server_address is not None else ''
30112        '''
30113         The URL of the Vault to target
30114        '''
30115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30116        '''
30117         Tags is a map of key, value pairs.
30118        '''
30119
30120    def __repr__(self):
30121        return '<sdm.VaultAWSIAMStore ' + \
30122            'id: ' + repr(self.id) + ' ' +\
30123            'name: ' + repr(self.name) + ' ' +\
30124            'namespace: ' + repr(self.namespace) + ' ' +\
30125            'server_address: ' + repr(self.server_address) + ' ' +\
30126            'tags: ' + repr(self.tags) + ' ' +\
30127            '>'
30128
30129    def to_dict(self):
30130        return {
30131            'id': self.id,
30132            'name': self.name,
30133            'namespace': self.namespace,
30134            'server_address': self.server_address,
30135            'tags': self.tags,
30136        }
30137
30138    @classmethod
30139    def from_dict(cls, d):
30140        return cls(
30141            id=d.get('id'),
30142            name=d.get('name'),
30143            namespace=d.get('namespace'),
30144            server_address=d.get('server_address'),
30145            tags=d.get('tags'),
30146        )
VaultAWSIAMStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30091    def __init__(
30092        self,
30093        id=None,
30094        name=None,
30095        namespace=None,
30096        server_address=None,
30097        tags=None,
30098    ):
30099        self.id = id if id is not None else ''
30100        '''
30101         Unique identifier of the SecretStore.
30102        '''
30103        self.name = name if name is not None else ''
30104        '''
30105         Unique human-readable name of the SecretStore.
30106        '''
30107        self.namespace = namespace if namespace is not None else ''
30108        '''
30109         The namespace to make requests within
30110        '''
30111        self.server_address = server_address if server_address is not None else ''
30112        '''
30113         The URL of the Vault to target
30114        '''
30115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30116        '''
30117         Tags is a map of key, value pairs.
30118        '''
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)
30129    def to_dict(self):
30130        return {
30131            'id': self.id,
30132            'name': self.name,
30133            'namespace': self.namespace,
30134            'server_address': self.server_address,
30135            'tags': self.tags,
30136        }
@classmethod
def from_dict(cls, d)
30138    @classmethod
30139    def from_dict(cls, d):
30140        return cls(
30141            id=d.get('id'),
30142            name=d.get('name'),
30143            namespace=d.get('namespace'),
30144            server_address=d.get('server_address'),
30145            tags=d.get('tags'),
30146        )
class VaultAppRoleCertSSHStore:
30149class VaultAppRoleCertSSHStore:
30150    __slots__ = [
30151        'id',
30152        'issuedcertttlminutes',
30153        'name',
30154        'namespace',
30155        'server_address',
30156        'signing_role',
30157        'ssh_mount_point',
30158        'tags',
30159    ]
30160
30161    def __init__(
30162        self,
30163        id=None,
30164        issuedcertttlminutes=None,
30165        name=None,
30166        namespace=None,
30167        server_address=None,
30168        signing_role=None,
30169        ssh_mount_point=None,
30170        tags=None,
30171    ):
30172        self.id = id if id is not None else ''
30173        '''
30174         Unique identifier of the SecretStore.
30175        '''
30176        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30177        '''
30178         The lifetime of certificates issued by this CA represented in minutes.
30179        '''
30180        self.name = name if name is not None else ''
30181        '''
30182         Unique human-readable name of the SecretStore.
30183        '''
30184        self.namespace = namespace if namespace is not None else ''
30185        '''
30186         The namespace to make requests within
30187        '''
30188        self.server_address = server_address if server_address is not None else ''
30189        '''
30190         The URL of the Vault to target
30191        '''
30192        self.signing_role = signing_role if signing_role is not None else ''
30193        '''
30194         The signing role to be used for signing certificates
30195        '''
30196        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30197        '''
30198         The mount point of the SSH engine configured with the desired CA
30199        '''
30200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30201        '''
30202         Tags is a map of key, value pairs.
30203        '''
30204
30205    def __repr__(self):
30206        return '<sdm.VaultAppRoleCertSSHStore ' + \
30207            'id: ' + repr(self.id) + ' ' +\
30208            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30209            'name: ' + repr(self.name) + ' ' +\
30210            'namespace: ' + repr(self.namespace) + ' ' +\
30211            'server_address: ' + repr(self.server_address) + ' ' +\
30212            'signing_role: ' + repr(self.signing_role) + ' ' +\
30213            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30214            'tags: ' + repr(self.tags) + ' ' +\
30215            '>'
30216
30217    def to_dict(self):
30218        return {
30219            'id': self.id,
30220            'issuedcertttlminutes': self.issuedcertttlminutes,
30221            'name': self.name,
30222            'namespace': self.namespace,
30223            'server_address': self.server_address,
30224            'signing_role': self.signing_role,
30225            'ssh_mount_point': self.ssh_mount_point,
30226            'tags': self.tags,
30227        }
30228
30229    @classmethod
30230    def from_dict(cls, d):
30231        return cls(
30232            id=d.get('id'),
30233            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30234            name=d.get('name'),
30235            namespace=d.get('namespace'),
30236            server_address=d.get('server_address'),
30237            signing_role=d.get('signing_role'),
30238            ssh_mount_point=d.get('ssh_mount_point'),
30239            tags=d.get('tags'),
30240        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
30161    def __init__(
30162        self,
30163        id=None,
30164        issuedcertttlminutes=None,
30165        name=None,
30166        namespace=None,
30167        server_address=None,
30168        signing_role=None,
30169        ssh_mount_point=None,
30170        tags=None,
30171    ):
30172        self.id = id if id is not None else ''
30173        '''
30174         Unique identifier of the SecretStore.
30175        '''
30176        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30177        '''
30178         The lifetime of certificates issued by this CA represented in minutes.
30179        '''
30180        self.name = name if name is not None else ''
30181        '''
30182         Unique human-readable name of the SecretStore.
30183        '''
30184        self.namespace = namespace if namespace is not None else ''
30185        '''
30186         The namespace to make requests within
30187        '''
30188        self.server_address = server_address if server_address is not None else ''
30189        '''
30190         The URL of the Vault to target
30191        '''
30192        self.signing_role = signing_role if signing_role is not None else ''
30193        '''
30194         The signing role to be used for signing certificates
30195        '''
30196        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30197        '''
30198         The mount point of the SSH engine configured with the desired CA
30199        '''
30200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30201        '''
30202         Tags is a map of key, value pairs.
30203        '''
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)
30217    def to_dict(self):
30218        return {
30219            'id': self.id,
30220            'issuedcertttlminutes': self.issuedcertttlminutes,
30221            'name': self.name,
30222            'namespace': self.namespace,
30223            'server_address': self.server_address,
30224            'signing_role': self.signing_role,
30225            'ssh_mount_point': self.ssh_mount_point,
30226            'tags': self.tags,
30227        }
@classmethod
def from_dict(cls, d)
30229    @classmethod
30230    def from_dict(cls, d):
30231        return cls(
30232            id=d.get('id'),
30233            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30234            name=d.get('name'),
30235            namespace=d.get('namespace'),
30236            server_address=d.get('server_address'),
30237            signing_role=d.get('signing_role'),
30238            ssh_mount_point=d.get('ssh_mount_point'),
30239            tags=d.get('tags'),
30240        )
class VaultAppRoleCertX509Store:
30243class VaultAppRoleCertX509Store:
30244    __slots__ = [
30245        'id',
30246        'issuedcertttlminutes',
30247        'name',
30248        'namespace',
30249        'pki_mount_point',
30250        'server_address',
30251        'signing_role',
30252        'tags',
30253    ]
30254
30255    def __init__(
30256        self,
30257        id=None,
30258        issuedcertttlminutes=None,
30259        name=None,
30260        namespace=None,
30261        pki_mount_point=None,
30262        server_address=None,
30263        signing_role=None,
30264        tags=None,
30265    ):
30266        self.id = id if id is not None else ''
30267        '''
30268         Unique identifier of the SecretStore.
30269        '''
30270        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30271        '''
30272         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30273        '''
30274        self.name = name if name is not None else ''
30275        '''
30276         Unique human-readable name of the SecretStore.
30277        '''
30278        self.namespace = namespace if namespace is not None else ''
30279        '''
30280         The namespace to make requests within
30281        '''
30282        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30283        '''
30284         The mount point of the PKI engine configured with the desired CA
30285        '''
30286        self.server_address = server_address if server_address is not None else ''
30287        '''
30288         The URL of the Vault to target
30289        '''
30290        self.signing_role = signing_role if signing_role is not None else ''
30291        '''
30292         The signing role to be used for signing certificates
30293        '''
30294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30295        '''
30296         Tags is a map of key, value pairs.
30297        '''
30298
30299    def __repr__(self):
30300        return '<sdm.VaultAppRoleCertX509Store ' + \
30301            'id: ' + repr(self.id) + ' ' +\
30302            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30303            'name: ' + repr(self.name) + ' ' +\
30304            'namespace: ' + repr(self.namespace) + ' ' +\
30305            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30306            'server_address: ' + repr(self.server_address) + ' ' +\
30307            'signing_role: ' + repr(self.signing_role) + ' ' +\
30308            'tags: ' + repr(self.tags) + ' ' +\
30309            '>'
30310
30311    def to_dict(self):
30312        return {
30313            'id': self.id,
30314            'issuedcertttlminutes': self.issuedcertttlminutes,
30315            'name': self.name,
30316            'namespace': self.namespace,
30317            'pki_mount_point': self.pki_mount_point,
30318            'server_address': self.server_address,
30319            'signing_role': self.signing_role,
30320            'tags': self.tags,
30321        }
30322
30323    @classmethod
30324    def from_dict(cls, d):
30325        return cls(
30326            id=d.get('id'),
30327            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30328            name=d.get('name'),
30329            namespace=d.get('namespace'),
30330            pki_mount_point=d.get('pki_mount_point'),
30331            server_address=d.get('server_address'),
30332            signing_role=d.get('signing_role'),
30333            tags=d.get('tags'),
30334        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
30255    def __init__(
30256        self,
30257        id=None,
30258        issuedcertttlminutes=None,
30259        name=None,
30260        namespace=None,
30261        pki_mount_point=None,
30262        server_address=None,
30263        signing_role=None,
30264        tags=None,
30265    ):
30266        self.id = id if id is not None else ''
30267        '''
30268         Unique identifier of the SecretStore.
30269        '''
30270        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30271        '''
30272         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30273        '''
30274        self.name = name if name is not None else ''
30275        '''
30276         Unique human-readable name of the SecretStore.
30277        '''
30278        self.namespace = namespace if namespace is not None else ''
30279        '''
30280         The namespace to make requests within
30281        '''
30282        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30283        '''
30284         The mount point of the PKI engine configured with the desired CA
30285        '''
30286        self.server_address = server_address if server_address is not None else ''
30287        '''
30288         The URL of the Vault to target
30289        '''
30290        self.signing_role = signing_role if signing_role is not None else ''
30291        '''
30292         The signing role to be used for signing certificates
30293        '''
30294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30295        '''
30296         Tags is a map of key, value pairs.
30297        '''
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)
30311    def to_dict(self):
30312        return {
30313            'id': self.id,
30314            'issuedcertttlminutes': self.issuedcertttlminutes,
30315            'name': self.name,
30316            'namespace': self.namespace,
30317            'pki_mount_point': self.pki_mount_point,
30318            'server_address': self.server_address,
30319            'signing_role': self.signing_role,
30320            'tags': self.tags,
30321        }
@classmethod
def from_dict(cls, d)
30323    @classmethod
30324    def from_dict(cls, d):
30325        return cls(
30326            id=d.get('id'),
30327            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30328            name=d.get('name'),
30329            namespace=d.get('namespace'),
30330            pki_mount_point=d.get('pki_mount_point'),
30331            server_address=d.get('server_address'),
30332            signing_role=d.get('signing_role'),
30333            tags=d.get('tags'),
30334        )
class VaultAppRoleStore:
30337class VaultAppRoleStore:
30338    __slots__ = [
30339        'id',
30340        'name',
30341        'namespace',
30342        'server_address',
30343        'tags',
30344    ]
30345
30346    def __init__(
30347        self,
30348        id=None,
30349        name=None,
30350        namespace=None,
30351        server_address=None,
30352        tags=None,
30353    ):
30354        self.id = id if id is not None else ''
30355        '''
30356         Unique identifier of the SecretStore.
30357        '''
30358        self.name = name if name is not None else ''
30359        '''
30360         Unique human-readable name of the SecretStore.
30361        '''
30362        self.namespace = namespace if namespace is not None else ''
30363        '''
30364         The namespace to make requests within
30365        '''
30366        self.server_address = server_address if server_address is not None else ''
30367        '''
30368         The URL of the Vault to target
30369        '''
30370        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30371        '''
30372         Tags is a map of key, value pairs.
30373        '''
30374
30375    def __repr__(self):
30376        return '<sdm.VaultAppRoleStore ' + \
30377            'id: ' + repr(self.id) + ' ' +\
30378            'name: ' + repr(self.name) + ' ' +\
30379            'namespace: ' + repr(self.namespace) + ' ' +\
30380            'server_address: ' + repr(self.server_address) + ' ' +\
30381            'tags: ' + repr(self.tags) + ' ' +\
30382            '>'
30383
30384    def to_dict(self):
30385        return {
30386            'id': self.id,
30387            'name': self.name,
30388            'namespace': self.namespace,
30389            'server_address': self.server_address,
30390            'tags': self.tags,
30391        }
30392
30393    @classmethod
30394    def from_dict(cls, d):
30395        return cls(
30396            id=d.get('id'),
30397            name=d.get('name'),
30398            namespace=d.get('namespace'),
30399            server_address=d.get('server_address'),
30400            tags=d.get('tags'),
30401        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30346    def __init__(
30347        self,
30348        id=None,
30349        name=None,
30350        namespace=None,
30351        server_address=None,
30352        tags=None,
30353    ):
30354        self.id = id if id is not None else ''
30355        '''
30356         Unique identifier of the SecretStore.
30357        '''
30358        self.name = name if name is not None else ''
30359        '''
30360         Unique human-readable name of the SecretStore.
30361        '''
30362        self.namespace = namespace if namespace is not None else ''
30363        '''
30364         The namespace to make requests within
30365        '''
30366        self.server_address = server_address if server_address is not None else ''
30367        '''
30368         The URL of the Vault to target
30369        '''
30370        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30371        '''
30372         Tags is a map of key, value pairs.
30373        '''
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)
30384    def to_dict(self):
30385        return {
30386            'id': self.id,
30387            'name': self.name,
30388            'namespace': self.namespace,
30389            'server_address': self.server_address,
30390            'tags': self.tags,
30391        }
@classmethod
def from_dict(cls, d)
30393    @classmethod
30394    def from_dict(cls, d):
30395        return cls(
30396            id=d.get('id'),
30397            name=d.get('name'),
30398            namespace=d.get('namespace'),
30399            server_address=d.get('server_address'),
30400            tags=d.get('tags'),
30401        )
class VaultTLSCertSSHStore:
30404class VaultTLSCertSSHStore:
30405    __slots__ = [
30406        'ca_cert_path',
30407        'client_cert_path',
30408        'client_key_path',
30409        'id',
30410        'issuedcertttlminutes',
30411        'name',
30412        'namespace',
30413        'server_address',
30414        'signing_role',
30415        'ssh_mount_point',
30416        'tags',
30417    ]
30418
30419    def __init__(
30420        self,
30421        ca_cert_path=None,
30422        client_cert_path=None,
30423        client_key_path=None,
30424        id=None,
30425        issuedcertttlminutes=None,
30426        name=None,
30427        namespace=None,
30428        server_address=None,
30429        signing_role=None,
30430        ssh_mount_point=None,
30431        tags=None,
30432    ):
30433        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30434        '''
30435         A path to a CA file accessible by a Node
30436        '''
30437        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30438        '''
30439         A path to a client certificate file accessible by a Node
30440        '''
30441        self.client_key_path = client_key_path if client_key_path is not None else ''
30442        '''
30443         A path to a client key file accessible by a Node
30444        '''
30445        self.id = id if id is not None else ''
30446        '''
30447         Unique identifier of the SecretStore.
30448        '''
30449        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30450        '''
30451         The lifetime of certificates issued by this CA represented in minutes.
30452        '''
30453        self.name = name if name is not None else ''
30454        '''
30455         Unique human-readable name of the SecretStore.
30456        '''
30457        self.namespace = namespace if namespace is not None else ''
30458        '''
30459         The namespace to make requests within
30460        '''
30461        self.server_address = server_address if server_address is not None else ''
30462        '''
30463         The URL of the Vault to target
30464        '''
30465        self.signing_role = signing_role if signing_role is not None else ''
30466        '''
30467         The signing role to be used for signing certificates
30468        '''
30469        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30470        '''
30471         The mount point of the SSH engine configured with the desired CA
30472        '''
30473        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30474        '''
30475         Tags is a map of key, value pairs.
30476        '''
30477
30478    def __repr__(self):
30479        return '<sdm.VaultTLSCertSSHStore ' + \
30480            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30481            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30482            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30483            'id: ' + repr(self.id) + ' ' +\
30484            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30485            'name: ' + repr(self.name) + ' ' +\
30486            'namespace: ' + repr(self.namespace) + ' ' +\
30487            'server_address: ' + repr(self.server_address) + ' ' +\
30488            'signing_role: ' + repr(self.signing_role) + ' ' +\
30489            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30490            'tags: ' + repr(self.tags) + ' ' +\
30491            '>'
30492
30493    def to_dict(self):
30494        return {
30495            'ca_cert_path': self.ca_cert_path,
30496            'client_cert_path': self.client_cert_path,
30497            'client_key_path': self.client_key_path,
30498            'id': self.id,
30499            'issuedcertttlminutes': self.issuedcertttlminutes,
30500            'name': self.name,
30501            'namespace': self.namespace,
30502            'server_address': self.server_address,
30503            'signing_role': self.signing_role,
30504            'ssh_mount_point': self.ssh_mount_point,
30505            'tags': self.tags,
30506        }
30507
30508    @classmethod
30509    def from_dict(cls, d):
30510        return cls(
30511            ca_cert_path=d.get('ca_cert_path'),
30512            client_cert_path=d.get('client_cert_path'),
30513            client_key_path=d.get('client_key_path'),
30514            id=d.get('id'),
30515            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30516            name=d.get('name'),
30517            namespace=d.get('namespace'),
30518            server_address=d.get('server_address'),
30519            signing_role=d.get('signing_role'),
30520            ssh_mount_point=d.get('ssh_mount_point'),
30521            tags=d.get('tags'),
30522        )
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)
30419    def __init__(
30420        self,
30421        ca_cert_path=None,
30422        client_cert_path=None,
30423        client_key_path=None,
30424        id=None,
30425        issuedcertttlminutes=None,
30426        name=None,
30427        namespace=None,
30428        server_address=None,
30429        signing_role=None,
30430        ssh_mount_point=None,
30431        tags=None,
30432    ):
30433        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30434        '''
30435         A path to a CA file accessible by a Node
30436        '''
30437        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30438        '''
30439         A path to a client certificate file accessible by a Node
30440        '''
30441        self.client_key_path = client_key_path if client_key_path is not None else ''
30442        '''
30443         A path to a client key file accessible by a Node
30444        '''
30445        self.id = id if id is not None else ''
30446        '''
30447         Unique identifier of the SecretStore.
30448        '''
30449        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30450        '''
30451         The lifetime of certificates issued by this CA represented in minutes.
30452        '''
30453        self.name = name if name is not None else ''
30454        '''
30455         Unique human-readable name of the SecretStore.
30456        '''
30457        self.namespace = namespace if namespace is not None else ''
30458        '''
30459         The namespace to make requests within
30460        '''
30461        self.server_address = server_address if server_address is not None else ''
30462        '''
30463         The URL of the Vault to target
30464        '''
30465        self.signing_role = signing_role if signing_role is not None else ''
30466        '''
30467         The signing role to be used for signing certificates
30468        '''
30469        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30470        '''
30471         The mount point of the SSH engine configured with the desired CA
30472        '''
30473        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30474        '''
30475         Tags is a map of key, value pairs.
30476        '''
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)
30493    def to_dict(self):
30494        return {
30495            'ca_cert_path': self.ca_cert_path,
30496            'client_cert_path': self.client_cert_path,
30497            'client_key_path': self.client_key_path,
30498            'id': self.id,
30499            'issuedcertttlminutes': self.issuedcertttlminutes,
30500            'name': self.name,
30501            'namespace': self.namespace,
30502            'server_address': self.server_address,
30503            'signing_role': self.signing_role,
30504            'ssh_mount_point': self.ssh_mount_point,
30505            'tags': self.tags,
30506        }
@classmethod
def from_dict(cls, d)
30508    @classmethod
30509    def from_dict(cls, d):
30510        return cls(
30511            ca_cert_path=d.get('ca_cert_path'),
30512            client_cert_path=d.get('client_cert_path'),
30513            client_key_path=d.get('client_key_path'),
30514            id=d.get('id'),
30515            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30516            name=d.get('name'),
30517            namespace=d.get('namespace'),
30518            server_address=d.get('server_address'),
30519            signing_role=d.get('signing_role'),
30520            ssh_mount_point=d.get('ssh_mount_point'),
30521            tags=d.get('tags'),
30522        )
class VaultTLSCertX509Store:
30525class VaultTLSCertX509Store:
30526    __slots__ = [
30527        'ca_cert_path',
30528        'client_cert_path',
30529        'client_key_path',
30530        'id',
30531        'issuedcertttlminutes',
30532        'name',
30533        'namespace',
30534        'pki_mount_point',
30535        'server_address',
30536        'signing_role',
30537        'tags',
30538    ]
30539
30540    def __init__(
30541        self,
30542        ca_cert_path=None,
30543        client_cert_path=None,
30544        client_key_path=None,
30545        id=None,
30546        issuedcertttlminutes=None,
30547        name=None,
30548        namespace=None,
30549        pki_mount_point=None,
30550        server_address=None,
30551        signing_role=None,
30552        tags=None,
30553    ):
30554        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30555        '''
30556         A path to a CA file accessible by a Node
30557        '''
30558        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30559        '''
30560         A path to a client certificate file accessible by a Node
30561        '''
30562        self.client_key_path = client_key_path if client_key_path is not None else ''
30563        '''
30564         A path to a client key file accessible by a Node
30565        '''
30566        self.id = id if id is not None else ''
30567        '''
30568         Unique identifier of the SecretStore.
30569        '''
30570        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30571        '''
30572         The lifetime of certificates issued by this CA represented in minutes.
30573        '''
30574        self.name = name if name is not None else ''
30575        '''
30576         Unique human-readable name of the SecretStore.
30577        '''
30578        self.namespace = namespace if namespace is not None else ''
30579        '''
30580         The namespace to make requests within
30581        '''
30582        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30583        '''
30584         The mount point of the PKI engine configured with the desired CA
30585        '''
30586        self.server_address = server_address if server_address is not None else ''
30587        '''
30588         The URL of the Vault to target
30589        '''
30590        self.signing_role = signing_role if signing_role is not None else ''
30591        '''
30592         The signing role to be used for signing certificates
30593        '''
30594        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30595        '''
30596         Tags is a map of key, value pairs.
30597        '''
30598
30599    def __repr__(self):
30600        return '<sdm.VaultTLSCertX509Store ' + \
30601            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30602            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30603            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30604            'id: ' + repr(self.id) + ' ' +\
30605            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30606            'name: ' + repr(self.name) + ' ' +\
30607            'namespace: ' + repr(self.namespace) + ' ' +\
30608            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30609            'server_address: ' + repr(self.server_address) + ' ' +\
30610            'signing_role: ' + repr(self.signing_role) + ' ' +\
30611            'tags: ' + repr(self.tags) + ' ' +\
30612            '>'
30613
30614    def to_dict(self):
30615        return {
30616            'ca_cert_path': self.ca_cert_path,
30617            'client_cert_path': self.client_cert_path,
30618            'client_key_path': self.client_key_path,
30619            'id': self.id,
30620            'issuedcertttlminutes': self.issuedcertttlminutes,
30621            'name': self.name,
30622            'namespace': self.namespace,
30623            'pki_mount_point': self.pki_mount_point,
30624            'server_address': self.server_address,
30625            'signing_role': self.signing_role,
30626            'tags': self.tags,
30627        }
30628
30629    @classmethod
30630    def from_dict(cls, d):
30631        return cls(
30632            ca_cert_path=d.get('ca_cert_path'),
30633            client_cert_path=d.get('client_cert_path'),
30634            client_key_path=d.get('client_key_path'),
30635            id=d.get('id'),
30636            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30637            name=d.get('name'),
30638            namespace=d.get('namespace'),
30639            pki_mount_point=d.get('pki_mount_point'),
30640            server_address=d.get('server_address'),
30641            signing_role=d.get('signing_role'),
30642            tags=d.get('tags'),
30643        )
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)
30540    def __init__(
30541        self,
30542        ca_cert_path=None,
30543        client_cert_path=None,
30544        client_key_path=None,
30545        id=None,
30546        issuedcertttlminutes=None,
30547        name=None,
30548        namespace=None,
30549        pki_mount_point=None,
30550        server_address=None,
30551        signing_role=None,
30552        tags=None,
30553    ):
30554        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30555        '''
30556         A path to a CA file accessible by a Node
30557        '''
30558        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30559        '''
30560         A path to a client certificate file accessible by a Node
30561        '''
30562        self.client_key_path = client_key_path if client_key_path is not None else ''
30563        '''
30564         A path to a client key file accessible by a Node
30565        '''
30566        self.id = id if id is not None else ''
30567        '''
30568         Unique identifier of the SecretStore.
30569        '''
30570        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30571        '''
30572         The lifetime of certificates issued by this CA represented in minutes.
30573        '''
30574        self.name = name if name is not None else ''
30575        '''
30576         Unique human-readable name of the SecretStore.
30577        '''
30578        self.namespace = namespace if namespace is not None else ''
30579        '''
30580         The namespace to make requests within
30581        '''
30582        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30583        '''
30584         The mount point of the PKI engine configured with the desired CA
30585        '''
30586        self.server_address = server_address if server_address is not None else ''
30587        '''
30588         The URL of the Vault to target
30589        '''
30590        self.signing_role = signing_role if signing_role is not None else ''
30591        '''
30592         The signing role to be used for signing certificates
30593        '''
30594        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30595        '''
30596         Tags is a map of key, value pairs.
30597        '''
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)
30614    def to_dict(self):
30615        return {
30616            'ca_cert_path': self.ca_cert_path,
30617            'client_cert_path': self.client_cert_path,
30618            'client_key_path': self.client_key_path,
30619            'id': self.id,
30620            'issuedcertttlminutes': self.issuedcertttlminutes,
30621            'name': self.name,
30622            'namespace': self.namespace,
30623            'pki_mount_point': self.pki_mount_point,
30624            'server_address': self.server_address,
30625            'signing_role': self.signing_role,
30626            'tags': self.tags,
30627        }
@classmethod
def from_dict(cls, d)
30629    @classmethod
30630    def from_dict(cls, d):
30631        return cls(
30632            ca_cert_path=d.get('ca_cert_path'),
30633            client_cert_path=d.get('client_cert_path'),
30634            client_key_path=d.get('client_key_path'),
30635            id=d.get('id'),
30636            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30637            name=d.get('name'),
30638            namespace=d.get('namespace'),
30639            pki_mount_point=d.get('pki_mount_point'),
30640            server_address=d.get('server_address'),
30641            signing_role=d.get('signing_role'),
30642            tags=d.get('tags'),
30643        )
class VaultTLSStore:
30646class VaultTLSStore:
30647    __slots__ = [
30648        'ca_cert_path',
30649        'client_cert_path',
30650        'client_key_path',
30651        'id',
30652        'name',
30653        'namespace',
30654        'server_address',
30655        'tags',
30656    ]
30657
30658    def __init__(
30659        self,
30660        ca_cert_path=None,
30661        client_cert_path=None,
30662        client_key_path=None,
30663        id=None,
30664        name=None,
30665        namespace=None,
30666        server_address=None,
30667        tags=None,
30668    ):
30669        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30670        '''
30671         A path to a CA file accessible by a Node
30672        '''
30673        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30674        '''
30675         A path to a client certificate file accessible by a Node
30676        '''
30677        self.client_key_path = client_key_path if client_key_path is not None else ''
30678        '''
30679         A path to a client key file accessible by a Node
30680        '''
30681        self.id = id if id is not None else ''
30682        '''
30683         Unique identifier of the SecretStore.
30684        '''
30685        self.name = name if name is not None else ''
30686        '''
30687         Unique human-readable name of the SecretStore.
30688        '''
30689        self.namespace = namespace if namespace is not None else ''
30690        '''
30691         The namespace to make requests within
30692        '''
30693        self.server_address = server_address if server_address is not None else ''
30694        '''
30695         The URL of the Vault to target
30696        '''
30697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30698        '''
30699         Tags is a map of key, value pairs.
30700        '''
30701
30702    def __repr__(self):
30703        return '<sdm.VaultTLSStore ' + \
30704            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30705            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30706            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30707            'id: ' + repr(self.id) + ' ' +\
30708            'name: ' + repr(self.name) + ' ' +\
30709            'namespace: ' + repr(self.namespace) + ' ' +\
30710            'server_address: ' + repr(self.server_address) + ' ' +\
30711            'tags: ' + repr(self.tags) + ' ' +\
30712            '>'
30713
30714    def to_dict(self):
30715        return {
30716            'ca_cert_path': self.ca_cert_path,
30717            'client_cert_path': self.client_cert_path,
30718            'client_key_path': self.client_key_path,
30719            'id': self.id,
30720            'name': self.name,
30721            'namespace': self.namespace,
30722            'server_address': self.server_address,
30723            'tags': self.tags,
30724        }
30725
30726    @classmethod
30727    def from_dict(cls, d):
30728        return cls(
30729            ca_cert_path=d.get('ca_cert_path'),
30730            client_cert_path=d.get('client_cert_path'),
30731            client_key_path=d.get('client_key_path'),
30732            id=d.get('id'),
30733            name=d.get('name'),
30734            namespace=d.get('namespace'),
30735            server_address=d.get('server_address'),
30736            tags=d.get('tags'),
30737        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
30658    def __init__(
30659        self,
30660        ca_cert_path=None,
30661        client_cert_path=None,
30662        client_key_path=None,
30663        id=None,
30664        name=None,
30665        namespace=None,
30666        server_address=None,
30667        tags=None,
30668    ):
30669        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30670        '''
30671         A path to a CA file accessible by a Node
30672        '''
30673        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30674        '''
30675         A path to a client certificate file accessible by a Node
30676        '''
30677        self.client_key_path = client_key_path if client_key_path is not None else ''
30678        '''
30679         A path to a client key file accessible by a Node
30680        '''
30681        self.id = id if id is not None else ''
30682        '''
30683         Unique identifier of the SecretStore.
30684        '''
30685        self.name = name if name is not None else ''
30686        '''
30687         Unique human-readable name of the SecretStore.
30688        '''
30689        self.namespace = namespace if namespace is not None else ''
30690        '''
30691         The namespace to make requests within
30692        '''
30693        self.server_address = server_address if server_address is not None else ''
30694        '''
30695         The URL of the Vault to target
30696        '''
30697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30698        '''
30699         Tags is a map of key, value pairs.
30700        '''
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)
30714    def to_dict(self):
30715        return {
30716            'ca_cert_path': self.ca_cert_path,
30717            'client_cert_path': self.client_cert_path,
30718            'client_key_path': self.client_key_path,
30719            'id': self.id,
30720            'name': self.name,
30721            'namespace': self.namespace,
30722            'server_address': self.server_address,
30723            'tags': self.tags,
30724        }
@classmethod
def from_dict(cls, d)
30726    @classmethod
30727    def from_dict(cls, d):
30728        return cls(
30729            ca_cert_path=d.get('ca_cert_path'),
30730            client_cert_path=d.get('client_cert_path'),
30731            client_key_path=d.get('client_key_path'),
30732            id=d.get('id'),
30733            name=d.get('name'),
30734            namespace=d.get('namespace'),
30735            server_address=d.get('server_address'),
30736            tags=d.get('tags'),
30737        )
class VaultTokenCertSSHStore:
30740class VaultTokenCertSSHStore:
30741    __slots__ = [
30742        'id',
30743        'issuedcertttlminutes',
30744        'name',
30745        'namespace',
30746        'server_address',
30747        'signing_role',
30748        'ssh_mount_point',
30749        'tags',
30750    ]
30751
30752    def __init__(
30753        self,
30754        id=None,
30755        issuedcertttlminutes=None,
30756        name=None,
30757        namespace=None,
30758        server_address=None,
30759        signing_role=None,
30760        ssh_mount_point=None,
30761        tags=None,
30762    ):
30763        self.id = id if id is not None else ''
30764        '''
30765         Unique identifier of the SecretStore.
30766        '''
30767        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30768        '''
30769         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30770        '''
30771        self.name = name if name is not None else ''
30772        '''
30773         Unique human-readable name of the SecretStore.
30774        '''
30775        self.namespace = namespace if namespace is not None else ''
30776        '''
30777         The namespace to make requests within
30778        '''
30779        self.server_address = server_address if server_address is not None else ''
30780        '''
30781         The URL of the Vault to target
30782        '''
30783        self.signing_role = signing_role if signing_role is not None else ''
30784        '''
30785         The signing role to be used for signing certificates
30786        '''
30787        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30788        '''
30789         The mount point of the SSH engine configured with the desired CA
30790        '''
30791        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30792        '''
30793         Tags is a map of key, value pairs.
30794        '''
30795
30796    def __repr__(self):
30797        return '<sdm.VaultTokenCertSSHStore ' + \
30798            'id: ' + repr(self.id) + ' ' +\
30799            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30800            'name: ' + repr(self.name) + ' ' +\
30801            'namespace: ' + repr(self.namespace) + ' ' +\
30802            'server_address: ' + repr(self.server_address) + ' ' +\
30803            'signing_role: ' + repr(self.signing_role) + ' ' +\
30804            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30805            'tags: ' + repr(self.tags) + ' ' +\
30806            '>'
30807
30808    def to_dict(self):
30809        return {
30810            'id': self.id,
30811            'issuedcertttlminutes': self.issuedcertttlminutes,
30812            'name': self.name,
30813            'namespace': self.namespace,
30814            'server_address': self.server_address,
30815            'signing_role': self.signing_role,
30816            'ssh_mount_point': self.ssh_mount_point,
30817            'tags': self.tags,
30818        }
30819
30820    @classmethod
30821    def from_dict(cls, d):
30822        return cls(
30823            id=d.get('id'),
30824            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30825            name=d.get('name'),
30826            namespace=d.get('namespace'),
30827            server_address=d.get('server_address'),
30828            signing_role=d.get('signing_role'),
30829            ssh_mount_point=d.get('ssh_mount_point'),
30830            tags=d.get('tags'),
30831        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
30752    def __init__(
30753        self,
30754        id=None,
30755        issuedcertttlminutes=None,
30756        name=None,
30757        namespace=None,
30758        server_address=None,
30759        signing_role=None,
30760        ssh_mount_point=None,
30761        tags=None,
30762    ):
30763        self.id = id if id is not None else ''
30764        '''
30765         Unique identifier of the SecretStore.
30766        '''
30767        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30768        '''
30769         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30770        '''
30771        self.name = name if name is not None else ''
30772        '''
30773         Unique human-readable name of the SecretStore.
30774        '''
30775        self.namespace = namespace if namespace is not None else ''
30776        '''
30777         The namespace to make requests within
30778        '''
30779        self.server_address = server_address if server_address is not None else ''
30780        '''
30781         The URL of the Vault to target
30782        '''
30783        self.signing_role = signing_role if signing_role is not None else ''
30784        '''
30785         The signing role to be used for signing certificates
30786        '''
30787        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30788        '''
30789         The mount point of the SSH engine configured with the desired CA
30790        '''
30791        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30792        '''
30793         Tags is a map of key, value pairs.
30794        '''
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)
30808    def to_dict(self):
30809        return {
30810            'id': self.id,
30811            'issuedcertttlminutes': self.issuedcertttlminutes,
30812            'name': self.name,
30813            'namespace': self.namespace,
30814            'server_address': self.server_address,
30815            'signing_role': self.signing_role,
30816            'ssh_mount_point': self.ssh_mount_point,
30817            'tags': self.tags,
30818        }
@classmethod
def from_dict(cls, d)
30820    @classmethod
30821    def from_dict(cls, d):
30822        return cls(
30823            id=d.get('id'),
30824            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30825            name=d.get('name'),
30826            namespace=d.get('namespace'),
30827            server_address=d.get('server_address'),
30828            signing_role=d.get('signing_role'),
30829            ssh_mount_point=d.get('ssh_mount_point'),
30830            tags=d.get('tags'),
30831        )
class VaultTokenCertX509Store:
30834class VaultTokenCertX509Store:
30835    __slots__ = [
30836        'id',
30837        'issuedcertttlminutes',
30838        'name',
30839        'namespace',
30840        'pki_mount_point',
30841        'server_address',
30842        'signing_role',
30843        'tags',
30844    ]
30845
30846    def __init__(
30847        self,
30848        id=None,
30849        issuedcertttlminutes=None,
30850        name=None,
30851        namespace=None,
30852        pki_mount_point=None,
30853        server_address=None,
30854        signing_role=None,
30855        tags=None,
30856    ):
30857        self.id = id if id is not None else ''
30858        '''
30859         Unique identifier of the SecretStore.
30860        '''
30861        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30862        '''
30863         The lifetime of certificates issued by this CA represented in minutes.
30864        '''
30865        self.name = name if name is not None else ''
30866        '''
30867         Unique human-readable name of the SecretStore.
30868        '''
30869        self.namespace = namespace if namespace is not None else ''
30870        '''
30871         The namespace to make requests within
30872        '''
30873        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30874        '''
30875         The mount point of the PKI engine configured with the desired CA
30876        '''
30877        self.server_address = server_address if server_address is not None else ''
30878        '''
30879         The URL of the Vault to target
30880        '''
30881        self.signing_role = signing_role if signing_role is not None else ''
30882        '''
30883         The signing role to be used for signing certificates
30884        '''
30885        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30886        '''
30887         Tags is a map of key, value pairs.
30888        '''
30889
30890    def __repr__(self):
30891        return '<sdm.VaultTokenCertX509Store ' + \
30892            'id: ' + repr(self.id) + ' ' +\
30893            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30894            'name: ' + repr(self.name) + ' ' +\
30895            'namespace: ' + repr(self.namespace) + ' ' +\
30896            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30897            'server_address: ' + repr(self.server_address) + ' ' +\
30898            'signing_role: ' + repr(self.signing_role) + ' ' +\
30899            'tags: ' + repr(self.tags) + ' ' +\
30900            '>'
30901
30902    def to_dict(self):
30903        return {
30904            'id': self.id,
30905            'issuedcertttlminutes': self.issuedcertttlminutes,
30906            'name': self.name,
30907            'namespace': self.namespace,
30908            'pki_mount_point': self.pki_mount_point,
30909            'server_address': self.server_address,
30910            'signing_role': self.signing_role,
30911            'tags': self.tags,
30912        }
30913
30914    @classmethod
30915    def from_dict(cls, d):
30916        return cls(
30917            id=d.get('id'),
30918            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30919            name=d.get('name'),
30920            namespace=d.get('namespace'),
30921            pki_mount_point=d.get('pki_mount_point'),
30922            server_address=d.get('server_address'),
30923            signing_role=d.get('signing_role'),
30924            tags=d.get('tags'),
30925        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
30846    def __init__(
30847        self,
30848        id=None,
30849        issuedcertttlminutes=None,
30850        name=None,
30851        namespace=None,
30852        pki_mount_point=None,
30853        server_address=None,
30854        signing_role=None,
30855        tags=None,
30856    ):
30857        self.id = id if id is not None else ''
30858        '''
30859         Unique identifier of the SecretStore.
30860        '''
30861        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30862        '''
30863         The lifetime of certificates issued by this CA represented in minutes.
30864        '''
30865        self.name = name if name is not None else ''
30866        '''
30867         Unique human-readable name of the SecretStore.
30868        '''
30869        self.namespace = namespace if namespace is not None else ''
30870        '''
30871         The namespace to make requests within
30872        '''
30873        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30874        '''
30875         The mount point of the PKI engine configured with the desired CA
30876        '''
30877        self.server_address = server_address if server_address is not None else ''
30878        '''
30879         The URL of the Vault to target
30880        '''
30881        self.signing_role = signing_role if signing_role is not None else ''
30882        '''
30883         The signing role to be used for signing certificates
30884        '''
30885        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30886        '''
30887         Tags is a map of key, value pairs.
30888        '''
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)
30902    def to_dict(self):
30903        return {
30904            'id': self.id,
30905            'issuedcertttlminutes': self.issuedcertttlminutes,
30906            'name': self.name,
30907            'namespace': self.namespace,
30908            'pki_mount_point': self.pki_mount_point,
30909            'server_address': self.server_address,
30910            'signing_role': self.signing_role,
30911            'tags': self.tags,
30912        }
@classmethod
def from_dict(cls, d)
30914    @classmethod
30915    def from_dict(cls, d):
30916        return cls(
30917            id=d.get('id'),
30918            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30919            name=d.get('name'),
30920            namespace=d.get('namespace'),
30921            pki_mount_point=d.get('pki_mount_point'),
30922            server_address=d.get('server_address'),
30923            signing_role=d.get('signing_role'),
30924            tags=d.get('tags'),
30925        )
class VaultTokenStore:
30928class VaultTokenStore:
30929    __slots__ = [
30930        'id',
30931        'name',
30932        'namespace',
30933        'server_address',
30934        'tags',
30935    ]
30936
30937    def __init__(
30938        self,
30939        id=None,
30940        name=None,
30941        namespace=None,
30942        server_address=None,
30943        tags=None,
30944    ):
30945        self.id = id if id is not None else ''
30946        '''
30947         Unique identifier of the SecretStore.
30948        '''
30949        self.name = name if name is not None else ''
30950        '''
30951         Unique human-readable name of the SecretStore.
30952        '''
30953        self.namespace = namespace if namespace is not None else ''
30954        '''
30955         The namespace to make requests within
30956        '''
30957        self.server_address = server_address if server_address is not None else ''
30958        '''
30959         The URL of the Vault to target
30960        '''
30961        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30962        '''
30963         Tags is a map of key, value pairs.
30964        '''
30965
30966    def __repr__(self):
30967        return '<sdm.VaultTokenStore ' + \
30968            'id: ' + repr(self.id) + ' ' +\
30969            'name: ' + repr(self.name) + ' ' +\
30970            'namespace: ' + repr(self.namespace) + ' ' +\
30971            'server_address: ' + repr(self.server_address) + ' ' +\
30972            'tags: ' + repr(self.tags) + ' ' +\
30973            '>'
30974
30975    def to_dict(self):
30976        return {
30977            'id': self.id,
30978            'name': self.name,
30979            'namespace': self.namespace,
30980            'server_address': self.server_address,
30981            'tags': self.tags,
30982        }
30983
30984    @classmethod
30985    def from_dict(cls, d):
30986        return cls(
30987            id=d.get('id'),
30988            name=d.get('name'),
30989            namespace=d.get('namespace'),
30990            server_address=d.get('server_address'),
30991            tags=d.get('tags'),
30992        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30937    def __init__(
30938        self,
30939        id=None,
30940        name=None,
30941        namespace=None,
30942        server_address=None,
30943        tags=None,
30944    ):
30945        self.id = id if id is not None else ''
30946        '''
30947         Unique identifier of the SecretStore.
30948        '''
30949        self.name = name if name is not None else ''
30950        '''
30951         Unique human-readable name of the SecretStore.
30952        '''
30953        self.namespace = namespace if namespace is not None else ''
30954        '''
30955         The namespace to make requests within
30956        '''
30957        self.server_address = server_address if server_address is not None else ''
30958        '''
30959         The URL of the Vault to target
30960        '''
30961        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30962        '''
30963         Tags is a map of key, value pairs.
30964        '''
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)
30975    def to_dict(self):
30976        return {
30977            'id': self.id,
30978            'name': self.name,
30979            'namespace': self.namespace,
30980            'server_address': self.server_address,
30981            'tags': self.tags,
30982        }
@classmethod
def from_dict(cls, d)
30984    @classmethod
30985    def from_dict(cls, d):
30986        return cls(
30987            id=d.get('id'),
30988            name=d.get('name'),
30989            namespace=d.get('namespace'),
30990            server_address=d.get('server_address'),
30991            tags=d.get('tags'),
30992        )
class Vertica:
30995class Vertica:
30996    __slots__ = [
30997        'bind_interface',
30998        'database',
30999        'egress_filter',
31000        'healthy',
31001        'hostname',
31002        'id',
31003        'name',
31004        'password',
31005        'port',
31006        'port_override',
31007        'proxy_cluster_id',
31008        'secret_store_id',
31009        'subdomain',
31010        'tags',
31011        'username',
31012    ]
31013
31014    def __init__(
31015        self,
31016        bind_interface=None,
31017        database=None,
31018        egress_filter=None,
31019        healthy=None,
31020        hostname=None,
31021        id=None,
31022        name=None,
31023        password=None,
31024        port=None,
31025        port_override=None,
31026        proxy_cluster_id=None,
31027        secret_store_id=None,
31028        subdomain=None,
31029        tags=None,
31030        username=None,
31031    ):
31032        self.bind_interface = bind_interface if bind_interface is not None else ''
31033        '''
31034         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
31035        '''
31036        self.database = database if database is not None else ''
31037        '''
31038         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
31039        '''
31040        self.egress_filter = egress_filter if egress_filter is not None else ''
31041        '''
31042         A filter applied to the routing logic to pin datasource to nodes.
31043        '''
31044        self.healthy = healthy if healthy is not None else False
31045        '''
31046         True if the datasource is reachable and the credentials are valid.
31047        '''
31048        self.hostname = hostname if hostname is not None else ''
31049        '''
31050         The host to dial to initiate a connection from the egress node to this resource.
31051        '''
31052        self.id = id if id is not None else ''
31053        '''
31054         Unique identifier of the Resource.
31055        '''
31056        self.name = name if name is not None else ''
31057        '''
31058         Unique human-readable name of the Resource.
31059        '''
31060        self.password = password if password is not None else ''
31061        '''
31062         The password to authenticate with.
31063        '''
31064        self.port = port if port is not None else 0
31065        '''
31066         The port to dial to initiate a connection from the egress node to this resource.
31067        '''
31068        self.port_override = port_override if port_override is not None else 0
31069        '''
31070         The local port used by clients to connect to this resource.
31071        '''
31072        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31073        '''
31074         ID of the proxy cluster for this resource, if any.
31075        '''
31076        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31077        '''
31078         ID of the secret store containing credentials for this resource, if any.
31079        '''
31080        self.subdomain = subdomain if subdomain is not None else ''
31081        '''
31082         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
31083        '''
31084        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31085        '''
31086         Tags is a map of key, value pairs.
31087        '''
31088        self.username = username if username is not None else ''
31089        '''
31090         The username to authenticate with.
31091        '''
31092
31093    def __repr__(self):
31094        return '<sdm.Vertica ' + \
31095            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31096            'database: ' + repr(self.database) + ' ' +\
31097            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31098            'healthy: ' + repr(self.healthy) + ' ' +\
31099            'hostname: ' + repr(self.hostname) + ' ' +\
31100            'id: ' + repr(self.id) + ' ' +\
31101            'name: ' + repr(self.name) + ' ' +\
31102            'password: ' + repr(self.password) + ' ' +\
31103            'port: ' + repr(self.port) + ' ' +\
31104            'port_override: ' + repr(self.port_override) + ' ' +\
31105            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31106            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31107            'subdomain: ' + repr(self.subdomain) + ' ' +\
31108            'tags: ' + repr(self.tags) + ' ' +\
31109            'username: ' + repr(self.username) + ' ' +\
31110            '>'
31111
31112    def to_dict(self):
31113        return {
31114            'bind_interface': self.bind_interface,
31115            'database': self.database,
31116            'egress_filter': self.egress_filter,
31117            'healthy': self.healthy,
31118            'hostname': self.hostname,
31119            'id': self.id,
31120            'name': self.name,
31121            'password': self.password,
31122            'port': self.port,
31123            'port_override': self.port_override,
31124            'proxy_cluster_id': self.proxy_cluster_id,
31125            'secret_store_id': self.secret_store_id,
31126            'subdomain': self.subdomain,
31127            'tags': self.tags,
31128            'username': self.username,
31129        }
31130
31131    @classmethod
31132    def from_dict(cls, d):
31133        return cls(
31134            bind_interface=d.get('bind_interface'),
31135            database=d.get('database'),
31136            egress_filter=d.get('egress_filter'),
31137            healthy=d.get('healthy'),
31138            hostname=d.get('hostname'),
31139            id=d.get('id'),
31140            name=d.get('name'),
31141            password=d.get('password'),
31142            port=d.get('port'),
31143            port_override=d.get('port_override'),
31144            proxy_cluster_id=d.get('proxy_cluster_id'),
31145            secret_store_id=d.get('secret_store_id'),
31146            subdomain=d.get('subdomain'),
31147            tags=d.get('tags'),
31148            username=d.get('username'),
31149        )
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)
31014    def __init__(
31015        self,
31016        bind_interface=None,
31017        database=None,
31018        egress_filter=None,
31019        healthy=None,
31020        hostname=None,
31021        id=None,
31022        name=None,
31023        password=None,
31024        port=None,
31025        port_override=None,
31026        proxy_cluster_id=None,
31027        secret_store_id=None,
31028        subdomain=None,
31029        tags=None,
31030        username=None,
31031    ):
31032        self.bind_interface = bind_interface if bind_interface is not None else ''
31033        '''
31034         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
31035        '''
31036        self.database = database if database is not None else ''
31037        '''
31038         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
31039        '''
31040        self.egress_filter = egress_filter if egress_filter is not None else ''
31041        '''
31042         A filter applied to the routing logic to pin datasource to nodes.
31043        '''
31044        self.healthy = healthy if healthy is not None else False
31045        '''
31046         True if the datasource is reachable and the credentials are valid.
31047        '''
31048        self.hostname = hostname if hostname is not None else ''
31049        '''
31050         The host to dial to initiate a connection from the egress node to this resource.
31051        '''
31052        self.id = id if id is not None else ''
31053        '''
31054         Unique identifier of the Resource.
31055        '''
31056        self.name = name if name is not None else ''
31057        '''
31058         Unique human-readable name of the Resource.
31059        '''
31060        self.password = password if password is not None else ''
31061        '''
31062         The password to authenticate with.
31063        '''
31064        self.port = port if port is not None else 0
31065        '''
31066         The port to dial to initiate a connection from the egress node to this resource.
31067        '''
31068        self.port_override = port_override if port_override is not None else 0
31069        '''
31070         The local port used by clients to connect to this resource.
31071        '''
31072        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31073        '''
31074         ID of the proxy cluster for this resource, if any.
31075        '''
31076        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31077        '''
31078         ID of the secret store containing credentials for this resource, if any.
31079        '''
31080        self.subdomain = subdomain if subdomain is not None else ''
31081        '''
31082         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
31083        '''
31084        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31085        '''
31086         Tags is a map of key, value pairs.
31087        '''
31088        self.username = username if username is not None else ''
31089        '''
31090         The username to authenticate with.
31091        '''
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.

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.

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.

username

The username to authenticate with.

def to_dict(self)
31112    def to_dict(self):
31113        return {
31114            'bind_interface': self.bind_interface,
31115            'database': self.database,
31116            'egress_filter': self.egress_filter,
31117            'healthy': self.healthy,
31118            'hostname': self.hostname,
31119            'id': self.id,
31120            'name': self.name,
31121            'password': self.password,
31122            'port': self.port,
31123            'port_override': self.port_override,
31124            'proxy_cluster_id': self.proxy_cluster_id,
31125            'secret_store_id': self.secret_store_id,
31126            'subdomain': self.subdomain,
31127            'tags': self.tags,
31128            'username': self.username,
31129        }
@classmethod
def from_dict(cls, d)
31131    @classmethod
31132    def from_dict(cls, d):
31133        return cls(
31134            bind_interface=d.get('bind_interface'),
31135            database=d.get('database'),
31136            egress_filter=d.get('egress_filter'),
31137            healthy=d.get('healthy'),
31138            hostname=d.get('hostname'),
31139            id=d.get('id'),
31140            name=d.get('name'),
31141            password=d.get('password'),
31142            port=d.get('port'),
31143            port_override=d.get('port_override'),
31144            proxy_cluster_id=d.get('proxy_cluster_id'),
31145            secret_store_id=d.get('secret_store_id'),
31146            subdomain=d.get('subdomain'),
31147            tags=d.get('tags'),
31148            username=d.get('username'),
31149        )
class Workflow:
31152class Workflow:
31153    '''
31154         Workflows are the collection of rules that define the resources to which access can be requested,
31155     the users that can request that access, and the mechanism for approving those requests which can either
31156     but automatic approval or a set of users authorized to approve the requests.
31157    '''
31158    __slots__ = [
31159        'access_request_fixed_duration',
31160        'access_request_max_duration',
31161        'access_rules',
31162        'approval_flow_id',
31163        'auto_grant',
31164        'description',
31165        'enabled',
31166        'id',
31167        'name',
31168        'weight',
31169    ]
31170
31171    def __init__(
31172        self,
31173        access_request_fixed_duration=None,
31174        access_request_max_duration=None,
31175        access_rules=None,
31176        approval_flow_id=None,
31177        auto_grant=None,
31178        description=None,
31179        enabled=None,
31180        id=None,
31181        name=None,
31182        weight=None,
31183    ):
31184        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
31185        '''
31186         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
31187         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31188        '''
31189        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
31190        '''
31191         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
31192         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31193        '''
31194        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31195        )
31196        '''
31197         AccessRules is a list of access rules defining the resources this Workflow provides access to.
31198        '''
31199        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
31200        '''
31201         Optional approval flow ID identifies an approval flow that linked to the workflow
31202        '''
31203        self.auto_grant = auto_grant if auto_grant is not None else False
31204        '''
31205         Optional auto grant setting to automatically approve requests or not, defaults to false.
31206        '''
31207        self.description = description if description is not None else ''
31208        '''
31209         Optional description of the Workflow.
31210        '''
31211        self.enabled = enabled if enabled is not None else False
31212        '''
31213         Optional enabled state for workflow. This setting may be overridden by the system if
31214         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
31215         enabling the workflow. The requirements to enable a workflow are that the workflow must be
31216         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
31217         the workflow.
31218        '''
31219        self.id = id if id is not None else ''
31220        '''
31221         Unique identifier of the Workflow.
31222        '''
31223        self.name = name if name is not None else ''
31224        '''
31225         Unique human-readable name of the Workflow.
31226        '''
31227        self.weight = weight if weight is not None else 0
31228        '''
31229         Optional weight for workflow to specify it's priority in matching a request.
31230        '''
31231
31232    def __repr__(self):
31233        return '<sdm.Workflow ' + \
31234            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
31235            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
31236            'access_rules: ' + repr(self.access_rules) + ' ' +\
31237            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
31238            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
31239            'description: ' + repr(self.description) + ' ' +\
31240            'enabled: ' + repr(self.enabled) + ' ' +\
31241            'id: ' + repr(self.id) + ' ' +\
31242            'name: ' + repr(self.name) + ' ' +\
31243            'weight: ' + repr(self.weight) + ' ' +\
31244            '>'
31245
31246    def to_dict(self):
31247        return {
31248            'access_request_fixed_duration':
31249            self.access_request_fixed_duration,
31250            'access_request_max_duration': self.access_request_max_duration,
31251            'access_rules': self.access_rules,
31252            'approval_flow_id': self.approval_flow_id,
31253            'auto_grant': self.auto_grant,
31254            'description': self.description,
31255            'enabled': self.enabled,
31256            'id': self.id,
31257            'name': self.name,
31258            'weight': self.weight,
31259        }
31260
31261    @classmethod
31262    def from_dict(cls, d):
31263        return cls(
31264            access_request_fixed_duration=d.get(
31265                'access_request_fixed_duration'),
31266            access_request_max_duration=d.get('access_request_max_duration'),
31267            access_rules=d.get('access_rules'),
31268            approval_flow_id=d.get('approval_flow_id'),
31269            auto_grant=d.get('auto_grant'),
31270            description=d.get('description'),
31271            enabled=d.get('enabled'),
31272            id=d.get('id'),
31273            name=d.get('name'),
31274            weight=d.get('weight'),
31275        )

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)
31171    def __init__(
31172        self,
31173        access_request_fixed_duration=None,
31174        access_request_max_duration=None,
31175        access_rules=None,
31176        approval_flow_id=None,
31177        auto_grant=None,
31178        description=None,
31179        enabled=None,
31180        id=None,
31181        name=None,
31182        weight=None,
31183    ):
31184        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
31185        '''
31186         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
31187         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31188        '''
31189        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
31190        '''
31191         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
31192         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31193        '''
31194        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31195        )
31196        '''
31197         AccessRules is a list of access rules defining the resources this Workflow provides access to.
31198        '''
31199        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
31200        '''
31201         Optional approval flow ID identifies an approval flow that linked to the workflow
31202        '''
31203        self.auto_grant = auto_grant if auto_grant is not None else False
31204        '''
31205         Optional auto grant setting to automatically approve requests or not, defaults to false.
31206        '''
31207        self.description = description if description is not None else ''
31208        '''
31209         Optional description of the Workflow.
31210        '''
31211        self.enabled = enabled if enabled is not None else False
31212        '''
31213         Optional enabled state for workflow. This setting may be overridden by the system if
31214         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
31215         enabling the workflow. The requirements to enable a workflow are that the workflow must be
31216         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
31217         the workflow.
31218        '''
31219        self.id = id if id is not None else ''
31220        '''
31221         Unique identifier of the Workflow.
31222        '''
31223        self.name = name if name is not None else ''
31224        '''
31225         Unique human-readable name of the Workflow.
31226        '''
31227        self.weight = weight if weight is not None else 0
31228        '''
31229         Optional weight for workflow to specify it's priority in matching a request.
31230        '''
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)
31246    def to_dict(self):
31247        return {
31248            'access_request_fixed_duration':
31249            self.access_request_fixed_duration,
31250            'access_request_max_duration': self.access_request_max_duration,
31251            'access_rules': self.access_rules,
31252            'approval_flow_id': self.approval_flow_id,
31253            'auto_grant': self.auto_grant,
31254            'description': self.description,
31255            'enabled': self.enabled,
31256            'id': self.id,
31257            'name': self.name,
31258            'weight': self.weight,
31259        }
@classmethod
def from_dict(cls, d)
31261    @classmethod
31262    def from_dict(cls, d):
31263        return cls(
31264            access_request_fixed_duration=d.get(
31265                'access_request_fixed_duration'),
31266            access_request_max_duration=d.get('access_request_max_duration'),
31267            access_rules=d.get('access_rules'),
31268            approval_flow_id=d.get('approval_flow_id'),
31269            auto_grant=d.get('auto_grant'),
31270            description=d.get('description'),
31271            enabled=d.get('enabled'),
31272            id=d.get('id'),
31273            name=d.get('name'),
31274            weight=d.get('weight'),
31275        )
class WorkflowApprover:
31278class WorkflowApprover:
31279    '''
31280         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
31281    '''
31282    __slots__ = [
31283        'account_id',
31284        'id',
31285        'role_id',
31286        'workflow_id',
31287    ]
31288
31289    def __init__(
31290        self,
31291        account_id=None,
31292        id=None,
31293        role_id=None,
31294        workflow_id=None,
31295    ):
31296        self.account_id = account_id if account_id is not None else ''
31297        '''
31298         The approver account id.
31299        '''
31300        self.id = id if id is not None else ''
31301        '''
31302         Unique identifier of the WorkflowApprover.
31303        '''
31304        self.role_id = role_id if role_id is not None else ''
31305        '''
31306         The approver role id
31307        '''
31308        self.workflow_id = workflow_id if workflow_id is not None else ''
31309        '''
31310         The workflow id.
31311        '''
31312
31313    def __repr__(self):
31314        return '<sdm.WorkflowApprover ' + \
31315            'account_id: ' + repr(self.account_id) + ' ' +\
31316            'id: ' + repr(self.id) + ' ' +\
31317            'role_id: ' + repr(self.role_id) + ' ' +\
31318            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31319            '>'
31320
31321    def to_dict(self):
31322        return {
31323            'account_id': self.account_id,
31324            'id': self.id,
31325            'role_id': self.role_id,
31326            'workflow_id': self.workflow_id,
31327        }
31328
31329    @classmethod
31330    def from_dict(cls, d):
31331        return cls(
31332            account_id=d.get('account_id'),
31333            id=d.get('id'),
31334            role_id=d.get('role_id'),
31335            workflow_id=d.get('workflow_id'),
31336        )

WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.

WorkflowApprover(account_id=None, id=None, role_id=None, workflow_id=None)
31289    def __init__(
31290        self,
31291        account_id=None,
31292        id=None,
31293        role_id=None,
31294        workflow_id=None,
31295    ):
31296        self.account_id = account_id if account_id is not None else ''
31297        '''
31298         The approver account id.
31299        '''
31300        self.id = id if id is not None else ''
31301        '''
31302         Unique identifier of the WorkflowApprover.
31303        '''
31304        self.role_id = role_id if role_id is not None else ''
31305        '''
31306         The approver role id
31307        '''
31308        self.workflow_id = workflow_id if workflow_id is not None else ''
31309        '''
31310         The workflow id.
31311        '''
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)
31321    def to_dict(self):
31322        return {
31323            'account_id': self.account_id,
31324            'id': self.id,
31325            'role_id': self.role_id,
31326            'workflow_id': self.workflow_id,
31327        }
@classmethod
def from_dict(cls, d)
31329    @classmethod
31330    def from_dict(cls, d):
31331        return cls(
31332            account_id=d.get('account_id'),
31333            id=d.get('id'),
31334            role_id=d.get('role_id'),
31335            workflow_id=d.get('workflow_id'),
31336        )
class WorkflowApproverGetResponse:
31339class WorkflowApproverGetResponse:
31340    '''
31341         WorkflowApproverGetResponse returns a requested WorkflowApprover.
31342    '''
31343    __slots__ = [
31344        'meta',
31345        'rate_limit',
31346        'workflow_approver',
31347    ]
31348
31349    def __init__(
31350        self,
31351        meta=None,
31352        rate_limit=None,
31353        workflow_approver=None,
31354    ):
31355        self.meta = meta if meta is not None else None
31356        '''
31357         Reserved for future use.
31358        '''
31359        self.rate_limit = rate_limit if rate_limit is not None else None
31360        '''
31361         Rate limit information.
31362        '''
31363        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31364        '''
31365         The requested WorkflowApprover.
31366        '''
31367
31368    def __repr__(self):
31369        return '<sdm.WorkflowApproverGetResponse ' + \
31370            'meta: ' + repr(self.meta) + ' ' +\
31371            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31372            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31373            '>'
31374
31375    def to_dict(self):
31376        return {
31377            'meta': self.meta,
31378            'rate_limit': self.rate_limit,
31379            'workflow_approver': self.workflow_approver,
31380        }
31381
31382    @classmethod
31383    def from_dict(cls, d):
31384        return cls(
31385            meta=d.get('meta'),
31386            rate_limit=d.get('rate_limit'),
31387            workflow_approver=d.get('workflow_approver'),
31388        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
31349    def __init__(
31350        self,
31351        meta=None,
31352        rate_limit=None,
31353        workflow_approver=None,
31354    ):
31355        self.meta = meta if meta is not None else None
31356        '''
31357         Reserved for future use.
31358        '''
31359        self.rate_limit = rate_limit if rate_limit is not None else None
31360        '''
31361         Rate limit information.
31362        '''
31363        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31364        '''
31365         The requested WorkflowApprover.
31366        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
31375    def to_dict(self):
31376        return {
31377            'meta': self.meta,
31378            'rate_limit': self.rate_limit,
31379            'workflow_approver': self.workflow_approver,
31380        }
@classmethod
def from_dict(cls, d)
31382    @classmethod
31383    def from_dict(cls, d):
31384        return cls(
31385            meta=d.get('meta'),
31386            rate_limit=d.get('rate_limit'),
31387            workflow_approver=d.get('workflow_approver'),
31388        )
class WorkflowApproverHistory:
31391class WorkflowApproverHistory:
31392    '''
31393         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31394    '''
31395    __slots__ = [
31396        'activity_id',
31397        'deleted_at',
31398        'timestamp',
31399        'workflow_approver',
31400    ]
31401
31402    def __init__(
31403        self,
31404        activity_id=None,
31405        deleted_at=None,
31406        timestamp=None,
31407        workflow_approver=None,
31408    ):
31409        self.activity_id = activity_id if activity_id is not None else ''
31410        '''
31411         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31412         May be empty for some system-initiated updates.
31413        '''
31414        self.deleted_at = deleted_at if deleted_at is not None else None
31415        '''
31416         If this WorkflowApprover was deleted, the time it was deleted.
31417        '''
31418        self.timestamp = timestamp if timestamp is not None else None
31419        '''
31420         The time at which the WorkflowApprover state was recorded.
31421        '''
31422        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31423        '''
31424         The complete WorkflowApprover state at this time.
31425        '''
31426
31427    def __repr__(self):
31428        return '<sdm.WorkflowApproverHistory ' + \
31429            'activity_id: ' + repr(self.activity_id) + ' ' +\
31430            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31431            'timestamp: ' + repr(self.timestamp) + ' ' +\
31432            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31433            '>'
31434
31435    def to_dict(self):
31436        return {
31437            'activity_id': self.activity_id,
31438            'deleted_at': self.deleted_at,
31439            'timestamp': self.timestamp,
31440            'workflow_approver': self.workflow_approver,
31441        }
31442
31443    @classmethod
31444    def from_dict(cls, d):
31445        return cls(
31446            activity_id=d.get('activity_id'),
31447            deleted_at=d.get('deleted_at'),
31448            timestamp=d.get('timestamp'),
31449            workflow_approver=d.get('workflow_approver'),
31450        )

WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
31402    def __init__(
31403        self,
31404        activity_id=None,
31405        deleted_at=None,
31406        timestamp=None,
31407        workflow_approver=None,
31408    ):
31409        self.activity_id = activity_id if activity_id is not None else ''
31410        '''
31411         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31412         May be empty for some system-initiated updates.
31413        '''
31414        self.deleted_at = deleted_at if deleted_at is not None else None
31415        '''
31416         If this WorkflowApprover was deleted, the time it was deleted.
31417        '''
31418        self.timestamp = timestamp if timestamp is not None else None
31419        '''
31420         The time at which the WorkflowApprover state was recorded.
31421        '''
31422        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31423        '''
31424         The complete WorkflowApprover state at this time.
31425        '''
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)
31435    def to_dict(self):
31436        return {
31437            'activity_id': self.activity_id,
31438            'deleted_at': self.deleted_at,
31439            'timestamp': self.timestamp,
31440            'workflow_approver': self.workflow_approver,
31441        }
@classmethod
def from_dict(cls, d)
31443    @classmethod
31444    def from_dict(cls, d):
31445        return cls(
31446            activity_id=d.get('activity_id'),
31447            deleted_at=d.get('deleted_at'),
31448            timestamp=d.get('timestamp'),
31449            workflow_approver=d.get('workflow_approver'),
31450        )
class WorkflowApproversCreateRequest:
31453class WorkflowApproversCreateRequest:
31454    '''
31455         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31456     workflow approver to be created.
31457    '''
31458    __slots__ = [
31459        'workflow_approver',
31460    ]
31461
31462    def __init__(
31463        self,
31464        workflow_approver=None,
31465    ):
31466        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31467        '''
31468         Parameters to define the new WorkflowApprover.
31469        '''
31470
31471    def __repr__(self):
31472        return '<sdm.WorkflowApproversCreateRequest ' + \
31473            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31474            '>'
31475
31476    def to_dict(self):
31477        return {
31478            'workflow_approver': self.workflow_approver,
31479        }
31480
31481    @classmethod
31482    def from_dict(cls, d):
31483        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)
31462    def __init__(
31463        self,
31464        workflow_approver=None,
31465    ):
31466        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31467        '''
31468         Parameters to define the new WorkflowApprover.
31469        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
31476    def to_dict(self):
31477        return {
31478            'workflow_approver': self.workflow_approver,
31479        }
@classmethod
def from_dict(cls, d)
31481    @classmethod
31482    def from_dict(cls, d):
31483        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
31486class WorkflowApproversCreateResponse:
31487    '''
31488         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31489    '''
31490    __slots__ = [
31491        'rate_limit',
31492        'workflow_approver',
31493    ]
31494
31495    def __init__(
31496        self,
31497        rate_limit=None,
31498        workflow_approver=None,
31499    ):
31500        self.rate_limit = rate_limit if rate_limit is not None else None
31501        '''
31502         Rate limit information.
31503        '''
31504        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31505        '''
31506         The created workflow approver.
31507        '''
31508
31509    def __repr__(self):
31510        return '<sdm.WorkflowApproversCreateResponse ' + \
31511            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31512            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31513            '>'
31514
31515    def to_dict(self):
31516        return {
31517            'rate_limit': self.rate_limit,
31518            'workflow_approver': self.workflow_approver,
31519        }
31520
31521    @classmethod
31522    def from_dict(cls, d):
31523        return cls(
31524            rate_limit=d.get('rate_limit'),
31525            workflow_approver=d.get('workflow_approver'),
31526        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
31495    def __init__(
31496        self,
31497        rate_limit=None,
31498        workflow_approver=None,
31499    ):
31500        self.rate_limit = rate_limit if rate_limit is not None else None
31501        '''
31502         Rate limit information.
31503        '''
31504        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31505        '''
31506         The created workflow approver.
31507        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
31515    def to_dict(self):
31516        return {
31517            'rate_limit': self.rate_limit,
31518            'workflow_approver': self.workflow_approver,
31519        }
@classmethod
def from_dict(cls, d)
31521    @classmethod
31522    def from_dict(cls, d):
31523        return cls(
31524            rate_limit=d.get('rate_limit'),
31525            workflow_approver=d.get('workflow_approver'),
31526        )
class WorkflowApproversDeleteRequest:
31529class WorkflowApproversDeleteRequest:
31530    '''
31531         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31532    '''
31533    __slots__ = [
31534        'id',
31535    ]
31536
31537    def __init__(
31538        self,
31539        id=None,
31540    ):
31541        self.id = id if id is not None else ''
31542        '''
31543         The unique identifier of the WorkflowApprover to delete.
31544        '''
31545
31546    def __repr__(self):
31547        return '<sdm.WorkflowApproversDeleteRequest ' + \
31548            'id: ' + repr(self.id) + ' ' +\
31549            '>'
31550
31551    def to_dict(self):
31552        return {
31553            'id': self.id,
31554        }
31555
31556    @classmethod
31557    def from_dict(cls, d):
31558        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
31537    def __init__(
31538        self,
31539        id=None,
31540    ):
31541        self.id = id if id is not None else ''
31542        '''
31543         The unique identifier of the WorkflowApprover to delete.
31544        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
31551    def to_dict(self):
31552        return {
31553            'id': self.id,
31554        }
@classmethod
def from_dict(cls, d)
31556    @classmethod
31557    def from_dict(cls, d):
31558        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
31561class WorkflowApproversDeleteResponse:
31562    '''
31563         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31564    '''
31565    __slots__ = [
31566        'rate_limit',
31567    ]
31568
31569    def __init__(
31570        self,
31571        rate_limit=None,
31572    ):
31573        self.rate_limit = rate_limit if rate_limit is not None else None
31574        '''
31575         Rate limit information.
31576        '''
31577
31578    def __repr__(self):
31579        return '<sdm.WorkflowApproversDeleteResponse ' + \
31580            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31581            '>'
31582
31583    def to_dict(self):
31584        return {
31585            'rate_limit': self.rate_limit,
31586        }
31587
31588    @classmethod
31589    def from_dict(cls, d):
31590        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
31569    def __init__(
31570        self,
31571        rate_limit=None,
31572    ):
31573        self.rate_limit = rate_limit if rate_limit is not None else None
31574        '''
31575         Rate limit information.
31576        '''
rate_limit

Rate limit information.

def to_dict(self)
31583    def to_dict(self):
31584        return {
31585            'rate_limit': self.rate_limit,
31586        }
@classmethod
def from_dict(cls, d)
31588    @classmethod
31589    def from_dict(cls, d):
31590        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
31593class WorkflowApproversListRequest:
31594    '''
31595         WorkflowApproversListRequest specifies criteria for retrieving a list of
31596     WorkflowApprover records
31597    '''
31598    __slots__ = [
31599        'filter',
31600    ]
31601
31602    def __init__(
31603        self,
31604        filter=None,
31605    ):
31606        self.filter = filter if filter is not None else ''
31607        '''
31608         A human-readable filter query string.
31609        '''
31610
31611    def __repr__(self):
31612        return '<sdm.WorkflowApproversListRequest ' + \
31613            'filter: ' + repr(self.filter) + ' ' +\
31614            '>'
31615
31616    def to_dict(self):
31617        return {
31618            'filter': self.filter,
31619        }
31620
31621    @classmethod
31622    def from_dict(cls, d):
31623        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
31602    def __init__(
31603        self,
31604        filter=None,
31605    ):
31606        self.filter = filter if filter is not None else ''
31607        '''
31608         A human-readable filter query string.
31609        '''
filter

A human-readable filter query string.

def to_dict(self)
31616    def to_dict(self):
31617        return {
31618            'filter': self.filter,
31619        }
@classmethod
def from_dict(cls, d)
31621    @classmethod
31622    def from_dict(cls, d):
31623        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
31626class WorkflowApproversListResponse:
31627    '''
31628         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31629     the criteria of a WorkflowApproversListRequest.
31630    '''
31631    __slots__ = [
31632        'rate_limit',
31633    ]
31634
31635    def __init__(
31636        self,
31637        rate_limit=None,
31638    ):
31639        self.rate_limit = rate_limit if rate_limit is not None else None
31640        '''
31641         Rate limit information.
31642        '''
31643
31644    def __repr__(self):
31645        return '<sdm.WorkflowApproversListResponse ' + \
31646            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31647            '>'
31648
31649    def to_dict(self):
31650        return {
31651            'rate_limit': self.rate_limit,
31652        }
31653
31654    @classmethod
31655    def from_dict(cls, d):
31656        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)
31635    def __init__(
31636        self,
31637        rate_limit=None,
31638    ):
31639        self.rate_limit = rate_limit if rate_limit is not None else None
31640        '''
31641         Rate limit information.
31642        '''
rate_limit

Rate limit information.

def to_dict(self)
31649    def to_dict(self):
31650        return {
31651            'rate_limit': self.rate_limit,
31652        }
@classmethod
def from_dict(cls, d)
31654    @classmethod
31655    def from_dict(cls, d):
31656        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
31659class WorkflowCreateResponse:
31660    '''
31661         WorkflowCreateResponse reports how the Workflow was created in the system.
31662    '''
31663    __slots__ = [
31664        'rate_limit',
31665        'workflow',
31666    ]
31667
31668    def __init__(
31669        self,
31670        rate_limit=None,
31671        workflow=None,
31672    ):
31673        self.rate_limit = rate_limit if rate_limit is not None else None
31674        '''
31675         Rate limit information.
31676        '''
31677        self.workflow = workflow if workflow is not None else None
31678        '''
31679         The created workflow.
31680        '''
31681
31682    def __repr__(self):
31683        return '<sdm.WorkflowCreateResponse ' + \
31684            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31685            'workflow: ' + repr(self.workflow) + ' ' +\
31686            '>'
31687
31688    def to_dict(self):
31689        return {
31690            'rate_limit': self.rate_limit,
31691            'workflow': self.workflow,
31692        }
31693
31694    @classmethod
31695    def from_dict(cls, d):
31696        return cls(
31697            rate_limit=d.get('rate_limit'),
31698            workflow=d.get('workflow'),
31699        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
31668    def __init__(
31669        self,
31670        rate_limit=None,
31671        workflow=None,
31672    ):
31673        self.rate_limit = rate_limit if rate_limit is not None else None
31674        '''
31675         Rate limit information.
31676        '''
31677        self.workflow = workflow if workflow is not None else None
31678        '''
31679         The created workflow.
31680        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
31688    def to_dict(self):
31689        return {
31690            'rate_limit': self.rate_limit,
31691            'workflow': self.workflow,
31692        }
@classmethod
def from_dict(cls, d)
31694    @classmethod
31695    def from_dict(cls, d):
31696        return cls(
31697            rate_limit=d.get('rate_limit'),
31698            workflow=d.get('workflow'),
31699        )
class WorkflowDeleteResponse:
31702class WorkflowDeleteResponse:
31703    '''
31704         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31705    '''
31706    __slots__ = [
31707        'id',
31708        'rate_limit',
31709    ]
31710
31711    def __init__(
31712        self,
31713        id=None,
31714        rate_limit=None,
31715    ):
31716        self.id = id if id is not None else ''
31717        '''
31718         The deleted workflow id.
31719        '''
31720        self.rate_limit = rate_limit if rate_limit is not None else None
31721        '''
31722         Rate limit information.
31723        '''
31724
31725    def __repr__(self):
31726        return '<sdm.WorkflowDeleteResponse ' + \
31727            'id: ' + repr(self.id) + ' ' +\
31728            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31729            '>'
31730
31731    def to_dict(self):
31732        return {
31733            'id': self.id,
31734            'rate_limit': self.rate_limit,
31735        }
31736
31737    @classmethod
31738    def from_dict(cls, d):
31739        return cls(
31740            id=d.get('id'),
31741            rate_limit=d.get('rate_limit'),
31742        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
31711    def __init__(
31712        self,
31713        id=None,
31714        rate_limit=None,
31715    ):
31716        self.id = id if id is not None else ''
31717        '''
31718         The deleted workflow id.
31719        '''
31720        self.rate_limit = rate_limit if rate_limit is not None else None
31721        '''
31722         Rate limit information.
31723        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
31731    def to_dict(self):
31732        return {
31733            'id': self.id,
31734            'rate_limit': self.rate_limit,
31735        }
@classmethod
def from_dict(cls, d)
31737    @classmethod
31738    def from_dict(cls, d):
31739        return cls(
31740            id=d.get('id'),
31741            rate_limit=d.get('rate_limit'),
31742        )
class WorkflowGetResponse:
31745class WorkflowGetResponse:
31746    '''
31747         WorkflowGetResponse returns a requested Workflow.
31748    '''
31749    __slots__ = [
31750        'meta',
31751        'rate_limit',
31752        'workflow',
31753    ]
31754
31755    def __init__(
31756        self,
31757        meta=None,
31758        rate_limit=None,
31759        workflow=None,
31760    ):
31761        self.meta = meta if meta is not None else None
31762        '''
31763         Reserved for future use.
31764        '''
31765        self.rate_limit = rate_limit if rate_limit is not None else None
31766        '''
31767         Rate limit information.
31768        '''
31769        self.workflow = workflow if workflow is not None else None
31770        '''
31771         The requested Workflow.
31772        '''
31773
31774    def __repr__(self):
31775        return '<sdm.WorkflowGetResponse ' + \
31776            'meta: ' + repr(self.meta) + ' ' +\
31777            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31778            'workflow: ' + repr(self.workflow) + ' ' +\
31779            '>'
31780
31781    def to_dict(self):
31782        return {
31783            'meta': self.meta,
31784            'rate_limit': self.rate_limit,
31785            'workflow': self.workflow,
31786        }
31787
31788    @classmethod
31789    def from_dict(cls, d):
31790        return cls(
31791            meta=d.get('meta'),
31792            rate_limit=d.get('rate_limit'),
31793            workflow=d.get('workflow'),
31794        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
31755    def __init__(
31756        self,
31757        meta=None,
31758        rate_limit=None,
31759        workflow=None,
31760    ):
31761        self.meta = meta if meta is not None else None
31762        '''
31763         Reserved for future use.
31764        '''
31765        self.rate_limit = rate_limit if rate_limit is not None else None
31766        '''
31767         Rate limit information.
31768        '''
31769        self.workflow = workflow if workflow is not None else None
31770        '''
31771         The requested Workflow.
31772        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
31781    def to_dict(self):
31782        return {
31783            'meta': self.meta,
31784            'rate_limit': self.rate_limit,
31785            'workflow': self.workflow,
31786        }
@classmethod
def from_dict(cls, d)
31788    @classmethod
31789    def from_dict(cls, d):
31790        return cls(
31791            meta=d.get('meta'),
31792            rate_limit=d.get('rate_limit'),
31793            workflow=d.get('workflow'),
31794        )
class WorkflowHistory:
31797class WorkflowHistory:
31798    '''
31799         WorkflowsHistory provides records of all changes to the state of a Workflow.
31800    '''
31801    __slots__ = [
31802        'activity_id',
31803        'deleted_at',
31804        'timestamp',
31805        'workflow',
31806    ]
31807
31808    def __init__(
31809        self,
31810        activity_id=None,
31811        deleted_at=None,
31812        timestamp=None,
31813        workflow=None,
31814    ):
31815        self.activity_id = activity_id if activity_id is not None else ''
31816        '''
31817         The unique identifier of the Activity that produced this change to the Workflow.
31818         May be empty for some system-initiated updates.
31819        '''
31820        self.deleted_at = deleted_at if deleted_at is not None else None
31821        '''
31822         If this Workflow was deleted, the time it was deleted.
31823        '''
31824        self.timestamp = timestamp if timestamp is not None else None
31825        '''
31826         The time at which the Workflow state was recorded.
31827        '''
31828        self.workflow = workflow if workflow is not None else None
31829        '''
31830         The complete Workflow state at this time.
31831        '''
31832
31833    def __repr__(self):
31834        return '<sdm.WorkflowHistory ' + \
31835            'activity_id: ' + repr(self.activity_id) + ' ' +\
31836            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31837            'timestamp: ' + repr(self.timestamp) + ' ' +\
31838            'workflow: ' + repr(self.workflow) + ' ' +\
31839            '>'
31840
31841    def to_dict(self):
31842        return {
31843            'activity_id': self.activity_id,
31844            'deleted_at': self.deleted_at,
31845            'timestamp': self.timestamp,
31846            'workflow': self.workflow,
31847        }
31848
31849    @classmethod
31850    def from_dict(cls, d):
31851        return cls(
31852            activity_id=d.get('activity_id'),
31853            deleted_at=d.get('deleted_at'),
31854            timestamp=d.get('timestamp'),
31855            workflow=d.get('workflow'),
31856        )

WorkflowsHistory provides records of all changes to the state of a Workflow.

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
31808    def __init__(
31809        self,
31810        activity_id=None,
31811        deleted_at=None,
31812        timestamp=None,
31813        workflow=None,
31814    ):
31815        self.activity_id = activity_id if activity_id is not None else ''
31816        '''
31817         The unique identifier of the Activity that produced this change to the Workflow.
31818         May be empty for some system-initiated updates.
31819        '''
31820        self.deleted_at = deleted_at if deleted_at is not None else None
31821        '''
31822         If this Workflow was deleted, the time it was deleted.
31823        '''
31824        self.timestamp = timestamp if timestamp is not None else None
31825        '''
31826         The time at which the Workflow state was recorded.
31827        '''
31828        self.workflow = workflow if workflow is not None else None
31829        '''
31830         The complete Workflow state at this time.
31831        '''
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)
31841    def to_dict(self):
31842        return {
31843            'activity_id': self.activity_id,
31844            'deleted_at': self.deleted_at,
31845            'timestamp': self.timestamp,
31846            'workflow': self.workflow,
31847        }
@classmethod
def from_dict(cls, d)
31849    @classmethod
31850    def from_dict(cls, d):
31851        return cls(
31852            activity_id=d.get('activity_id'),
31853            deleted_at=d.get('deleted_at'),
31854            timestamp=d.get('timestamp'),
31855            workflow=d.get('workflow'),
31856        )
class WorkflowListResponse:
31859class WorkflowListResponse:
31860    '''
31861         WorkflowListResponse returns a list of Workflow records that meet
31862     the criteria of a WorkflowListRequest.
31863    '''
31864    __slots__ = [
31865        'rate_limit',
31866    ]
31867
31868    def __init__(
31869        self,
31870        rate_limit=None,
31871    ):
31872        self.rate_limit = rate_limit if rate_limit is not None else None
31873        '''
31874         Rate limit information.
31875        '''
31876
31877    def __repr__(self):
31878        return '<sdm.WorkflowListResponse ' + \
31879            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31880            '>'
31881
31882    def to_dict(self):
31883        return {
31884            'rate_limit': self.rate_limit,
31885        }
31886
31887    @classmethod
31888    def from_dict(cls, d):
31889        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)
31868    def __init__(
31869        self,
31870        rate_limit=None,
31871    ):
31872        self.rate_limit = rate_limit if rate_limit is not None else None
31873        '''
31874         Rate limit information.
31875        '''
rate_limit

Rate limit information.

def to_dict(self)
31882    def to_dict(self):
31883        return {
31884            'rate_limit': self.rate_limit,
31885        }
@classmethod
def from_dict(cls, d)
31887    @classmethod
31888    def from_dict(cls, d):
31889        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
31892class WorkflowRole:
31893    '''
31894         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31895     to request access to a resource via the workflow.
31896    '''
31897    __slots__ = [
31898        'id',
31899        'role_id',
31900        'workflow_id',
31901    ]
31902
31903    def __init__(
31904        self,
31905        id=None,
31906        role_id=None,
31907        workflow_id=None,
31908    ):
31909        self.id = id if id is not None else ''
31910        '''
31911         Unique identifier of the WorkflowRole.
31912        '''
31913        self.role_id = role_id if role_id is not None else ''
31914        '''
31915         The role id.
31916        '''
31917        self.workflow_id = workflow_id if workflow_id is not None else ''
31918        '''
31919         The workflow id.
31920        '''
31921
31922    def __repr__(self):
31923        return '<sdm.WorkflowRole ' + \
31924            'id: ' + repr(self.id) + ' ' +\
31925            'role_id: ' + repr(self.role_id) + ' ' +\
31926            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31927            '>'
31928
31929    def to_dict(self):
31930        return {
31931            'id': self.id,
31932            'role_id': self.role_id,
31933            'workflow_id': self.workflow_id,
31934        }
31935
31936    @classmethod
31937    def from_dict(cls, d):
31938        return cls(
31939            id=d.get('id'),
31940            role_id=d.get('role_id'),
31941            workflow_id=d.get('workflow_id'),
31942        )

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)
31903    def __init__(
31904        self,
31905        id=None,
31906        role_id=None,
31907        workflow_id=None,
31908    ):
31909        self.id = id if id is not None else ''
31910        '''
31911         Unique identifier of the WorkflowRole.
31912        '''
31913        self.role_id = role_id if role_id is not None else ''
31914        '''
31915         The role id.
31916        '''
31917        self.workflow_id = workflow_id if workflow_id is not None else ''
31918        '''
31919         The workflow id.
31920        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
31929    def to_dict(self):
31930        return {
31931            'id': self.id,
31932            'role_id': self.role_id,
31933            'workflow_id': self.workflow_id,
31934        }
@classmethod
def from_dict(cls, d)
31936    @classmethod
31937    def from_dict(cls, d):
31938        return cls(
31939            id=d.get('id'),
31940            role_id=d.get('role_id'),
31941            workflow_id=d.get('workflow_id'),
31942        )
class WorkflowRoleGetResponse:
31945class WorkflowRoleGetResponse:
31946    '''
31947         WorkflowRoleGetResponse returns a requested WorkflowRole.
31948    '''
31949    __slots__ = [
31950        'meta',
31951        'rate_limit',
31952        'workflow_role',
31953    ]
31954
31955    def __init__(
31956        self,
31957        meta=None,
31958        rate_limit=None,
31959        workflow_role=None,
31960    ):
31961        self.meta = meta if meta is not None else None
31962        '''
31963         Reserved for future use.
31964        '''
31965        self.rate_limit = rate_limit if rate_limit is not None else None
31966        '''
31967         Rate limit information.
31968        '''
31969        self.workflow_role = workflow_role if workflow_role is not None else None
31970        '''
31971         The requested WorkflowRole.
31972        '''
31973
31974    def __repr__(self):
31975        return '<sdm.WorkflowRoleGetResponse ' + \
31976            'meta: ' + repr(self.meta) + ' ' +\
31977            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31978            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31979            '>'
31980
31981    def to_dict(self):
31982        return {
31983            'meta': self.meta,
31984            'rate_limit': self.rate_limit,
31985            'workflow_role': self.workflow_role,
31986        }
31987
31988    @classmethod
31989    def from_dict(cls, d):
31990        return cls(
31991            meta=d.get('meta'),
31992            rate_limit=d.get('rate_limit'),
31993            workflow_role=d.get('workflow_role'),
31994        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
31955    def __init__(
31956        self,
31957        meta=None,
31958        rate_limit=None,
31959        workflow_role=None,
31960    ):
31961        self.meta = meta if meta is not None else None
31962        '''
31963         Reserved for future use.
31964        '''
31965        self.rate_limit = rate_limit if rate_limit is not None else None
31966        '''
31967         Rate limit information.
31968        '''
31969        self.workflow_role = workflow_role if workflow_role is not None else None
31970        '''
31971         The requested WorkflowRole.
31972        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
31981    def to_dict(self):
31982        return {
31983            'meta': self.meta,
31984            'rate_limit': self.rate_limit,
31985            'workflow_role': self.workflow_role,
31986        }
@classmethod
def from_dict(cls, d)
31988    @classmethod
31989    def from_dict(cls, d):
31990        return cls(
31991            meta=d.get('meta'),
31992            rate_limit=d.get('rate_limit'),
31993            workflow_role=d.get('workflow_role'),
31994        )
class WorkflowRoleHistory:
31997class WorkflowRoleHistory:
31998    '''
31999         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
32000    '''
32001    __slots__ = [
32002        'activity_id',
32003        'deleted_at',
32004        'timestamp',
32005        'workflow_role',
32006    ]
32007
32008    def __init__(
32009        self,
32010        activity_id=None,
32011        deleted_at=None,
32012        timestamp=None,
32013        workflow_role=None,
32014    ):
32015        self.activity_id = activity_id if activity_id is not None else ''
32016        '''
32017         The unique identifier of the Activity that produced this change to the WorkflowRole.
32018         May be empty for some system-initiated updates.
32019        '''
32020        self.deleted_at = deleted_at if deleted_at is not None else None
32021        '''
32022         If this WorkflowRole was deleted, the time it was deleted.
32023        '''
32024        self.timestamp = timestamp if timestamp is not None else None
32025        '''
32026         The time at which the WorkflowRole state was recorded.
32027        '''
32028        self.workflow_role = workflow_role if workflow_role is not None else None
32029        '''
32030         The complete WorkflowRole state at this time.
32031        '''
32032
32033    def __repr__(self):
32034        return '<sdm.WorkflowRoleHistory ' + \
32035            'activity_id: ' + repr(self.activity_id) + ' ' +\
32036            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
32037            'timestamp: ' + repr(self.timestamp) + ' ' +\
32038            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
32039            '>'
32040
32041    def to_dict(self):
32042        return {
32043            'activity_id': self.activity_id,
32044            'deleted_at': self.deleted_at,
32045            'timestamp': self.timestamp,
32046            'workflow_role': self.workflow_role,
32047        }
32048
32049    @classmethod
32050    def from_dict(cls, d):
32051        return cls(
32052            activity_id=d.get('activity_id'),
32053            deleted_at=d.get('deleted_at'),
32054            timestamp=d.get('timestamp'),
32055            workflow_role=d.get('workflow_role'),
32056        )

WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
32008    def __init__(
32009        self,
32010        activity_id=None,
32011        deleted_at=None,
32012        timestamp=None,
32013        workflow_role=None,
32014    ):
32015        self.activity_id = activity_id if activity_id is not None else ''
32016        '''
32017         The unique identifier of the Activity that produced this change to the WorkflowRole.
32018         May be empty for some system-initiated updates.
32019        '''
32020        self.deleted_at = deleted_at if deleted_at is not None else None
32021        '''
32022         If this WorkflowRole was deleted, the time it was deleted.
32023        '''
32024        self.timestamp = timestamp if timestamp is not None else None
32025        '''
32026         The time at which the WorkflowRole state was recorded.
32027        '''
32028        self.workflow_role = workflow_role if workflow_role is not None else None
32029        '''
32030         The complete WorkflowRole state at this time.
32031        '''
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)
32041    def to_dict(self):
32042        return {
32043            'activity_id': self.activity_id,
32044            'deleted_at': self.deleted_at,
32045            'timestamp': self.timestamp,
32046            'workflow_role': self.workflow_role,
32047        }
@classmethod
def from_dict(cls, d)
32049    @classmethod
32050    def from_dict(cls, d):
32051        return cls(
32052            activity_id=d.get('activity_id'),
32053            deleted_at=d.get('deleted_at'),
32054            timestamp=d.get('timestamp'),
32055            workflow_role=d.get('workflow_role'),
32056        )
class WorkflowRolesCreateRequest:
32059class WorkflowRolesCreateRequest:
32060    '''
32061         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
32062     workflow role to be created.
32063    '''
32064    __slots__ = [
32065        'workflow_role',
32066    ]
32067
32068    def __init__(
32069        self,
32070        workflow_role=None,
32071    ):
32072        self.workflow_role = workflow_role if workflow_role is not None else None
32073        '''
32074         Parameters to define the new WorkflowRole.
32075        '''
32076
32077    def __repr__(self):
32078        return '<sdm.WorkflowRolesCreateRequest ' + \
32079            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
32080            '>'
32081
32082    def to_dict(self):
32083        return {
32084            'workflow_role': self.workflow_role,
32085        }
32086
32087    @classmethod
32088    def from_dict(cls, d):
32089        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)
32068    def __init__(
32069        self,
32070        workflow_role=None,
32071    ):
32072        self.workflow_role = workflow_role if workflow_role is not None else None
32073        '''
32074         Parameters to define the new WorkflowRole.
32075        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
32082    def to_dict(self):
32083        return {
32084            'workflow_role': self.workflow_role,
32085        }
@classmethod
def from_dict(cls, d)
32087    @classmethod
32088    def from_dict(cls, d):
32089        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
32092class WorkflowRolesCreateResponse:
32093    '''
32094         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
32095    '''
32096    __slots__ = [
32097        'rate_limit',
32098        'workflow_role',
32099    ]
32100
32101    def __init__(
32102        self,
32103        rate_limit=None,
32104        workflow_role=None,
32105    ):
32106        self.rate_limit = rate_limit if rate_limit is not None else None
32107        '''
32108         Rate limit information.
32109        '''
32110        self.workflow_role = workflow_role if workflow_role is not None else None
32111        '''
32112         The created workflow role.
32113        '''
32114
32115    def __repr__(self):
32116        return '<sdm.WorkflowRolesCreateResponse ' + \
32117            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32118            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
32119            '>'
32120
32121    def to_dict(self):
32122        return {
32123            'rate_limit': self.rate_limit,
32124            'workflow_role': self.workflow_role,
32125        }
32126
32127    @classmethod
32128    def from_dict(cls, d):
32129        return cls(
32130            rate_limit=d.get('rate_limit'),
32131            workflow_role=d.get('workflow_role'),
32132        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
32101    def __init__(
32102        self,
32103        rate_limit=None,
32104        workflow_role=None,
32105    ):
32106        self.rate_limit = rate_limit if rate_limit is not None else None
32107        '''
32108         Rate limit information.
32109        '''
32110        self.workflow_role = workflow_role if workflow_role is not None else None
32111        '''
32112         The created workflow role.
32113        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
32121    def to_dict(self):
32122        return {
32123            'rate_limit': self.rate_limit,
32124            'workflow_role': self.workflow_role,
32125        }
@classmethod
def from_dict(cls, d)
32127    @classmethod
32128    def from_dict(cls, d):
32129        return cls(
32130            rate_limit=d.get('rate_limit'),
32131            workflow_role=d.get('workflow_role'),
32132        )
class WorkflowRolesDeleteRequest:
32135class WorkflowRolesDeleteRequest:
32136    '''
32137         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
32138    '''
32139    __slots__ = [
32140        'id',
32141    ]
32142
32143    def __init__(
32144        self,
32145        id=None,
32146    ):
32147        self.id = id if id is not None else ''
32148        '''
32149         The unique identifier of the WorkflowRole to delete.
32150        '''
32151
32152    def __repr__(self):
32153        return '<sdm.WorkflowRolesDeleteRequest ' + \
32154            'id: ' + repr(self.id) + ' ' +\
32155            '>'
32156
32157    def to_dict(self):
32158        return {
32159            'id': self.id,
32160        }
32161
32162    @classmethod
32163    def from_dict(cls, d):
32164        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
32143    def __init__(
32144        self,
32145        id=None,
32146    ):
32147        self.id = id if id is not None else ''
32148        '''
32149         The unique identifier of the WorkflowRole to delete.
32150        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
32157    def to_dict(self):
32158        return {
32159            'id': self.id,
32160        }
@classmethod
def from_dict(cls, d)
32162    @classmethod
32163    def from_dict(cls, d):
32164        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
32167class WorkflowRolesDeleteResponse:
32168    '''
32169         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
32170    '''
32171    __slots__ = [
32172        'rate_limit',
32173    ]
32174
32175    def __init__(
32176        self,
32177        rate_limit=None,
32178    ):
32179        self.rate_limit = rate_limit if rate_limit is not None else None
32180        '''
32181         Rate limit information.
32182        '''
32183
32184    def __repr__(self):
32185        return '<sdm.WorkflowRolesDeleteResponse ' + \
32186            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32187            '>'
32188
32189    def to_dict(self):
32190        return {
32191            'rate_limit': self.rate_limit,
32192        }
32193
32194    @classmethod
32195    def from_dict(cls, d):
32196        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
32175    def __init__(
32176        self,
32177        rate_limit=None,
32178    ):
32179        self.rate_limit = rate_limit if rate_limit is not None else None
32180        '''
32181         Rate limit information.
32182        '''
rate_limit

Rate limit information.

def to_dict(self)
32189    def to_dict(self):
32190        return {
32191            'rate_limit': self.rate_limit,
32192        }
@classmethod
def from_dict(cls, d)
32194    @classmethod
32195    def from_dict(cls, d):
32196        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
32199class WorkflowRolesListRequest:
32200    '''
32201         WorkflowRolesListRequest specifies criteria for retrieving a list of
32202     WorkflowRole records
32203    '''
32204    __slots__ = [
32205        'filter',
32206    ]
32207
32208    def __init__(
32209        self,
32210        filter=None,
32211    ):
32212        self.filter = filter if filter is not None else ''
32213        '''
32214         A human-readable filter query string.
32215        '''
32216
32217    def __repr__(self):
32218        return '<sdm.WorkflowRolesListRequest ' + \
32219            'filter: ' + repr(self.filter) + ' ' +\
32220            '>'
32221
32222    def to_dict(self):
32223        return {
32224            'filter': self.filter,
32225        }
32226
32227    @classmethod
32228    def from_dict(cls, d):
32229        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
32208    def __init__(
32209        self,
32210        filter=None,
32211    ):
32212        self.filter = filter if filter is not None else ''
32213        '''
32214         A human-readable filter query string.
32215        '''
filter

A human-readable filter query string.

def to_dict(self)
32222    def to_dict(self):
32223        return {
32224            'filter': self.filter,
32225        }
@classmethod
def from_dict(cls, d)
32227    @classmethod
32228    def from_dict(cls, d):
32229        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
32232class WorkflowRolesListResponse:
32233    '''
32234         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32235     the criteria of a WorkflowRolesListRequest.
32236    '''
32237    __slots__ = [
32238        'rate_limit',
32239    ]
32240
32241    def __init__(
32242        self,
32243        rate_limit=None,
32244    ):
32245        self.rate_limit = rate_limit if rate_limit is not None else None
32246        '''
32247         Rate limit information.
32248        '''
32249
32250    def __repr__(self):
32251        return '<sdm.WorkflowRolesListResponse ' + \
32252            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32253            '>'
32254
32255    def to_dict(self):
32256        return {
32257            'rate_limit': self.rate_limit,
32258        }
32259
32260    @classmethod
32261    def from_dict(cls, d):
32262        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)
32241    def __init__(
32242        self,
32243        rate_limit=None,
32244    ):
32245        self.rate_limit = rate_limit if rate_limit is not None else None
32246        '''
32247         Rate limit information.
32248        '''
rate_limit

Rate limit information.

def to_dict(self)
32255    def to_dict(self):
32256        return {
32257            'rate_limit': self.rate_limit,
32258        }
@classmethod
def from_dict(cls, d)
32260    @classmethod
32261    def from_dict(cls, d):
32262        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
32265class WorkflowUpdateResponse:
32266    '''
32267         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32268     a WorkflowUpdateRequest.
32269    '''
32270    __slots__ = [
32271        'rate_limit',
32272        'workflow',
32273    ]
32274
32275    def __init__(
32276        self,
32277        rate_limit=None,
32278        workflow=None,
32279    ):
32280        self.rate_limit = rate_limit if rate_limit is not None else None
32281        '''
32282         Rate limit information.
32283        '''
32284        self.workflow = workflow if workflow is not None else None
32285        '''
32286         The updated workflow.
32287        '''
32288
32289    def __repr__(self):
32290        return '<sdm.WorkflowUpdateResponse ' + \
32291            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32292            'workflow: ' + repr(self.workflow) + ' ' +\
32293            '>'
32294
32295    def to_dict(self):
32296        return {
32297            'rate_limit': self.rate_limit,
32298            'workflow': self.workflow,
32299        }
32300
32301    @classmethod
32302    def from_dict(cls, d):
32303        return cls(
32304            rate_limit=d.get('rate_limit'),
32305            workflow=d.get('workflow'),
32306        )

WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by a WorkflowUpdateRequest.

WorkflowUpdateResponse(rate_limit=None, workflow=None)
32275    def __init__(
32276        self,
32277        rate_limit=None,
32278        workflow=None,
32279    ):
32280        self.rate_limit = rate_limit if rate_limit is not None else None
32281        '''
32282         Rate limit information.
32283        '''
32284        self.workflow = workflow if workflow is not None else None
32285        '''
32286         The updated workflow.
32287        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
32295    def to_dict(self):
32296        return {
32297            'rate_limit': self.rate_limit,
32298            'workflow': self.workflow,
32299        }
@classmethod
def from_dict(cls, d)
32301    @classmethod
32302    def from_dict(cls, d):
32303        return cls(
32304            rate_limit=d.get('rate_limit'),
32305            workflow=d.get('workflow'),
32306        )