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 ActiveDirectoryStore:
 3277    __slots__ = [
 3278        'id',
 3279        'name',
 3280        'server_address',
 3281        'tags',
 3282    ]
 3283
 3284    def __init__(
 3285        self,
 3286        id=None,
 3287        name=None,
 3288        server_address=None,
 3289        tags=None,
 3290    ):
 3291        self.id = id if id is not None else ''
 3292        '''
 3293         Unique identifier of the SecretStore.
 3294        '''
 3295        self.name = name if name is not None else ''
 3296        '''
 3297         Unique human-readable name of the SecretStore.
 3298        '''
 3299        self.server_address = server_address if server_address is not None else ''
 3300        '''
 3301         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 3302         Often this is the same host as Active Directory Certificate Services
 3303        '''
 3304        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3305        '''
 3306         Tags is a map of key, value pairs.
 3307        '''
 3308
 3309    def __repr__(self):
 3310        return '<sdm.ActiveDirectoryStore ' + \
 3311            'id: ' + repr(self.id) + ' ' +\
 3312            'name: ' + repr(self.name) + ' ' +\
 3313            'server_address: ' + repr(self.server_address) + ' ' +\
 3314            'tags: ' + repr(self.tags) + ' ' +\
 3315            '>'
 3316
 3317    def to_dict(self):
 3318        return {
 3319            'id': self.id,
 3320            'name': self.name,
 3321            'server_address': self.server_address,
 3322            'tags': self.tags,
 3323        }
 3324
 3325    @classmethod
 3326    def from_dict(cls, d):
 3327        return cls(
 3328            id=d.get('id'),
 3329            name=d.get('name'),
 3330            server_address=d.get('server_address'),
 3331            tags=d.get('tags'),
 3332        )
 3333
 3334
 3335class Activity:
 3336    '''
 3337         An Activity is a record of an action taken against a strongDM deployment, e.g.
 3338     a user creation, resource deletion, sso configuration change, etc.
 3339    '''
 3340    __slots__ = [
 3341        'actor',
 3342        'completed_at',
 3343        'description',
 3344        'entities',
 3345        'id',
 3346        'ip_address',
 3347        'user_agent',
 3348        'verb',
 3349    ]
 3350
 3351    def __init__(
 3352        self,
 3353        actor=None,
 3354        completed_at=None,
 3355        description=None,
 3356        entities=None,
 3357        id=None,
 3358        ip_address=None,
 3359        user_agent=None,
 3360        verb=None,
 3361    ):
 3362        self.actor = actor if actor is not None else None
 3363        '''
 3364         The account who executed this activity. If the actor later has a name or email change,
 3365         that change is not reflected here. Actor is a snapshot of the executing account at
 3366         the time an activity took place.
 3367        '''
 3368        self.completed_at = completed_at if completed_at is not None else None
 3369        '''
 3370         The time this activity took effect.
 3371        '''
 3372        self.description = description if description is not None else ''
 3373        '''
 3374         A humanized description of the activity.
 3375        '''
 3376        self.entities = entities if entities is not None else []
 3377        '''
 3378         The entities involved in this activity. These entities can be any first class
 3379         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 3380         every activity affects explicit entities.
 3381        '''
 3382        self.id = id if id is not None else ''
 3383        '''
 3384         Unique identifier of the Activity.
 3385        '''
 3386        self.ip_address = ip_address if ip_address is not None else ''
 3387        '''
 3388         The IP from which this action was taken.
 3389        '''
 3390        self.user_agent = user_agent if user_agent is not None else ''
 3391        '''
 3392         The User Agent present when this request was executed. Generally a client type and version
 3393         like strongdm-cli/55.66.77
 3394        '''
 3395        self.verb = verb if verb is not None else ''
 3396        '''
 3397         The kind of activity which has taken place, one of the ActivityVerb constants.
 3398        '''
 3399
 3400    def __repr__(self):
 3401        return '<sdm.Activity ' + \
 3402            'actor: ' + repr(self.actor) + ' ' +\
 3403            'completed_at: ' + repr(self.completed_at) + ' ' +\
 3404            'description: ' + repr(self.description) + ' ' +\
 3405            'entities: ' + repr(self.entities) + ' ' +\
 3406            'id: ' + repr(self.id) + ' ' +\
 3407            'ip_address: ' + repr(self.ip_address) + ' ' +\
 3408            'user_agent: ' + repr(self.user_agent) + ' ' +\
 3409            'verb: ' + repr(self.verb) + ' ' +\
 3410            '>'
 3411
 3412    def to_dict(self):
 3413        return {
 3414            'actor': self.actor,
 3415            'completed_at': self.completed_at,
 3416            'description': self.description,
 3417            'entities': self.entities,
 3418            'id': self.id,
 3419            'ip_address': self.ip_address,
 3420            'user_agent': self.user_agent,
 3421            'verb': self.verb,
 3422        }
 3423
 3424    @classmethod
 3425    def from_dict(cls, d):
 3426        return cls(
 3427            actor=d.get('actor'),
 3428            completed_at=d.get('completed_at'),
 3429            description=d.get('description'),
 3430            entities=d.get('entities'),
 3431            id=d.get('id'),
 3432            ip_address=d.get('ip_address'),
 3433            user_agent=d.get('user_agent'),
 3434            verb=d.get('verb'),
 3435        )
 3436
 3437
 3438class ActivityActor:
 3439    __slots__ = [
 3440        'activity_external_id',
 3441        'email',
 3442        'first_name',
 3443        'id',
 3444        'last_name',
 3445    ]
 3446
 3447    def __init__(
 3448        self,
 3449        activity_external_id=None,
 3450        email=None,
 3451        first_name=None,
 3452        id=None,
 3453        last_name=None,
 3454    ):
 3455        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 3456        '''
 3457         The external ID of the actor at the time this activity occurred.
 3458        '''
 3459        self.email = email if email is not None else ''
 3460        '''
 3461         The email of the actor at the time this activity occurred.
 3462        '''
 3463        self.first_name = first_name if first_name is not None else ''
 3464        '''
 3465         The first name of the actor at the time this activity occurred.
 3466        '''
 3467        self.id = id if id is not None else ''
 3468        '''
 3469         Unique identifier of the actor. Immutable.
 3470        '''
 3471        self.last_name = last_name if last_name is not None else ''
 3472        '''
 3473         The last name of the actor at the time this activity occurred.
 3474        '''
 3475
 3476    def __repr__(self):
 3477        return '<sdm.ActivityActor ' + \
 3478            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 3479            'email: ' + repr(self.email) + ' ' +\
 3480            'first_name: ' + repr(self.first_name) + ' ' +\
 3481            'id: ' + repr(self.id) + ' ' +\
 3482            'last_name: ' + repr(self.last_name) + ' ' +\
 3483            '>'
 3484
 3485    def to_dict(self):
 3486        return {
 3487            'activity_external_id': self.activity_external_id,
 3488            'email': self.email,
 3489            'first_name': self.first_name,
 3490            'id': self.id,
 3491            'last_name': self.last_name,
 3492        }
 3493
 3494    @classmethod
 3495    def from_dict(cls, d):
 3496        return cls(
 3497            activity_external_id=d.get('activity_external_id'),
 3498            email=d.get('email'),
 3499            first_name=d.get('first_name'),
 3500            id=d.get('id'),
 3501            last_name=d.get('last_name'),
 3502        )
 3503
 3504
 3505class ActivityEntity:
 3506    __slots__ = [
 3507        'email',
 3508        'external_id',
 3509        'id',
 3510        'name',
 3511        'type',
 3512    ]
 3513
 3514    def __init__(
 3515        self,
 3516        email=None,
 3517        external_id=None,
 3518        id=None,
 3519        name=None,
 3520        type=None,
 3521    ):
 3522        self.email = email if email is not None else ''
 3523        '''
 3524         The email of the affected entity, if it has one (for example, if it is an account).
 3525        '''
 3526        self.external_id = external_id if external_id is not None else ''
 3527        '''
 3528         The external ID of the affected entity, if it has one (for example, if it is an account).
 3529        '''
 3530        self.id = id if id is not None else ''
 3531        '''
 3532         The unique identifier of the entity this activity affected.
 3533        '''
 3534        self.name = name if name is not None else ''
 3535        '''
 3536         A display name representing the affected entity.
 3537        '''
 3538        self.type = type if type is not None else ''
 3539        '''
 3540         The type of entity affected, one of the ActivityEntityType constants.
 3541        '''
 3542
 3543    def __repr__(self):
 3544        return '<sdm.ActivityEntity ' + \
 3545            'email: ' + repr(self.email) + ' ' +\
 3546            'external_id: ' + repr(self.external_id) + ' ' +\
 3547            'id: ' + repr(self.id) + ' ' +\
 3548            'name: ' + repr(self.name) + ' ' +\
 3549            'type: ' + repr(self.type) + ' ' +\
 3550            '>'
 3551
 3552    def to_dict(self):
 3553        return {
 3554            'email': self.email,
 3555            'external_id': self.external_id,
 3556            'id': self.id,
 3557            'name': self.name,
 3558            'type': self.type,
 3559        }
 3560
 3561    @classmethod
 3562    def from_dict(cls, d):
 3563        return cls(
 3564            email=d.get('email'),
 3565            external_id=d.get('external_id'),
 3566            id=d.get('id'),
 3567            name=d.get('name'),
 3568            type=d.get('type'),
 3569        )
 3570
 3571
 3572class ActivityGetResponse:
 3573    '''
 3574         ActivityGetResponse returns a requested Activity.
 3575    '''
 3576    __slots__ = [
 3577        'activity',
 3578        'meta',
 3579        'rate_limit',
 3580    ]
 3581
 3582    def __init__(
 3583        self,
 3584        activity=None,
 3585        meta=None,
 3586        rate_limit=None,
 3587    ):
 3588        self.activity = activity if activity is not None else None
 3589        '''
 3590         The requested Activity.
 3591        '''
 3592        self.meta = meta if meta is not None else None
 3593        '''
 3594         Reserved for future use.
 3595        '''
 3596        self.rate_limit = rate_limit if rate_limit is not None else None
 3597        '''
 3598         Rate limit information.
 3599        '''
 3600
 3601    def __repr__(self):
 3602        return '<sdm.ActivityGetResponse ' + \
 3603            'activity: ' + repr(self.activity) + ' ' +\
 3604            'meta: ' + repr(self.meta) + ' ' +\
 3605            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3606            '>'
 3607
 3608    def to_dict(self):
 3609        return {
 3610            'activity': self.activity,
 3611            'meta': self.meta,
 3612            'rate_limit': self.rate_limit,
 3613        }
 3614
 3615    @classmethod
 3616    def from_dict(cls, d):
 3617        return cls(
 3618            activity=d.get('activity'),
 3619            meta=d.get('meta'),
 3620            rate_limit=d.get('rate_limit'),
 3621        )
 3622
 3623
 3624class AmazonEKS:
 3625    __slots__ = [
 3626        'access_key',
 3627        'allow_resource_role_bypass',
 3628        'bind_interface',
 3629        'certificate_authority',
 3630        'cluster_name',
 3631        'discovery_enabled',
 3632        'discovery_username',
 3633        'egress_filter',
 3634        'endpoint',
 3635        'healthcheck_namespace',
 3636        'healthy',
 3637        'id',
 3638        'identity_alias_healthcheck_username',
 3639        'identity_set_id',
 3640        'name',
 3641        'port_override',
 3642        'proxy_cluster_id',
 3643        'region',
 3644        'role_arn',
 3645        'role_external_id',
 3646        'secret_access_key',
 3647        'secret_store_id',
 3648        'subdomain',
 3649        'tags',
 3650    ]
 3651
 3652    def __init__(
 3653        self,
 3654        access_key=None,
 3655        allow_resource_role_bypass=None,
 3656        bind_interface=None,
 3657        certificate_authority=None,
 3658        cluster_name=None,
 3659        discovery_enabled=None,
 3660        discovery_username=None,
 3661        egress_filter=None,
 3662        endpoint=None,
 3663        healthcheck_namespace=None,
 3664        healthy=None,
 3665        id=None,
 3666        identity_alias_healthcheck_username=None,
 3667        identity_set_id=None,
 3668        name=None,
 3669        port_override=None,
 3670        proxy_cluster_id=None,
 3671        region=None,
 3672        role_arn=None,
 3673        role_external_id=None,
 3674        secret_access_key=None,
 3675        secret_store_id=None,
 3676        subdomain=None,
 3677        tags=None,
 3678    ):
 3679        self.access_key = access_key if access_key is not None else ''
 3680        '''
 3681         The Access Key ID to use to authenticate.
 3682        '''
 3683        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 3684        '''
 3685         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 3686         when a resource role is not provided.
 3687        '''
 3688        self.bind_interface = bind_interface if bind_interface is not None else ''
 3689        '''
 3690         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3691        '''
 3692        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 3693        '''
 3694         The CA to authenticate TLS connections with.
 3695        '''
 3696        self.cluster_name = cluster_name if cluster_name is not None else ''
 3697        '''
 3698         The name of the cluster to connect to.
 3699        '''
 3700        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 3701        '''
 3702         If true, configures discovery of a cluster to be run from a node.
 3703        '''
 3704        self.discovery_username = discovery_username if discovery_username is not None else ''
 3705        '''
 3706         If a cluster is configured for user impersonation, this is the user to impersonate when
 3707         running discovery.
 3708        '''
 3709        self.egress_filter = egress_filter if egress_filter is not None else ''
 3710        '''
 3711         A filter applied to the routing logic to pin datasource to nodes.
 3712        '''
 3713        self.endpoint = endpoint if endpoint is not None else ''
 3714        '''
 3715         The endpoint to dial.
 3716        '''
 3717        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 3718        '''
 3719         The path used to check the health of your connection.  Defaults to `default`.
 3720        '''
 3721        self.healthy = healthy if healthy is not None else False
 3722        '''
 3723         True if the datasource is reachable and the credentials are valid.
 3724        '''
 3725        self.id = id if id is not None else ''
 3726        '''
 3727         Unique identifier of the Resource.
 3728        '''
 3729        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 3730        '''
 3731         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 3732        '''
 3733        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 3734        '''
 3735         The ID of the identity set to use for identity connections.
 3736        '''
 3737        self.name = name if name is not None else ''
 3738        '''
 3739         Unique human-readable name of the Resource.
 3740        '''
 3741        self.port_override = port_override if port_override is not None else 0
 3742        '''
 3743         The local port used by clients to connect to this resource.
 3744        '''
 3745        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3746        '''
 3747         ID of the proxy cluster for this resource, if any.
 3748        '''
 3749        self.region = region if region is not None else ''
 3750        '''
 3751         The AWS region to connect to e.g. us-east-1.
 3752        '''
 3753        self.role_arn = role_arn if role_arn is not None else ''
 3754        '''
 3755         The role to assume after logging in.
 3756        '''
 3757        self.role_external_id = role_external_id if role_external_id is not None else ''
 3758        '''
 3759         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 3760        '''
 3761        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 3762        '''
 3763         The Secret Access Key to use to authenticate.
 3764        '''
 3765        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3766        '''
 3767         ID of the secret store containing credentials for this resource, if any.
 3768        '''
 3769        self.subdomain = subdomain if subdomain is not None else ''
 3770        '''
 3771         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 3772        '''
 3773        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3774        '''
 3775         Tags is a map of key, value pairs.
 3776        '''
 3777
 3778    def __repr__(self):
 3779        return '<sdm.AmazonEKS ' + \
 3780            'access_key: ' + repr(self.access_key) + ' ' +\
 3781            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 3782            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 3783            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 3784            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 3785            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 3786            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 3787            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 3788            'endpoint: ' + repr(self.endpoint) + ' ' +\
 3789            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 3790            'healthy: ' + repr(self.healthy) + ' ' +\
 3791            'id: ' + repr(self.id) + ' ' +\
 3792            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 3793            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 3794            'name: ' + repr(self.name) + ' ' +\
 3795            'port_override: ' + repr(self.port_override) + ' ' +\
 3796            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 3797            'region: ' + repr(self.region) + ' ' +\
 3798            'role_arn: ' + repr(self.role_arn) + ' ' +\
 3799            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 3800            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 3801            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3802            'subdomain: ' + repr(self.subdomain) + ' ' +\
 3803            'tags: ' + repr(self.tags) + ' ' +\
 3804            '>'
 3805
 3806    def to_dict(self):
 3807        return {
 3808            'access_key': self.access_key,
 3809            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 3810            'bind_interface': self.bind_interface,
 3811            'certificate_authority': self.certificate_authority,
 3812            'cluster_name': self.cluster_name,
 3813            'discovery_enabled': self.discovery_enabled,
 3814            'discovery_username': self.discovery_username,
 3815            'egress_filter': self.egress_filter,
 3816            'endpoint': self.endpoint,
 3817            'healthcheck_namespace': self.healthcheck_namespace,
 3818            'healthy': self.healthy,
 3819            'id': self.id,
 3820            'identity_alias_healthcheck_username':
 3821            self.identity_alias_healthcheck_username,
 3822            'identity_set_id': self.identity_set_id,
 3823            'name': self.name,
 3824            'port_override': self.port_override,
 3825            'proxy_cluster_id': self.proxy_cluster_id,
 3826            'region': self.region,
 3827            'role_arn': self.role_arn,
 3828            'role_external_id': self.role_external_id,
 3829            'secret_access_key': self.secret_access_key,
 3830            'secret_store_id': self.secret_store_id,
 3831            'subdomain': self.subdomain,
 3832            'tags': self.tags,
 3833        }
 3834
 3835    @classmethod
 3836    def from_dict(cls, d):
 3837        return cls(
 3838            access_key=d.get('access_key'),
 3839            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 3840            bind_interface=d.get('bind_interface'),
 3841            certificate_authority=d.get('certificate_authority'),
 3842            cluster_name=d.get('cluster_name'),
 3843            discovery_enabled=d.get('discovery_enabled'),
 3844            discovery_username=d.get('discovery_username'),
 3845            egress_filter=d.get('egress_filter'),
 3846            endpoint=d.get('endpoint'),
 3847            healthcheck_namespace=d.get('healthcheck_namespace'),
 3848            healthy=d.get('healthy'),
 3849            id=d.get('id'),
 3850            identity_alias_healthcheck_username=d.get(
 3851                'identity_alias_healthcheck_username'),
 3852            identity_set_id=d.get('identity_set_id'),
 3853            name=d.get('name'),
 3854            port_override=d.get('port_override'),
 3855            proxy_cluster_id=d.get('proxy_cluster_id'),
 3856            region=d.get('region'),
 3857            role_arn=d.get('role_arn'),
 3858            role_external_id=d.get('role_external_id'),
 3859            secret_access_key=d.get('secret_access_key'),
 3860            secret_store_id=d.get('secret_store_id'),
 3861            subdomain=d.get('subdomain'),
 3862            tags=d.get('tags'),
 3863        )
 3864
 3865
 3866class AmazonEKSInstanceProfile:
 3867    __slots__ = [
 3868        'allow_resource_role_bypass',
 3869        'bind_interface',
 3870        'certificate_authority',
 3871        'cluster_name',
 3872        'discovery_enabled',
 3873        'discovery_username',
 3874        'egress_filter',
 3875        'endpoint',
 3876        'healthcheck_namespace',
 3877        'healthy',
 3878        'id',
 3879        'identity_alias_healthcheck_username',
 3880        'identity_set_id',
 3881        'name',
 3882        'port_override',
 3883        'proxy_cluster_id',
 3884        'region',
 3885        'role_arn',
 3886        'role_external_id',
 3887        'secret_store_id',
 3888        'subdomain',
 3889        'tags',
 3890    ]
 3891
 3892    def __init__(
 3893        self,
 3894        allow_resource_role_bypass=None,
 3895        bind_interface=None,
 3896        certificate_authority=None,
 3897        cluster_name=None,
 3898        discovery_enabled=None,
 3899        discovery_username=None,
 3900        egress_filter=None,
 3901        endpoint=None,
 3902        healthcheck_namespace=None,
 3903        healthy=None,
 3904        id=None,
 3905        identity_alias_healthcheck_username=None,
 3906        identity_set_id=None,
 3907        name=None,
 3908        port_override=None,
 3909        proxy_cluster_id=None,
 3910        region=None,
 3911        role_arn=None,
 3912        role_external_id=None,
 3913        secret_store_id=None,
 3914        subdomain=None,
 3915        tags=None,
 3916    ):
 3917        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 3918        '''
 3919         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 3920         when a resource role is not provided.
 3921        '''
 3922        self.bind_interface = bind_interface if bind_interface is not None else ''
 3923        '''
 3924         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3925        '''
 3926        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 3927        '''
 3928         The CA to authenticate TLS connections with.
 3929        '''
 3930        self.cluster_name = cluster_name if cluster_name is not None else ''
 3931        '''
 3932         The name of the cluster to connect to.
 3933        '''
 3934        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 3935        '''
 3936         If true, configures discovery of a cluster to be run from a node.
 3937        '''
 3938        self.discovery_username = discovery_username if discovery_username is not None else ''
 3939        '''
 3940         If a cluster is configured for user impersonation, this is the user to impersonate when
 3941         running discovery.
 3942        '''
 3943        self.egress_filter = egress_filter if egress_filter is not None else ''
 3944        '''
 3945         A filter applied to the routing logic to pin datasource to nodes.
 3946        '''
 3947        self.endpoint = endpoint if endpoint is not None else ''
 3948        '''
 3949         The endpoint to dial.
 3950        '''
 3951        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 3952        '''
 3953         The path used to check the health of your connection.  Defaults to `default`.
 3954        '''
 3955        self.healthy = healthy if healthy is not None else False
 3956        '''
 3957         True if the datasource is reachable and the credentials are valid.
 3958        '''
 3959        self.id = id if id is not None else ''
 3960        '''
 3961         Unique identifier of the Resource.
 3962        '''
 3963        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 3964        '''
 3965         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 3966        '''
 3967        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 3968        '''
 3969         The ID of the identity set to use for identity connections.
 3970        '''
 3971        self.name = name if name is not None else ''
 3972        '''
 3973         Unique human-readable name of the Resource.
 3974        '''
 3975        self.port_override = port_override if port_override is not None else 0
 3976        '''
 3977         The local port used by clients to connect to this resource.
 3978        '''
 3979        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3980        '''
 3981         ID of the proxy cluster for this resource, if any.
 3982        '''
 3983        self.region = region if region is not None else ''
 3984        '''
 3985         The AWS region to connect to e.g. us-east-1.
 3986        '''
 3987        self.role_arn = role_arn if role_arn is not None else ''
 3988        '''
 3989         The role to assume after logging in.
 3990        '''
 3991        self.role_external_id = role_external_id if role_external_id is not None else ''
 3992        '''
 3993         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 3994        '''
 3995        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3996        '''
 3997         ID of the secret store containing credentials for this resource, if any.
 3998        '''
 3999        self.subdomain = subdomain if subdomain is not None else ''
 4000        '''
 4001         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4002        '''
 4003        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4004        '''
 4005         Tags is a map of key, value pairs.
 4006        '''
 4007
 4008    def __repr__(self):
 4009        return '<sdm.AmazonEKSInstanceProfile ' + \
 4010            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4011            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4012            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4013            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4014            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4015            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4016            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4017            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4018            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4019            'healthy: ' + repr(self.healthy) + ' ' +\
 4020            'id: ' + repr(self.id) + ' ' +\
 4021            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4022            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4023            'name: ' + repr(self.name) + ' ' +\
 4024            'port_override: ' + repr(self.port_override) + ' ' +\
 4025            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4026            'region: ' + repr(self.region) + ' ' +\
 4027            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4028            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4029            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4030            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4031            'tags: ' + repr(self.tags) + ' ' +\
 4032            '>'
 4033
 4034    def to_dict(self):
 4035        return {
 4036            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4037            'bind_interface': self.bind_interface,
 4038            'certificate_authority': self.certificate_authority,
 4039            'cluster_name': self.cluster_name,
 4040            'discovery_enabled': self.discovery_enabled,
 4041            'discovery_username': self.discovery_username,
 4042            'egress_filter': self.egress_filter,
 4043            'endpoint': self.endpoint,
 4044            'healthcheck_namespace': self.healthcheck_namespace,
 4045            'healthy': self.healthy,
 4046            'id': self.id,
 4047            'identity_alias_healthcheck_username':
 4048            self.identity_alias_healthcheck_username,
 4049            'identity_set_id': self.identity_set_id,
 4050            'name': self.name,
 4051            'port_override': self.port_override,
 4052            'proxy_cluster_id': self.proxy_cluster_id,
 4053            'region': self.region,
 4054            'role_arn': self.role_arn,
 4055            'role_external_id': self.role_external_id,
 4056            'secret_store_id': self.secret_store_id,
 4057            'subdomain': self.subdomain,
 4058            'tags': self.tags,
 4059        }
 4060
 4061    @classmethod
 4062    def from_dict(cls, d):
 4063        return cls(
 4064            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4065            bind_interface=d.get('bind_interface'),
 4066            certificate_authority=d.get('certificate_authority'),
 4067            cluster_name=d.get('cluster_name'),
 4068            discovery_enabled=d.get('discovery_enabled'),
 4069            discovery_username=d.get('discovery_username'),
 4070            egress_filter=d.get('egress_filter'),
 4071            endpoint=d.get('endpoint'),
 4072            healthcheck_namespace=d.get('healthcheck_namespace'),
 4073            healthy=d.get('healthy'),
 4074            id=d.get('id'),
 4075            identity_alias_healthcheck_username=d.get(
 4076                'identity_alias_healthcheck_username'),
 4077            identity_set_id=d.get('identity_set_id'),
 4078            name=d.get('name'),
 4079            port_override=d.get('port_override'),
 4080            proxy_cluster_id=d.get('proxy_cluster_id'),
 4081            region=d.get('region'),
 4082            role_arn=d.get('role_arn'),
 4083            role_external_id=d.get('role_external_id'),
 4084            secret_store_id=d.get('secret_store_id'),
 4085            subdomain=d.get('subdomain'),
 4086            tags=d.get('tags'),
 4087        )
 4088
 4089
 4090class AmazonEKSInstanceProfileUserImpersonation:
 4091    __slots__ = [
 4092        'bind_interface',
 4093        'certificate_authority',
 4094        'cluster_name',
 4095        'egress_filter',
 4096        'endpoint',
 4097        'healthcheck_namespace',
 4098        'healthy',
 4099        'id',
 4100        'name',
 4101        'port_override',
 4102        'proxy_cluster_id',
 4103        'region',
 4104        'role_arn',
 4105        'role_external_id',
 4106        'secret_store_id',
 4107        'subdomain',
 4108        'tags',
 4109    ]
 4110
 4111    def __init__(
 4112        self,
 4113        bind_interface=None,
 4114        certificate_authority=None,
 4115        cluster_name=None,
 4116        egress_filter=None,
 4117        endpoint=None,
 4118        healthcheck_namespace=None,
 4119        healthy=None,
 4120        id=None,
 4121        name=None,
 4122        port_override=None,
 4123        proxy_cluster_id=None,
 4124        region=None,
 4125        role_arn=None,
 4126        role_external_id=None,
 4127        secret_store_id=None,
 4128        subdomain=None,
 4129        tags=None,
 4130    ):
 4131        self.bind_interface = bind_interface if bind_interface is not None else ''
 4132        '''
 4133         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4134        '''
 4135        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4136        '''
 4137         The CA to authenticate TLS connections with.
 4138        '''
 4139        self.cluster_name = cluster_name if cluster_name is not None else ''
 4140        '''
 4141         The name of the cluster to connect to.
 4142        '''
 4143        self.egress_filter = egress_filter if egress_filter is not None else ''
 4144        '''
 4145         A filter applied to the routing logic to pin datasource to nodes.
 4146        '''
 4147        self.endpoint = endpoint if endpoint is not None else ''
 4148        '''
 4149         The endpoint to dial.
 4150        '''
 4151        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4152        '''
 4153         The path used to check the health of your connection.  Defaults to `default`.
 4154        '''
 4155        self.healthy = healthy if healthy is not None else False
 4156        '''
 4157         True if the datasource is reachable and the credentials are valid.
 4158        '''
 4159        self.id = id if id is not None else ''
 4160        '''
 4161         Unique identifier of the Resource.
 4162        '''
 4163        self.name = name if name is not None else ''
 4164        '''
 4165         Unique human-readable name of the Resource.
 4166        '''
 4167        self.port_override = port_override if port_override is not None else 0
 4168        '''
 4169         The local port used by clients to connect to this resource.
 4170        '''
 4171        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4172        '''
 4173         ID of the proxy cluster for this resource, if any.
 4174        '''
 4175        self.region = region if region is not None else ''
 4176        '''
 4177         The AWS region to connect to e.g. us-east-1.
 4178        '''
 4179        self.role_arn = role_arn if role_arn is not None else ''
 4180        '''
 4181         The role to assume after logging in.
 4182        '''
 4183        self.role_external_id = role_external_id if role_external_id is not None else ''
 4184        '''
 4185         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4186        '''
 4187        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4188        '''
 4189         ID of the secret store containing credentials for this resource, if any.
 4190        '''
 4191        self.subdomain = subdomain if subdomain is not None else ''
 4192        '''
 4193         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4194        '''
 4195        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4196        '''
 4197         Tags is a map of key, value pairs.
 4198        '''
 4199
 4200    def __repr__(self):
 4201        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 4202            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4203            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4204            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4205            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4206            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4207            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4208            'healthy: ' + repr(self.healthy) + ' ' +\
 4209            'id: ' + repr(self.id) + ' ' +\
 4210            'name: ' + repr(self.name) + ' ' +\
 4211            'port_override: ' + repr(self.port_override) + ' ' +\
 4212            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4213            'region: ' + repr(self.region) + ' ' +\
 4214            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4215            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4216            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4217            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4218            'tags: ' + repr(self.tags) + ' ' +\
 4219            '>'
 4220
 4221    def to_dict(self):
 4222        return {
 4223            'bind_interface': self.bind_interface,
 4224            'certificate_authority': self.certificate_authority,
 4225            'cluster_name': self.cluster_name,
 4226            'egress_filter': self.egress_filter,
 4227            'endpoint': self.endpoint,
 4228            'healthcheck_namespace': self.healthcheck_namespace,
 4229            'healthy': self.healthy,
 4230            'id': self.id,
 4231            'name': self.name,
 4232            'port_override': self.port_override,
 4233            'proxy_cluster_id': self.proxy_cluster_id,
 4234            'region': self.region,
 4235            'role_arn': self.role_arn,
 4236            'role_external_id': self.role_external_id,
 4237            'secret_store_id': self.secret_store_id,
 4238            'subdomain': self.subdomain,
 4239            'tags': self.tags,
 4240        }
 4241
 4242    @classmethod
 4243    def from_dict(cls, d):
 4244        return cls(
 4245            bind_interface=d.get('bind_interface'),
 4246            certificate_authority=d.get('certificate_authority'),
 4247            cluster_name=d.get('cluster_name'),
 4248            egress_filter=d.get('egress_filter'),
 4249            endpoint=d.get('endpoint'),
 4250            healthcheck_namespace=d.get('healthcheck_namespace'),
 4251            healthy=d.get('healthy'),
 4252            id=d.get('id'),
 4253            name=d.get('name'),
 4254            port_override=d.get('port_override'),
 4255            proxy_cluster_id=d.get('proxy_cluster_id'),
 4256            region=d.get('region'),
 4257            role_arn=d.get('role_arn'),
 4258            role_external_id=d.get('role_external_id'),
 4259            secret_store_id=d.get('secret_store_id'),
 4260            subdomain=d.get('subdomain'),
 4261            tags=d.get('tags'),
 4262        )
 4263
 4264
 4265class AmazonEKSUserImpersonation:
 4266    __slots__ = [
 4267        'access_key',
 4268        'bind_interface',
 4269        'certificate_authority',
 4270        'cluster_name',
 4271        'egress_filter',
 4272        'endpoint',
 4273        'healthcheck_namespace',
 4274        'healthy',
 4275        'id',
 4276        'name',
 4277        'port_override',
 4278        'proxy_cluster_id',
 4279        'region',
 4280        'role_arn',
 4281        'role_external_id',
 4282        'secret_access_key',
 4283        'secret_store_id',
 4284        'subdomain',
 4285        'tags',
 4286    ]
 4287
 4288    def __init__(
 4289        self,
 4290        access_key=None,
 4291        bind_interface=None,
 4292        certificate_authority=None,
 4293        cluster_name=None,
 4294        egress_filter=None,
 4295        endpoint=None,
 4296        healthcheck_namespace=None,
 4297        healthy=None,
 4298        id=None,
 4299        name=None,
 4300        port_override=None,
 4301        proxy_cluster_id=None,
 4302        region=None,
 4303        role_arn=None,
 4304        role_external_id=None,
 4305        secret_access_key=None,
 4306        secret_store_id=None,
 4307        subdomain=None,
 4308        tags=None,
 4309    ):
 4310        self.access_key = access_key if access_key is not None else ''
 4311        '''
 4312         The Access Key ID to use to authenticate.
 4313        '''
 4314        self.bind_interface = bind_interface if bind_interface is not None else ''
 4315        '''
 4316         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4317        '''
 4318        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4319        '''
 4320         The CA to authenticate TLS connections with.
 4321        '''
 4322        self.cluster_name = cluster_name if cluster_name is not None else ''
 4323        '''
 4324         The name of the cluster to connect to.
 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.name = name if name is not None else ''
 4347        '''
 4348         Unique human-readable name of the Resource.
 4349        '''
 4350        self.port_override = port_override if port_override is not None else 0
 4351        '''
 4352         The local port used by clients to connect to this resource.
 4353        '''
 4354        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4355        '''
 4356         ID of the proxy cluster for this resource, if any.
 4357        '''
 4358        self.region = region if region is not None else ''
 4359        '''
 4360         The AWS region to connect to e.g. us-east-1.
 4361        '''
 4362        self.role_arn = role_arn if role_arn is not None else ''
 4363        '''
 4364         The role to assume after logging in.
 4365        '''
 4366        self.role_external_id = role_external_id if role_external_id is not None else ''
 4367        '''
 4368         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4369        '''
 4370        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4371        '''
 4372         The Secret Access Key to use to authenticate.
 4373        '''
 4374        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4375        '''
 4376         ID of the secret store containing credentials for this resource, if any.
 4377        '''
 4378        self.subdomain = subdomain if subdomain is not None else ''
 4379        '''
 4380         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4381        '''
 4382        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4383        '''
 4384         Tags is a map of key, value pairs.
 4385        '''
 4386
 4387    def __repr__(self):
 4388        return '<sdm.AmazonEKSUserImpersonation ' + \
 4389            'access_key: ' + repr(self.access_key) + ' ' +\
 4390            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4391            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4392            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4393            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4394            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4395            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4396            'healthy: ' + repr(self.healthy) + ' ' +\
 4397            'id: ' + repr(self.id) + ' ' +\
 4398            'name: ' + repr(self.name) + ' ' +\
 4399            'port_override: ' + repr(self.port_override) + ' ' +\
 4400            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4401            'region: ' + repr(self.region) + ' ' +\
 4402            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4403            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4404            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4405            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4406            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4407            'tags: ' + repr(self.tags) + ' ' +\
 4408            '>'
 4409
 4410    def to_dict(self):
 4411        return {
 4412            'access_key': self.access_key,
 4413            'bind_interface': self.bind_interface,
 4414            'certificate_authority': self.certificate_authority,
 4415            'cluster_name': self.cluster_name,
 4416            'egress_filter': self.egress_filter,
 4417            'endpoint': self.endpoint,
 4418            'healthcheck_namespace': self.healthcheck_namespace,
 4419            'healthy': self.healthy,
 4420            'id': self.id,
 4421            'name': self.name,
 4422            'port_override': self.port_override,
 4423            'proxy_cluster_id': self.proxy_cluster_id,
 4424            'region': self.region,
 4425            'role_arn': self.role_arn,
 4426            'role_external_id': self.role_external_id,
 4427            'secret_access_key': self.secret_access_key,
 4428            'secret_store_id': self.secret_store_id,
 4429            'subdomain': self.subdomain,
 4430            'tags': self.tags,
 4431        }
 4432
 4433    @classmethod
 4434    def from_dict(cls, d):
 4435        return cls(
 4436            access_key=d.get('access_key'),
 4437            bind_interface=d.get('bind_interface'),
 4438            certificate_authority=d.get('certificate_authority'),
 4439            cluster_name=d.get('cluster_name'),
 4440            egress_filter=d.get('egress_filter'),
 4441            endpoint=d.get('endpoint'),
 4442            healthcheck_namespace=d.get('healthcheck_namespace'),
 4443            healthy=d.get('healthy'),
 4444            id=d.get('id'),
 4445            name=d.get('name'),
 4446            port_override=d.get('port_override'),
 4447            proxy_cluster_id=d.get('proxy_cluster_id'),
 4448            region=d.get('region'),
 4449            role_arn=d.get('role_arn'),
 4450            role_external_id=d.get('role_external_id'),
 4451            secret_access_key=d.get('secret_access_key'),
 4452            secret_store_id=d.get('secret_store_id'),
 4453            subdomain=d.get('subdomain'),
 4454            tags=d.get('tags'),
 4455        )
 4456
 4457
 4458class AmazonES:
 4459    __slots__ = [
 4460        'access_key',
 4461        'bind_interface',
 4462        'egress_filter',
 4463        'endpoint',
 4464        'healthy',
 4465        'id',
 4466        'name',
 4467        'port_override',
 4468        'proxy_cluster_id',
 4469        'region',
 4470        'role_arn',
 4471        'role_external_id',
 4472        'secret_access_key',
 4473        'secret_store_id',
 4474        'subdomain',
 4475        'tags',
 4476    ]
 4477
 4478    def __init__(
 4479        self,
 4480        access_key=None,
 4481        bind_interface=None,
 4482        egress_filter=None,
 4483        endpoint=None,
 4484        healthy=None,
 4485        id=None,
 4486        name=None,
 4487        port_override=None,
 4488        proxy_cluster_id=None,
 4489        region=None,
 4490        role_arn=None,
 4491        role_external_id=None,
 4492        secret_access_key=None,
 4493        secret_store_id=None,
 4494        subdomain=None,
 4495        tags=None,
 4496    ):
 4497        self.access_key = access_key if access_key is not None else ''
 4498        '''
 4499         The Access Key ID to use to authenticate.
 4500        '''
 4501        self.bind_interface = bind_interface if bind_interface is not None else ''
 4502        '''
 4503         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4504        '''
 4505        self.egress_filter = egress_filter if egress_filter is not None else ''
 4506        '''
 4507         A filter applied to the routing logic to pin datasource to nodes.
 4508        '''
 4509        self.endpoint = endpoint if endpoint is not None else ''
 4510        '''
 4511         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 4512        '''
 4513        self.healthy = healthy if healthy is not None else False
 4514        '''
 4515         True if the datasource is reachable and the credentials are valid.
 4516        '''
 4517        self.id = id if id is not None else ''
 4518        '''
 4519         Unique identifier of the Resource.
 4520        '''
 4521        self.name = name if name is not None else ''
 4522        '''
 4523         Unique human-readable name of the Resource.
 4524        '''
 4525        self.port_override = port_override if port_override is not None else 0
 4526        '''
 4527         The local port used by clients to connect to this resource.
 4528        '''
 4529        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4530        '''
 4531         ID of the proxy cluster for this resource, if any.
 4532        '''
 4533        self.region = region if region is not None else ''
 4534        '''
 4535         The AWS region to connect to e.g. us-east-1.
 4536        '''
 4537        self.role_arn = role_arn if role_arn is not None else ''
 4538        '''
 4539         The role to assume after logging in.
 4540        '''
 4541        self.role_external_id = role_external_id if role_external_id is not None else ''
 4542        '''
 4543         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4544        '''
 4545        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4546        '''
 4547         The Secret Access Key to use to authenticate.
 4548        '''
 4549        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4550        '''
 4551         ID of the secret store containing credentials for this resource, if any.
 4552        '''
 4553        self.subdomain = subdomain if subdomain is not None else ''
 4554        '''
 4555         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4556        '''
 4557        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4558        '''
 4559         Tags is a map of key, value pairs.
 4560        '''
 4561
 4562    def __repr__(self):
 4563        return '<sdm.AmazonES ' + \
 4564            'access_key: ' + repr(self.access_key) + ' ' +\
 4565            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4566            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4567            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4568            'healthy: ' + repr(self.healthy) + ' ' +\
 4569            'id: ' + repr(self.id) + ' ' +\
 4570            'name: ' + repr(self.name) + ' ' +\
 4571            'port_override: ' + repr(self.port_override) + ' ' +\
 4572            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4573            'region: ' + repr(self.region) + ' ' +\
 4574            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4575            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4576            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4577            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4578            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4579            'tags: ' + repr(self.tags) + ' ' +\
 4580            '>'
 4581
 4582    def to_dict(self):
 4583        return {
 4584            'access_key': self.access_key,
 4585            'bind_interface': self.bind_interface,
 4586            'egress_filter': self.egress_filter,
 4587            'endpoint': self.endpoint,
 4588            'healthy': self.healthy,
 4589            'id': self.id,
 4590            'name': self.name,
 4591            'port_override': self.port_override,
 4592            'proxy_cluster_id': self.proxy_cluster_id,
 4593            'region': self.region,
 4594            'role_arn': self.role_arn,
 4595            'role_external_id': self.role_external_id,
 4596            'secret_access_key': self.secret_access_key,
 4597            'secret_store_id': self.secret_store_id,
 4598            'subdomain': self.subdomain,
 4599            'tags': self.tags,
 4600        }
 4601
 4602    @classmethod
 4603    def from_dict(cls, d):
 4604        return cls(
 4605            access_key=d.get('access_key'),
 4606            bind_interface=d.get('bind_interface'),
 4607            egress_filter=d.get('egress_filter'),
 4608            endpoint=d.get('endpoint'),
 4609            healthy=d.get('healthy'),
 4610            id=d.get('id'),
 4611            name=d.get('name'),
 4612            port_override=d.get('port_override'),
 4613            proxy_cluster_id=d.get('proxy_cluster_id'),
 4614            region=d.get('region'),
 4615            role_arn=d.get('role_arn'),
 4616            role_external_id=d.get('role_external_id'),
 4617            secret_access_key=d.get('secret_access_key'),
 4618            secret_store_id=d.get('secret_store_id'),
 4619            subdomain=d.get('subdomain'),
 4620            tags=d.get('tags'),
 4621        )
 4622
 4623
 4624class AmazonESIAM:
 4625    '''
 4626    AmazonESIAM is currently unstable, and its API may change, or it may be removed,
 4627    without a major version bump.
 4628    '''
 4629    __slots__ = [
 4630        'bind_interface',
 4631        'egress_filter',
 4632        'endpoint',
 4633        'healthy',
 4634        'id',
 4635        'name',
 4636        'port_override',
 4637        'proxy_cluster_id',
 4638        'region',
 4639        'role_arn',
 4640        'role_external_id',
 4641        'secret_store_id',
 4642        'subdomain',
 4643        'tags',
 4644        'tlsrequired',
 4645    ]
 4646
 4647    def __init__(
 4648        self,
 4649        bind_interface=None,
 4650        egress_filter=None,
 4651        endpoint=None,
 4652        healthy=None,
 4653        id=None,
 4654        name=None,
 4655        port_override=None,
 4656        proxy_cluster_id=None,
 4657        region=None,
 4658        role_arn=None,
 4659        role_external_id=None,
 4660        secret_store_id=None,
 4661        subdomain=None,
 4662        tags=None,
 4663        tlsrequired=None,
 4664    ):
 4665        self.bind_interface = bind_interface if bind_interface is not None else ''
 4666        '''
 4667         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4668        '''
 4669        self.egress_filter = egress_filter if egress_filter is not None else ''
 4670        '''
 4671         A filter applied to the routing logic to pin datasource to nodes.
 4672        '''
 4673        self.endpoint = endpoint if endpoint is not None else ''
 4674        '''
 4675         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 4676        '''
 4677        self.healthy = healthy if healthy is not None else False
 4678        '''
 4679         True if the datasource is reachable and the credentials are valid.
 4680        '''
 4681        self.id = id if id is not None else ''
 4682        '''
 4683         Unique identifier of the Resource.
 4684        '''
 4685        self.name = name if name is not None else ''
 4686        '''
 4687         Unique human-readable name of the Resource.
 4688        '''
 4689        self.port_override = port_override if port_override is not None else 0
 4690        '''
 4691         The local port used by clients to connect to this resource.
 4692        '''
 4693        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4694        '''
 4695         ID of the proxy cluster for this resource, if any.
 4696        '''
 4697        self.region = region if region is not None else ''
 4698        '''
 4699         The AWS region to connect to.
 4700        '''
 4701        self.role_arn = role_arn if role_arn is not None else ''
 4702        '''
 4703         The role to assume after logging in.
 4704        '''
 4705        self.role_external_id = role_external_id if role_external_id is not None else ''
 4706        '''
 4707         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4708        '''
 4709        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4710        '''
 4711         ID of the secret store containing credentials for this resource, if any.
 4712        '''
 4713        self.subdomain = subdomain if subdomain is not None else ''
 4714        '''
 4715         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4716        '''
 4717        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4718        '''
 4719         Tags is a map of key, value pairs.
 4720        '''
 4721        self.tlsrequired = tlsrequired if tlsrequired is not None else False
 4722        '''
 4723         Use TLS to connect to the OpenSearch server
 4724        '''
 4725
 4726    def __repr__(self):
 4727        return '<sdm.AmazonESIAM ' + \
 4728            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4729            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4730            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4731            'healthy: ' + repr(self.healthy) + ' ' +\
 4732            'id: ' + repr(self.id) + ' ' +\
 4733            'name: ' + repr(self.name) + ' ' +\
 4734            'port_override: ' + repr(self.port_override) + ' ' +\
 4735            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4736            'region: ' + repr(self.region) + ' ' +\
 4737            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4738            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4739            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4740            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4741            'tags: ' + repr(self.tags) + ' ' +\
 4742            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
 4743            '>'
 4744
 4745    def to_dict(self):
 4746        return {
 4747            'bind_interface': self.bind_interface,
 4748            'egress_filter': self.egress_filter,
 4749            'endpoint': self.endpoint,
 4750            'healthy': self.healthy,
 4751            'id': self.id,
 4752            'name': self.name,
 4753            'port_override': self.port_override,
 4754            'proxy_cluster_id': self.proxy_cluster_id,
 4755            'region': self.region,
 4756            'role_arn': self.role_arn,
 4757            'role_external_id': self.role_external_id,
 4758            'secret_store_id': self.secret_store_id,
 4759            'subdomain': self.subdomain,
 4760            'tags': self.tags,
 4761            'tlsrequired': self.tlsrequired,
 4762        }
 4763
 4764    @classmethod
 4765    def from_dict(cls, d):
 4766        return cls(
 4767            bind_interface=d.get('bind_interface'),
 4768            egress_filter=d.get('egress_filter'),
 4769            endpoint=d.get('endpoint'),
 4770            healthy=d.get('healthy'),
 4771            id=d.get('id'),
 4772            name=d.get('name'),
 4773            port_override=d.get('port_override'),
 4774            proxy_cluster_id=d.get('proxy_cluster_id'),
 4775            region=d.get('region'),
 4776            role_arn=d.get('role_arn'),
 4777            role_external_id=d.get('role_external_id'),
 4778            secret_store_id=d.get('secret_store_id'),
 4779            subdomain=d.get('subdomain'),
 4780            tags=d.get('tags'),
 4781            tlsrequired=d.get('tlsrequired'),
 4782        )
 4783
 4784
 4785class AmazonMQAMQP091:
 4786    __slots__ = [
 4787        'bind_interface',
 4788        'egress_filter',
 4789        'healthy',
 4790        'hostname',
 4791        'id',
 4792        'name',
 4793        'password',
 4794        'port',
 4795        'port_override',
 4796        'proxy_cluster_id',
 4797        'secret_store_id',
 4798        'subdomain',
 4799        'tags',
 4800        'tls_required',
 4801        'username',
 4802    ]
 4803
 4804    def __init__(
 4805        self,
 4806        bind_interface=None,
 4807        egress_filter=None,
 4808        healthy=None,
 4809        hostname=None,
 4810        id=None,
 4811        name=None,
 4812        password=None,
 4813        port=None,
 4814        port_override=None,
 4815        proxy_cluster_id=None,
 4816        secret_store_id=None,
 4817        subdomain=None,
 4818        tags=None,
 4819        tls_required=None,
 4820        username=None,
 4821    ):
 4822        self.bind_interface = bind_interface if bind_interface is not None else ''
 4823        '''
 4824         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4825        '''
 4826        self.egress_filter = egress_filter if egress_filter is not None else ''
 4827        '''
 4828         A filter applied to the routing logic to pin datasource to nodes.
 4829        '''
 4830        self.healthy = healthy if healthy is not None else False
 4831        '''
 4832         True if the datasource is reachable and the credentials are valid.
 4833        '''
 4834        self.hostname = hostname if hostname is not None else ''
 4835        '''
 4836         The host to dial to initiate a connection from the egress node to this resource.
 4837        '''
 4838        self.id = id if id is not None else ''
 4839        '''
 4840         Unique identifier of the Resource.
 4841        '''
 4842        self.name = name if name is not None else ''
 4843        '''
 4844         Unique human-readable name of the Resource.
 4845        '''
 4846        self.password = password if password is not None else ''
 4847        '''
 4848         The password to authenticate with.
 4849        '''
 4850        self.port = port if port is not None else 0
 4851        '''
 4852         The port to dial to initiate a connection from the egress node to this resource.
 4853        '''
 4854        self.port_override = port_override if port_override is not None else 0
 4855        '''
 4856         The local port used by clients to connect to this resource.
 4857        '''
 4858        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4859        '''
 4860         ID of the proxy cluster for this resource, if any.
 4861        '''
 4862        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4863        '''
 4864         ID of the secret store containing credentials for this resource, if any.
 4865        '''
 4866        self.subdomain = subdomain if subdomain is not None else ''
 4867        '''
 4868         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4869        '''
 4870        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4871        '''
 4872         Tags is a map of key, value pairs.
 4873        '''
 4874        self.tls_required = tls_required if tls_required is not None else False
 4875        '''
 4876         If set, TLS must be used to connect to this resource.
 4877        '''
 4878        self.username = username if username is not None else ''
 4879        '''
 4880         The username to authenticate with.
 4881        '''
 4882
 4883    def __repr__(self):
 4884        return '<sdm.AmazonMQAMQP091 ' + \
 4885            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4886            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4887            'healthy: ' + repr(self.healthy) + ' ' +\
 4888            'hostname: ' + repr(self.hostname) + ' ' +\
 4889            'id: ' + repr(self.id) + ' ' +\
 4890            'name: ' + repr(self.name) + ' ' +\
 4891            'password: ' + repr(self.password) + ' ' +\
 4892            'port: ' + repr(self.port) + ' ' +\
 4893            'port_override: ' + repr(self.port_override) + ' ' +\
 4894            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4895            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4896            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4897            'tags: ' + repr(self.tags) + ' ' +\
 4898            'tls_required: ' + repr(self.tls_required) + ' ' +\
 4899            'username: ' + repr(self.username) + ' ' +\
 4900            '>'
 4901
 4902    def to_dict(self):
 4903        return {
 4904            'bind_interface': self.bind_interface,
 4905            'egress_filter': self.egress_filter,
 4906            'healthy': self.healthy,
 4907            'hostname': self.hostname,
 4908            'id': self.id,
 4909            'name': self.name,
 4910            'password': self.password,
 4911            'port': self.port,
 4912            'port_override': self.port_override,
 4913            'proxy_cluster_id': self.proxy_cluster_id,
 4914            'secret_store_id': self.secret_store_id,
 4915            'subdomain': self.subdomain,
 4916            'tags': self.tags,
 4917            'tls_required': self.tls_required,
 4918            'username': self.username,
 4919        }
 4920
 4921    @classmethod
 4922    def from_dict(cls, d):
 4923        return cls(
 4924            bind_interface=d.get('bind_interface'),
 4925            egress_filter=d.get('egress_filter'),
 4926            healthy=d.get('healthy'),
 4927            hostname=d.get('hostname'),
 4928            id=d.get('id'),
 4929            name=d.get('name'),
 4930            password=d.get('password'),
 4931            port=d.get('port'),
 4932            port_override=d.get('port_override'),
 4933            proxy_cluster_id=d.get('proxy_cluster_id'),
 4934            secret_store_id=d.get('secret_store_id'),
 4935            subdomain=d.get('subdomain'),
 4936            tags=d.get('tags'),
 4937            tls_required=d.get('tls_required'),
 4938            username=d.get('username'),
 4939        )
 4940
 4941
 4942class ApprovalWorkflow:
 4943    '''
 4944         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 4945     approvers and be approved or denied.
 4946    '''
 4947    __slots__ = [
 4948        'approval_mode',
 4949        'description',
 4950        'id',
 4951        'name',
 4952    ]
 4953
 4954    def __init__(
 4955        self,
 4956        approval_mode=None,
 4957        description=None,
 4958        id=None,
 4959        name=None,
 4960    ):
 4961        self.approval_mode = approval_mode if approval_mode is not None else ''
 4962        '''
 4963         Approval mode of the ApprovalWorkflow
 4964        '''
 4965        self.description = description if description is not None else ''
 4966        '''
 4967         Optional description of the ApprovalWorkflow.
 4968        '''
 4969        self.id = id if id is not None else ''
 4970        '''
 4971         Unique identifier of the ApprovalWorkflow.
 4972        '''
 4973        self.name = name if name is not None else ''
 4974        '''
 4975         Unique human-readable name of the ApprovalWorkflow.
 4976        '''
 4977
 4978    def __repr__(self):
 4979        return '<sdm.ApprovalWorkflow ' + \
 4980            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 4981            'description: ' + repr(self.description) + ' ' +\
 4982            'id: ' + repr(self.id) + ' ' +\
 4983            'name: ' + repr(self.name) + ' ' +\
 4984            '>'
 4985
 4986    def to_dict(self):
 4987        return {
 4988            'approval_mode': self.approval_mode,
 4989            'description': self.description,
 4990            'id': self.id,
 4991            'name': self.name,
 4992        }
 4993
 4994    @classmethod
 4995    def from_dict(cls, d):
 4996        return cls(
 4997            approval_mode=d.get('approval_mode'),
 4998            description=d.get('description'),
 4999            id=d.get('id'),
 5000            name=d.get('name'),
 5001        )
 5002
 5003
 5004class ApprovalWorkflowApprover:
 5005    '''
 5006         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 5007    '''
 5008    __slots__ = [
 5009        'account_id',
 5010        'approval_flow_id',
 5011        'approval_step_id',
 5012        'id',
 5013        'role_id',
 5014    ]
 5015
 5016    def __init__(
 5017        self,
 5018        account_id=None,
 5019        approval_flow_id=None,
 5020        approval_step_id=None,
 5021        id=None,
 5022        role_id=None,
 5023    ):
 5024        self.account_id = account_id if account_id is not None else ''
 5025        '''
 5026         The approver account id.
 5027        '''
 5028        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 5029        '''
 5030         The approval flow id specified the approval workflow that this approver belongs to
 5031        '''
 5032        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 5033        '''
 5034         The approval step id specified the approval flow step that this approver belongs to
 5035        '''
 5036        self.id = id if id is not None else ''
 5037        '''
 5038         Unique identifier of the ApprovalWorkflowApprover.
 5039        '''
 5040        self.role_id = role_id if role_id is not None else ''
 5041        '''
 5042         The approver role id
 5043        '''
 5044
 5045    def __repr__(self):
 5046        return '<sdm.ApprovalWorkflowApprover ' + \
 5047            'account_id: ' + repr(self.account_id) + ' ' +\
 5048            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 5049            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 5050            'id: ' + repr(self.id) + ' ' +\
 5051            'role_id: ' + repr(self.role_id) + ' ' +\
 5052            '>'
 5053
 5054    def to_dict(self):
 5055        return {
 5056            'account_id': self.account_id,
 5057            'approval_flow_id': self.approval_flow_id,
 5058            'approval_step_id': self.approval_step_id,
 5059            'id': self.id,
 5060            'role_id': self.role_id,
 5061        }
 5062
 5063    @classmethod
 5064    def from_dict(cls, d):
 5065        return cls(
 5066            account_id=d.get('account_id'),
 5067            approval_flow_id=d.get('approval_flow_id'),
 5068            approval_step_id=d.get('approval_step_id'),
 5069            id=d.get('id'),
 5070            role_id=d.get('role_id'),
 5071        )
 5072
 5073
 5074class ApprovalWorkflowApproverCreateResponse:
 5075    '''
 5076         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 5077    '''
 5078    __slots__ = [
 5079        'approval_workflow_approver',
 5080        'rate_limit',
 5081    ]
 5082
 5083    def __init__(
 5084        self,
 5085        approval_workflow_approver=None,
 5086        rate_limit=None,
 5087    ):
 5088        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5089        '''
 5090         The created approval workflow approver.
 5091        '''
 5092        self.rate_limit = rate_limit if rate_limit is not None else None
 5093        '''
 5094         Rate limit information.
 5095        '''
 5096
 5097    def __repr__(self):
 5098        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 5099            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5100            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5101            '>'
 5102
 5103    def to_dict(self):
 5104        return {
 5105            'approval_workflow_approver': self.approval_workflow_approver,
 5106            'rate_limit': self.rate_limit,
 5107        }
 5108
 5109    @classmethod
 5110    def from_dict(cls, d):
 5111        return cls(
 5112            approval_workflow_approver=d.get('approval_workflow_approver'),
 5113            rate_limit=d.get('rate_limit'),
 5114        )
 5115
 5116
 5117class ApprovalWorkflowApproverDeleteResponse:
 5118    '''
 5119         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 5120    '''
 5121    __slots__ = [
 5122        'id',
 5123        'rate_limit',
 5124    ]
 5125
 5126    def __init__(
 5127        self,
 5128        id=None,
 5129        rate_limit=None,
 5130    ):
 5131        self.id = id if id is not None else ''
 5132        '''
 5133         The deleted approval workflow approver id.
 5134        '''
 5135        self.rate_limit = rate_limit if rate_limit is not None else None
 5136        '''
 5137         Rate limit information.
 5138        '''
 5139
 5140    def __repr__(self):
 5141        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 5142            'id: ' + repr(self.id) + ' ' +\
 5143            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5144            '>'
 5145
 5146    def to_dict(self):
 5147        return {
 5148            'id': self.id,
 5149            'rate_limit': self.rate_limit,
 5150        }
 5151
 5152    @classmethod
 5153    def from_dict(cls, d):
 5154        return cls(
 5155            id=d.get('id'),
 5156            rate_limit=d.get('rate_limit'),
 5157        )
 5158
 5159
 5160class ApprovalWorkflowApproverGetResponse:
 5161    '''
 5162         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 5163    '''
 5164    __slots__ = [
 5165        'approval_workflow_approver',
 5166        'meta',
 5167        'rate_limit',
 5168    ]
 5169
 5170    def __init__(
 5171        self,
 5172        approval_workflow_approver=None,
 5173        meta=None,
 5174        rate_limit=None,
 5175    ):
 5176        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5177        '''
 5178         The requested ApprovalWorkflowApprover.
 5179        '''
 5180        self.meta = meta if meta is not None else None
 5181        '''
 5182         Reserved for future use.
 5183        '''
 5184        self.rate_limit = rate_limit if rate_limit is not None else None
 5185        '''
 5186         Rate limit information.
 5187        '''
 5188
 5189    def __repr__(self):
 5190        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 5191            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5192            'meta: ' + repr(self.meta) + ' ' +\
 5193            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5194            '>'
 5195
 5196    def to_dict(self):
 5197        return {
 5198            'approval_workflow_approver': self.approval_workflow_approver,
 5199            'meta': self.meta,
 5200            'rate_limit': self.rate_limit,
 5201        }
 5202
 5203    @classmethod
 5204    def from_dict(cls, d):
 5205        return cls(
 5206            approval_workflow_approver=d.get('approval_workflow_approver'),
 5207            meta=d.get('meta'),
 5208            rate_limit=d.get('rate_limit'),
 5209        )
 5210
 5211
 5212class ApprovalWorkflowApproverHistory:
 5213    '''
 5214         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 5215     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 5216     ApprovalWorkflowApproverHistory record.
 5217    '''
 5218    __slots__ = [
 5219        'activity_id',
 5220        'approval_workflow_approver',
 5221        'deleted_at',
 5222        'timestamp',
 5223    ]
 5224
 5225    def __init__(
 5226        self,
 5227        activity_id=None,
 5228        approval_workflow_approver=None,
 5229        deleted_at=None,
 5230        timestamp=None,
 5231    ):
 5232        self.activity_id = activity_id if activity_id is not None else ''
 5233        '''
 5234         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 5235         May be empty for some system-initiated updates.
 5236        '''
 5237        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5238        '''
 5239         The complete ApprovalWorkflowApprover state at this time.
 5240        '''
 5241        self.deleted_at = deleted_at if deleted_at is not None else None
 5242        '''
 5243         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 5244        '''
 5245        self.timestamp = timestamp if timestamp is not None else None
 5246        '''
 5247         The time at which the ApprovalWorkflowApprover state was recorded.
 5248        '''
 5249
 5250    def __repr__(self):
 5251        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 5252            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5253            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5254            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5255            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5256            '>'
 5257
 5258    def to_dict(self):
 5259        return {
 5260            'activity_id': self.activity_id,
 5261            'approval_workflow_approver': self.approval_workflow_approver,
 5262            'deleted_at': self.deleted_at,
 5263            'timestamp': self.timestamp,
 5264        }
 5265
 5266    @classmethod
 5267    def from_dict(cls, d):
 5268        return cls(
 5269            activity_id=d.get('activity_id'),
 5270            approval_workflow_approver=d.get('approval_workflow_approver'),
 5271            deleted_at=d.get('deleted_at'),
 5272            timestamp=d.get('timestamp'),
 5273        )
 5274
 5275
 5276class ApprovalWorkflowApproverListResponse:
 5277    '''
 5278         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 5279     the criteria of an ApprovalWorkflowApproverListRequest.
 5280    '''
 5281    __slots__ = [
 5282        'rate_limit',
 5283    ]
 5284
 5285    def __init__(
 5286        self,
 5287        rate_limit=None,
 5288    ):
 5289        self.rate_limit = rate_limit if rate_limit is not None else None
 5290        '''
 5291         Rate limit information.
 5292        '''
 5293
 5294    def __repr__(self):
 5295        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 5296            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5297            '>'
 5298
 5299    def to_dict(self):
 5300        return {
 5301            'rate_limit': self.rate_limit,
 5302        }
 5303
 5304    @classmethod
 5305    def from_dict(cls, d):
 5306        return cls(rate_limit=d.get('rate_limit'), )
 5307
 5308
 5309class ApprovalWorkflowCreateResponse:
 5310    '''
 5311         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 5312    '''
 5313    __slots__ = [
 5314        'approval_workflow',
 5315        'rate_limit',
 5316    ]
 5317
 5318    def __init__(
 5319        self,
 5320        approval_workflow=None,
 5321        rate_limit=None,
 5322    ):
 5323        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5324        '''
 5325         The created approval workflow.
 5326        '''
 5327        self.rate_limit = rate_limit if rate_limit is not None else None
 5328        '''
 5329         Rate limit information.
 5330        '''
 5331
 5332    def __repr__(self):
 5333        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 5334            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5335            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5336            '>'
 5337
 5338    def to_dict(self):
 5339        return {
 5340            'approval_workflow': self.approval_workflow,
 5341            'rate_limit': self.rate_limit,
 5342        }
 5343
 5344    @classmethod
 5345    def from_dict(cls, d):
 5346        return cls(
 5347            approval_workflow=d.get('approval_workflow'),
 5348            rate_limit=d.get('rate_limit'),
 5349        )
 5350
 5351
 5352class ApprovalWorkflowDeleteResponse:
 5353    '''
 5354         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 5355    '''
 5356    __slots__ = [
 5357        'id',
 5358        'rate_limit',
 5359    ]
 5360
 5361    def __init__(
 5362        self,
 5363        id=None,
 5364        rate_limit=None,
 5365    ):
 5366        self.id = id if id is not None else ''
 5367        '''
 5368         The deleted approval workflow id.
 5369        '''
 5370        self.rate_limit = rate_limit if rate_limit is not None else None
 5371        '''
 5372         Rate limit information.
 5373        '''
 5374
 5375    def __repr__(self):
 5376        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 5377            'id: ' + repr(self.id) + ' ' +\
 5378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5379            '>'
 5380
 5381    def to_dict(self):
 5382        return {
 5383            'id': self.id,
 5384            'rate_limit': self.rate_limit,
 5385        }
 5386
 5387    @classmethod
 5388    def from_dict(cls, d):
 5389        return cls(
 5390            id=d.get('id'),
 5391            rate_limit=d.get('rate_limit'),
 5392        )
 5393
 5394
 5395class ApprovalWorkflowGetResponse:
 5396    '''
 5397         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 5398    '''
 5399    __slots__ = [
 5400        'approval_workflow',
 5401        'meta',
 5402        'rate_limit',
 5403    ]
 5404
 5405    def __init__(
 5406        self,
 5407        approval_workflow=None,
 5408        meta=None,
 5409        rate_limit=None,
 5410    ):
 5411        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5412        '''
 5413         The requested ApprovalWorkflow.
 5414        '''
 5415        self.meta = meta if meta is not None else None
 5416        '''
 5417         Reserved for future use.
 5418        '''
 5419        self.rate_limit = rate_limit if rate_limit is not None else None
 5420        '''
 5421         Rate limit information.
 5422        '''
 5423
 5424    def __repr__(self):
 5425        return '<sdm.ApprovalWorkflowGetResponse ' + \
 5426            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5427            'meta: ' + repr(self.meta) + ' ' +\
 5428            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5429            '>'
 5430
 5431    def to_dict(self):
 5432        return {
 5433            'approval_workflow': self.approval_workflow,
 5434            'meta': self.meta,
 5435            'rate_limit': self.rate_limit,
 5436        }
 5437
 5438    @classmethod
 5439    def from_dict(cls, d):
 5440        return cls(
 5441            approval_workflow=d.get('approval_workflow'),
 5442            meta=d.get('meta'),
 5443            rate_limit=d.get('rate_limit'),
 5444        )
 5445
 5446
 5447class ApprovalWorkflowHistory:
 5448    '''
 5449         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 5450     where every change (create, update and delete) to an ApprovalWorkflow produces an
 5451     ApprovalWorkflowHistory record.
 5452    '''
 5453    __slots__ = [
 5454        'activity_id',
 5455        'approval_workflow',
 5456        'deleted_at',
 5457        'timestamp',
 5458    ]
 5459
 5460    def __init__(
 5461        self,
 5462        activity_id=None,
 5463        approval_workflow=None,
 5464        deleted_at=None,
 5465        timestamp=None,
 5466    ):
 5467        self.activity_id = activity_id if activity_id is not None else ''
 5468        '''
 5469         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 5470         May be empty for some system-initiated updates.
 5471        '''
 5472        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5473        '''
 5474         The complete ApprovalWorkflow state at this time.
 5475        '''
 5476        self.deleted_at = deleted_at if deleted_at is not None else None
 5477        '''
 5478         If this ApprovalWorkflow was deleted, the time it was deleted.
 5479        '''
 5480        self.timestamp = timestamp if timestamp is not None else None
 5481        '''
 5482         The time at which the ApprovalWorkflow state was recorded.
 5483        '''
 5484
 5485    def __repr__(self):
 5486        return '<sdm.ApprovalWorkflowHistory ' + \
 5487            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5488            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5489            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5490            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5491            '>'
 5492
 5493    def to_dict(self):
 5494        return {
 5495            'activity_id': self.activity_id,
 5496            'approval_workflow': self.approval_workflow,
 5497            'deleted_at': self.deleted_at,
 5498            'timestamp': self.timestamp,
 5499        }
 5500
 5501    @classmethod
 5502    def from_dict(cls, d):
 5503        return cls(
 5504            activity_id=d.get('activity_id'),
 5505            approval_workflow=d.get('approval_workflow'),
 5506            deleted_at=d.get('deleted_at'),
 5507            timestamp=d.get('timestamp'),
 5508        )
 5509
 5510
 5511class ApprovalWorkflowListResponse:
 5512    '''
 5513         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 5514     the criteria of an ApprovalWorkflowListRequest.
 5515    '''
 5516    __slots__ = [
 5517        'rate_limit',
 5518    ]
 5519
 5520    def __init__(
 5521        self,
 5522        rate_limit=None,
 5523    ):
 5524        self.rate_limit = rate_limit if rate_limit is not None else None
 5525        '''
 5526         Rate limit information.
 5527        '''
 5528
 5529    def __repr__(self):
 5530        return '<sdm.ApprovalWorkflowListResponse ' + \
 5531            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5532            '>'
 5533
 5534    def to_dict(self):
 5535        return {
 5536            'rate_limit': self.rate_limit,
 5537        }
 5538
 5539    @classmethod
 5540    def from_dict(cls, d):
 5541        return cls(rate_limit=d.get('rate_limit'), )
 5542
 5543
 5544class ApprovalWorkflowStep:
 5545    '''
 5546         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 5547    '''
 5548    __slots__ = [
 5549        'approval_flow_id',
 5550        'id',
 5551    ]
 5552
 5553    def __init__(
 5554        self,
 5555        approval_flow_id=None,
 5556        id=None,
 5557    ):
 5558        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 5559        '''
 5560         The approval flow id specified the approval workfflow that this step belongs to
 5561        '''
 5562        self.id = id if id is not None else ''
 5563        '''
 5564         Unique identifier of the ApprovalWorkflowStep.
 5565        '''
 5566
 5567    def __repr__(self):
 5568        return '<sdm.ApprovalWorkflowStep ' + \
 5569            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 5570            'id: ' + repr(self.id) + ' ' +\
 5571            '>'
 5572
 5573    def to_dict(self):
 5574        return {
 5575            'approval_flow_id': self.approval_flow_id,
 5576            'id': self.id,
 5577        }
 5578
 5579    @classmethod
 5580    def from_dict(cls, d):
 5581        return cls(
 5582            approval_flow_id=d.get('approval_flow_id'),
 5583            id=d.get('id'),
 5584        )
 5585
 5586
 5587class ApprovalWorkflowStepCreateResponse:
 5588    '''
 5589         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 5590    '''
 5591    __slots__ = [
 5592        'approval_workflow_step',
 5593        'rate_limit',
 5594    ]
 5595
 5596    def __init__(
 5597        self,
 5598        approval_workflow_step=None,
 5599        rate_limit=None,
 5600    ):
 5601        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 5602        '''
 5603         The created approval workflow step.
 5604        '''
 5605        self.rate_limit = rate_limit if rate_limit is not None else None
 5606        '''
 5607         Rate limit information.
 5608        '''
 5609
 5610    def __repr__(self):
 5611        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 5612            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 5613            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5614            '>'
 5615
 5616    def to_dict(self):
 5617        return {
 5618            'approval_workflow_step': self.approval_workflow_step,
 5619            'rate_limit': self.rate_limit,
 5620        }
 5621
 5622    @classmethod
 5623    def from_dict(cls, d):
 5624        return cls(
 5625            approval_workflow_step=d.get('approval_workflow_step'),
 5626            rate_limit=d.get('rate_limit'),
 5627        )
 5628
 5629
 5630class ApprovalWorkflowStepDeleteResponse:
 5631    '''
 5632         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 5633    '''
 5634    __slots__ = [
 5635        'id',
 5636        'rate_limit',
 5637    ]
 5638
 5639    def __init__(
 5640        self,
 5641        id=None,
 5642        rate_limit=None,
 5643    ):
 5644        self.id = id if id is not None else ''
 5645        '''
 5646         The deleted approval workflow step id.
 5647        '''
 5648        self.rate_limit = rate_limit if rate_limit is not None else None
 5649        '''
 5650         Rate limit information.
 5651        '''
 5652
 5653    def __repr__(self):
 5654        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 5655            'id: ' + repr(self.id) + ' ' +\
 5656            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5657            '>'
 5658
 5659    def to_dict(self):
 5660        return {
 5661            'id': self.id,
 5662            'rate_limit': self.rate_limit,
 5663        }
 5664
 5665    @classmethod
 5666    def from_dict(cls, d):
 5667        return cls(
 5668            id=d.get('id'),
 5669            rate_limit=d.get('rate_limit'),
 5670        )
 5671
 5672
 5673class ApprovalWorkflowStepGetResponse:
 5674    '''
 5675         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 5676    '''
 5677    __slots__ = [
 5678        'approval_workflow_step',
 5679        'meta',
 5680        'rate_limit',
 5681    ]
 5682
 5683    def __init__(
 5684        self,
 5685        approval_workflow_step=None,
 5686        meta=None,
 5687        rate_limit=None,
 5688    ):
 5689        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 5690        '''
 5691         The requested ApprovalWorkflowStep.
 5692        '''
 5693        self.meta = meta if meta is not None else None
 5694        '''
 5695         Reserved for future use.
 5696        '''
 5697        self.rate_limit = rate_limit if rate_limit is not None else None
 5698        '''
 5699         Rate limit information.
 5700        '''
 5701
 5702    def __repr__(self):
 5703        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 5704            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 5705            'meta: ' + repr(self.meta) + ' ' +\
 5706            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5707            '>'
 5708
 5709    def to_dict(self):
 5710        return {
 5711            'approval_workflow_step': self.approval_workflow_step,
 5712            'meta': self.meta,
 5713            'rate_limit': self.rate_limit,
 5714        }
 5715
 5716    @classmethod
 5717    def from_dict(cls, d):
 5718        return cls(
 5719            approval_workflow_step=d.get('approval_workflow_step'),
 5720            meta=d.get('meta'),
 5721            rate_limit=d.get('rate_limit'),
 5722        )
 5723
 5724
 5725class ApprovalWorkflowStepHistory:
 5726    '''
 5727         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 5728     where every change (create or delete) to an ApprovalWorkflowStep produces an
 5729     ApprovalWorkflowStepHistory record.
 5730    '''
 5731    __slots__ = [
 5732        'activity_id',
 5733        'approval_workflow_step',
 5734        'deleted_at',
 5735        'timestamp',
 5736    ]
 5737
 5738    def __init__(
 5739        self,
 5740        activity_id=None,
 5741        approval_workflow_step=None,
 5742        deleted_at=None,
 5743        timestamp=None,
 5744    ):
 5745        self.activity_id = activity_id if activity_id is not None else ''
 5746        '''
 5747         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 5748         May be empty for some system-initiated updates.
 5749        '''
 5750        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 5751        '''
 5752         The complete ApprovalWorkflowStep state at this time.
 5753        '''
 5754        self.deleted_at = deleted_at if deleted_at is not None else None
 5755        '''
 5756         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 5757        '''
 5758        self.timestamp = timestamp if timestamp is not None else None
 5759        '''
 5760         The time at which the ApprovalWorkflowStep state was recorded.
 5761        '''
 5762
 5763    def __repr__(self):
 5764        return '<sdm.ApprovalWorkflowStepHistory ' + \
 5765            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5766            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 5767            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5768            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5769            '>'
 5770
 5771    def to_dict(self):
 5772        return {
 5773            'activity_id': self.activity_id,
 5774            'approval_workflow_step': self.approval_workflow_step,
 5775            'deleted_at': self.deleted_at,
 5776            'timestamp': self.timestamp,
 5777        }
 5778
 5779    @classmethod
 5780    def from_dict(cls, d):
 5781        return cls(
 5782            activity_id=d.get('activity_id'),
 5783            approval_workflow_step=d.get('approval_workflow_step'),
 5784            deleted_at=d.get('deleted_at'),
 5785            timestamp=d.get('timestamp'),
 5786        )
 5787
 5788
 5789class ApprovalWorkflowStepListResponse:
 5790    '''
 5791         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 5792     the criteria of an ApprovalWorkflowStepListRequest.
 5793    '''
 5794    __slots__ = [
 5795        'rate_limit',
 5796    ]
 5797
 5798    def __init__(
 5799        self,
 5800        rate_limit=None,
 5801    ):
 5802        self.rate_limit = rate_limit if rate_limit is not None else None
 5803        '''
 5804         Rate limit information.
 5805        '''
 5806
 5807    def __repr__(self):
 5808        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 5809            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5810            '>'
 5811
 5812    def to_dict(self):
 5813        return {
 5814            'rate_limit': self.rate_limit,
 5815        }
 5816
 5817    @classmethod
 5818    def from_dict(cls, d):
 5819        return cls(rate_limit=d.get('rate_limit'), )
 5820
 5821
 5822class ApprovalWorkflowUpdateResponse:
 5823    '''
 5824         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 5825     an ApprovalWorkflowUpdateRequest.
 5826    '''
 5827    __slots__ = [
 5828        'approval_workflow',
 5829        'rate_limit',
 5830    ]
 5831
 5832    def __init__(
 5833        self,
 5834        approval_workflow=None,
 5835        rate_limit=None,
 5836    ):
 5837        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5838        '''
 5839         The updated approval workflow.
 5840        '''
 5841        self.rate_limit = rate_limit if rate_limit is not None else None
 5842        '''
 5843         Rate limit information.
 5844        '''
 5845
 5846    def __repr__(self):
 5847        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 5848            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5849            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5850            '>'
 5851
 5852    def to_dict(self):
 5853        return {
 5854            'approval_workflow': self.approval_workflow,
 5855            'rate_limit': self.rate_limit,
 5856        }
 5857
 5858    @classmethod
 5859    def from_dict(cls, d):
 5860        return cls(
 5861            approval_workflow=d.get('approval_workflow'),
 5862            rate_limit=d.get('rate_limit'),
 5863        )
 5864
 5865
 5866class Athena:
 5867    __slots__ = [
 5868        'access_key',
 5869        'bind_interface',
 5870        'egress_filter',
 5871        'healthy',
 5872        'id',
 5873        'name',
 5874        'output',
 5875        'port_override',
 5876        'proxy_cluster_id',
 5877        'region',
 5878        'role_arn',
 5879        'role_external_id',
 5880        'secret_access_key',
 5881        'secret_store_id',
 5882        'subdomain',
 5883        'tags',
 5884    ]
 5885
 5886    def __init__(
 5887        self,
 5888        access_key=None,
 5889        bind_interface=None,
 5890        egress_filter=None,
 5891        healthy=None,
 5892        id=None,
 5893        name=None,
 5894        output=None,
 5895        port_override=None,
 5896        proxy_cluster_id=None,
 5897        region=None,
 5898        role_arn=None,
 5899        role_external_id=None,
 5900        secret_access_key=None,
 5901        secret_store_id=None,
 5902        subdomain=None,
 5903        tags=None,
 5904    ):
 5905        self.access_key = access_key if access_key is not None else ''
 5906        '''
 5907         The Access Key ID to use to authenticate.
 5908        '''
 5909        self.bind_interface = bind_interface if bind_interface is not None else ''
 5910        '''
 5911         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5912        '''
 5913        self.egress_filter = egress_filter if egress_filter is not None else ''
 5914        '''
 5915         A filter applied to the routing logic to pin datasource to nodes.
 5916        '''
 5917        self.healthy = healthy if healthy is not None else False
 5918        '''
 5919         True if the datasource is reachable and the credentials are valid.
 5920        '''
 5921        self.id = id if id is not None else ''
 5922        '''
 5923         Unique identifier of the Resource.
 5924        '''
 5925        self.name = name if name is not None else ''
 5926        '''
 5927         Unique human-readable name of the Resource.
 5928        '''
 5929        self.output = output if output is not None else ''
 5930        '''
 5931         The AWS S3 output location.
 5932        '''
 5933        self.port_override = port_override if port_override is not None else 0
 5934        '''
 5935         The local port used by clients to connect to this resource.
 5936        '''
 5937        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5938        '''
 5939         ID of the proxy cluster for this resource, if any.
 5940        '''
 5941        self.region = region if region is not None else ''
 5942        '''
 5943         The AWS region to connect to e.g. us-east-1.
 5944        '''
 5945        self.role_arn = role_arn if role_arn is not None else ''
 5946        '''
 5947         The role to assume after logging in.
 5948        '''
 5949        self.role_external_id = role_external_id if role_external_id is not None else ''
 5950        '''
 5951         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5952        '''
 5953        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 5954        '''
 5955         The Secret Access Key to use to authenticate.
 5956        '''
 5957        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5958        '''
 5959         ID of the secret store containing credentials for this resource, if any.
 5960        '''
 5961        self.subdomain = subdomain if subdomain is not None else ''
 5962        '''
 5963         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5964        '''
 5965        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5966        '''
 5967         Tags is a map of key, value pairs.
 5968        '''
 5969
 5970    def __repr__(self):
 5971        return '<sdm.Athena ' + \
 5972            'access_key: ' + repr(self.access_key) + ' ' +\
 5973            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5974            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5975            'healthy: ' + repr(self.healthy) + ' ' +\
 5976            'id: ' + repr(self.id) + ' ' +\
 5977            'name: ' + repr(self.name) + ' ' +\
 5978            'output: ' + repr(self.output) + ' ' +\
 5979            'port_override: ' + repr(self.port_override) + ' ' +\
 5980            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5981            'region: ' + repr(self.region) + ' ' +\
 5982            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5983            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5984            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 5985            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5986            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5987            'tags: ' + repr(self.tags) + ' ' +\
 5988            '>'
 5989
 5990    def to_dict(self):
 5991        return {
 5992            'access_key': self.access_key,
 5993            'bind_interface': self.bind_interface,
 5994            'egress_filter': self.egress_filter,
 5995            'healthy': self.healthy,
 5996            'id': self.id,
 5997            'name': self.name,
 5998            'output': self.output,
 5999            'port_override': self.port_override,
 6000            'proxy_cluster_id': self.proxy_cluster_id,
 6001            'region': self.region,
 6002            'role_arn': self.role_arn,
 6003            'role_external_id': self.role_external_id,
 6004            'secret_access_key': self.secret_access_key,
 6005            'secret_store_id': self.secret_store_id,
 6006            'subdomain': self.subdomain,
 6007            'tags': self.tags,
 6008        }
 6009
 6010    @classmethod
 6011    def from_dict(cls, d):
 6012        return cls(
 6013            access_key=d.get('access_key'),
 6014            bind_interface=d.get('bind_interface'),
 6015            egress_filter=d.get('egress_filter'),
 6016            healthy=d.get('healthy'),
 6017            id=d.get('id'),
 6018            name=d.get('name'),
 6019            output=d.get('output'),
 6020            port_override=d.get('port_override'),
 6021            proxy_cluster_id=d.get('proxy_cluster_id'),
 6022            region=d.get('region'),
 6023            role_arn=d.get('role_arn'),
 6024            role_external_id=d.get('role_external_id'),
 6025            secret_access_key=d.get('secret_access_key'),
 6026            secret_store_id=d.get('secret_store_id'),
 6027            subdomain=d.get('subdomain'),
 6028            tags=d.get('tags'),
 6029        )
 6030
 6031
 6032class AthenaIAM:
 6033    __slots__ = [
 6034        'bind_interface',
 6035        'egress_filter',
 6036        'healthy',
 6037        'id',
 6038        'name',
 6039        'output',
 6040        'port_override',
 6041        'proxy_cluster_id',
 6042        'region',
 6043        'role_arn',
 6044        'role_external_id',
 6045        'secret_store_id',
 6046        'subdomain',
 6047        'tags',
 6048    ]
 6049
 6050    def __init__(
 6051        self,
 6052        bind_interface=None,
 6053        egress_filter=None,
 6054        healthy=None,
 6055        id=None,
 6056        name=None,
 6057        output=None,
 6058        port_override=None,
 6059        proxy_cluster_id=None,
 6060        region=None,
 6061        role_arn=None,
 6062        role_external_id=None,
 6063        secret_store_id=None,
 6064        subdomain=None,
 6065        tags=None,
 6066    ):
 6067        self.bind_interface = bind_interface if bind_interface is not None else ''
 6068        '''
 6069         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6070        '''
 6071        self.egress_filter = egress_filter if egress_filter is not None else ''
 6072        '''
 6073         A filter applied to the routing logic to pin datasource to nodes.
 6074        '''
 6075        self.healthy = healthy if healthy is not None else False
 6076        '''
 6077         True if the datasource is reachable and the credentials are valid.
 6078        '''
 6079        self.id = id if id is not None else ''
 6080        '''
 6081         Unique identifier of the Resource.
 6082        '''
 6083        self.name = name if name is not None else ''
 6084        '''
 6085         Unique human-readable name of the Resource.
 6086        '''
 6087        self.output = output if output is not None else ''
 6088        '''
 6089         The AWS S3 output location.
 6090        '''
 6091        self.port_override = port_override if port_override is not None else 0
 6092        '''
 6093         The local port used by clients to connect to this resource.
 6094        '''
 6095        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6096        '''
 6097         ID of the proxy cluster for this resource, if any.
 6098        '''
 6099        self.region = region if region is not None else ''
 6100        '''
 6101         The AWS region to connect to e.g. us-east-1.
 6102        '''
 6103        self.role_arn = role_arn if role_arn is not None else ''
 6104        '''
 6105         The role to assume after logging in.
 6106        '''
 6107        self.role_external_id = role_external_id if role_external_id is not None else ''
 6108        '''
 6109         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6110        '''
 6111        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6112        '''
 6113         ID of the secret store containing credentials for this resource, if any.
 6114        '''
 6115        self.subdomain = subdomain if subdomain is not None else ''
 6116        '''
 6117         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6118        '''
 6119        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6120        '''
 6121         Tags is a map of key, value pairs.
 6122        '''
 6123
 6124    def __repr__(self):
 6125        return '<sdm.AthenaIAM ' + \
 6126            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6127            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6128            'healthy: ' + repr(self.healthy) + ' ' +\
 6129            'id: ' + repr(self.id) + ' ' +\
 6130            'name: ' + repr(self.name) + ' ' +\
 6131            'output: ' + repr(self.output) + ' ' +\
 6132            'port_override: ' + repr(self.port_override) + ' ' +\
 6133            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6134            'region: ' + repr(self.region) + ' ' +\
 6135            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6136            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6137            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6138            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6139            'tags: ' + repr(self.tags) + ' ' +\
 6140            '>'
 6141
 6142    def to_dict(self):
 6143        return {
 6144            'bind_interface': self.bind_interface,
 6145            'egress_filter': self.egress_filter,
 6146            'healthy': self.healthy,
 6147            'id': self.id,
 6148            'name': self.name,
 6149            'output': self.output,
 6150            'port_override': self.port_override,
 6151            'proxy_cluster_id': self.proxy_cluster_id,
 6152            'region': self.region,
 6153            'role_arn': self.role_arn,
 6154            'role_external_id': self.role_external_id,
 6155            'secret_store_id': self.secret_store_id,
 6156            'subdomain': self.subdomain,
 6157            'tags': self.tags,
 6158        }
 6159
 6160    @classmethod
 6161    def from_dict(cls, d):
 6162        return cls(
 6163            bind_interface=d.get('bind_interface'),
 6164            egress_filter=d.get('egress_filter'),
 6165            healthy=d.get('healthy'),
 6166            id=d.get('id'),
 6167            name=d.get('name'),
 6168            output=d.get('output'),
 6169            port_override=d.get('port_override'),
 6170            proxy_cluster_id=d.get('proxy_cluster_id'),
 6171            region=d.get('region'),
 6172            role_arn=d.get('role_arn'),
 6173            role_external_id=d.get('role_external_id'),
 6174            secret_store_id=d.get('secret_store_id'),
 6175            subdomain=d.get('subdomain'),
 6176            tags=d.get('tags'),
 6177        )
 6178
 6179
 6180class AuroraMysql:
 6181    __slots__ = [
 6182        'bind_interface',
 6183        'database',
 6184        'egress_filter',
 6185        'healthy',
 6186        'hostname',
 6187        'id',
 6188        'name',
 6189        'password',
 6190        'port',
 6191        'port_override',
 6192        'proxy_cluster_id',
 6193        'require_native_auth',
 6194        'secret_store_id',
 6195        'subdomain',
 6196        'tags',
 6197        'use_azure_single_server_usernames',
 6198        'username',
 6199    ]
 6200
 6201    def __init__(
 6202        self,
 6203        bind_interface=None,
 6204        database=None,
 6205        egress_filter=None,
 6206        healthy=None,
 6207        hostname=None,
 6208        id=None,
 6209        name=None,
 6210        password=None,
 6211        port=None,
 6212        port_override=None,
 6213        proxy_cluster_id=None,
 6214        require_native_auth=None,
 6215        secret_store_id=None,
 6216        subdomain=None,
 6217        tags=None,
 6218        use_azure_single_server_usernames=None,
 6219        username=None,
 6220    ):
 6221        self.bind_interface = bind_interface if bind_interface is not None else ''
 6222        '''
 6223         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6224        '''
 6225        self.database = database if database is not None else ''
 6226        '''
 6227         The database for healthchecks. Does not affect client requests
 6228        '''
 6229        self.egress_filter = egress_filter if egress_filter is not None else ''
 6230        '''
 6231         A filter applied to the routing logic to pin datasource to nodes.
 6232        '''
 6233        self.healthy = healthy if healthy is not None else False
 6234        '''
 6235         True if the datasource is reachable and the credentials are valid.
 6236        '''
 6237        self.hostname = hostname if hostname is not None else ''
 6238        '''
 6239         The host to dial to initiate a connection from the egress node to this resource.
 6240        '''
 6241        self.id = id if id is not None else ''
 6242        '''
 6243         Unique identifier of the Resource.
 6244        '''
 6245        self.name = name if name is not None else ''
 6246        '''
 6247         Unique human-readable name of the Resource.
 6248        '''
 6249        self.password = password if password is not None else ''
 6250        '''
 6251         The password to authenticate with.
 6252        '''
 6253        self.port = port if port is not None else 0
 6254        '''
 6255         The port to dial to initiate a connection from the egress node to this resource.
 6256        '''
 6257        self.port_override = port_override if port_override is not None else 0
 6258        '''
 6259         The local port used by clients to connect to this resource.
 6260        '''
 6261        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6262        '''
 6263         ID of the proxy cluster for this resource, if any.
 6264        '''
 6265        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 6266        '''
 6267         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 6268        '''
 6269        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6270        '''
 6271         ID of the secret store containing credentials for this resource, if any.
 6272        '''
 6273        self.subdomain = subdomain if subdomain is not None else ''
 6274        '''
 6275         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6276        '''
 6277        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6278        '''
 6279         Tags is a map of key, value pairs.
 6280        '''
 6281        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 6282        '''
 6283         If true, appends the hostname to the username when hitting a database.azure.com address
 6284        '''
 6285        self.username = username if username is not None else ''
 6286        '''
 6287         The username to authenticate with.
 6288        '''
 6289
 6290    def __repr__(self):
 6291        return '<sdm.AuroraMysql ' + \
 6292            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6293            'database: ' + repr(self.database) + ' ' +\
 6294            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6295            'healthy: ' + repr(self.healthy) + ' ' +\
 6296            'hostname: ' + repr(self.hostname) + ' ' +\
 6297            'id: ' + repr(self.id) + ' ' +\
 6298            'name: ' + repr(self.name) + ' ' +\
 6299            'password: ' + repr(self.password) + ' ' +\
 6300            'port: ' + repr(self.port) + ' ' +\
 6301            'port_override: ' + repr(self.port_override) + ' ' +\
 6302            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6303            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 6304            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6305            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6306            'tags: ' + repr(self.tags) + ' ' +\
 6307            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 6308            'username: ' + repr(self.username) + ' ' +\
 6309            '>'
 6310
 6311    def to_dict(self):
 6312        return {
 6313            'bind_interface': self.bind_interface,
 6314            'database': self.database,
 6315            'egress_filter': self.egress_filter,
 6316            'healthy': self.healthy,
 6317            'hostname': self.hostname,
 6318            'id': self.id,
 6319            'name': self.name,
 6320            'password': self.password,
 6321            'port': self.port,
 6322            'port_override': self.port_override,
 6323            'proxy_cluster_id': self.proxy_cluster_id,
 6324            'require_native_auth': self.require_native_auth,
 6325            'secret_store_id': self.secret_store_id,
 6326            'subdomain': self.subdomain,
 6327            'tags': self.tags,
 6328            'use_azure_single_server_usernames':
 6329            self.use_azure_single_server_usernames,
 6330            'username': self.username,
 6331        }
 6332
 6333    @classmethod
 6334    def from_dict(cls, d):
 6335        return cls(
 6336            bind_interface=d.get('bind_interface'),
 6337            database=d.get('database'),
 6338            egress_filter=d.get('egress_filter'),
 6339            healthy=d.get('healthy'),
 6340            hostname=d.get('hostname'),
 6341            id=d.get('id'),
 6342            name=d.get('name'),
 6343            password=d.get('password'),
 6344            port=d.get('port'),
 6345            port_override=d.get('port_override'),
 6346            proxy_cluster_id=d.get('proxy_cluster_id'),
 6347            require_native_auth=d.get('require_native_auth'),
 6348            secret_store_id=d.get('secret_store_id'),
 6349            subdomain=d.get('subdomain'),
 6350            tags=d.get('tags'),
 6351            use_azure_single_server_usernames=d.get(
 6352                'use_azure_single_server_usernames'),
 6353            username=d.get('username'),
 6354        )
 6355
 6356
 6357class AuroraMysqlIAM:
 6358    __slots__ = [
 6359        'bind_interface',
 6360        'database',
 6361        'egress_filter',
 6362        'healthy',
 6363        'hostname',
 6364        'id',
 6365        'name',
 6366        'port',
 6367        'port_override',
 6368        'proxy_cluster_id',
 6369        'region',
 6370        'role_assumption_arn',
 6371        'secret_store_id',
 6372        'subdomain',
 6373        'tags',
 6374        'username',
 6375    ]
 6376
 6377    def __init__(
 6378        self,
 6379        bind_interface=None,
 6380        database=None,
 6381        egress_filter=None,
 6382        healthy=None,
 6383        hostname=None,
 6384        id=None,
 6385        name=None,
 6386        port=None,
 6387        port_override=None,
 6388        proxy_cluster_id=None,
 6389        region=None,
 6390        role_assumption_arn=None,
 6391        secret_store_id=None,
 6392        subdomain=None,
 6393        tags=None,
 6394        username=None,
 6395    ):
 6396        self.bind_interface = bind_interface if bind_interface is not None else ''
 6397        '''
 6398         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6399        '''
 6400        self.database = database if database is not None else ''
 6401        '''
 6402         The database for healthchecks. Does not affect client requests
 6403        '''
 6404        self.egress_filter = egress_filter if egress_filter is not None else ''
 6405        '''
 6406         A filter applied to the routing logic to pin datasource to nodes.
 6407        '''
 6408        self.healthy = healthy if healthy is not None else False
 6409        '''
 6410         True if the datasource is reachable and the credentials are valid.
 6411        '''
 6412        self.hostname = hostname if hostname is not None else ''
 6413        '''
 6414         The host to dial to initiate a connection from the egress node to this resource.
 6415        '''
 6416        self.id = id if id is not None else ''
 6417        '''
 6418         Unique identifier of the Resource.
 6419        '''
 6420        self.name = name if name is not None else ''
 6421        '''
 6422         Unique human-readable name of the Resource.
 6423        '''
 6424        self.port = port if port is not None else 0
 6425        '''
 6426         The port to dial to initiate a connection from the egress node to this resource.
 6427        '''
 6428        self.port_override = port_override if port_override is not None else 0
 6429        '''
 6430         The local port used by clients to connect to this resource.
 6431        '''
 6432        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6433        '''
 6434         ID of the proxy cluster for this resource, if any.
 6435        '''
 6436        self.region = region if region is not None else ''
 6437        '''
 6438         The AWS region to connect to.
 6439        '''
 6440        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 6441        '''
 6442         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 6443        '''
 6444        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6445        '''
 6446         ID of the secret store containing credentials for this resource, if any.
 6447        '''
 6448        self.subdomain = subdomain if subdomain is not None else ''
 6449        '''
 6450         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6451        '''
 6452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6453        '''
 6454         Tags is a map of key, value pairs.
 6455        '''
 6456        self.username = username if username is not None else ''
 6457        '''
 6458         The username to authenticate with.
 6459        '''
 6460
 6461    def __repr__(self):
 6462        return '<sdm.AuroraMysqlIAM ' + \
 6463            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6464            'database: ' + repr(self.database) + ' ' +\
 6465            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6466            'healthy: ' + repr(self.healthy) + ' ' +\
 6467            'hostname: ' + repr(self.hostname) + ' ' +\
 6468            'id: ' + repr(self.id) + ' ' +\
 6469            'name: ' + repr(self.name) + ' ' +\
 6470            'port: ' + repr(self.port) + ' ' +\
 6471            'port_override: ' + repr(self.port_override) + ' ' +\
 6472            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6473            'region: ' + repr(self.region) + ' ' +\
 6474            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 6475            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6476            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6477            'tags: ' + repr(self.tags) + ' ' +\
 6478            'username: ' + repr(self.username) + ' ' +\
 6479            '>'
 6480
 6481    def to_dict(self):
 6482        return {
 6483            'bind_interface': self.bind_interface,
 6484            'database': self.database,
 6485            'egress_filter': self.egress_filter,
 6486            'healthy': self.healthy,
 6487            'hostname': self.hostname,
 6488            'id': self.id,
 6489            'name': self.name,
 6490            'port': self.port,
 6491            'port_override': self.port_override,
 6492            'proxy_cluster_id': self.proxy_cluster_id,
 6493            'region': self.region,
 6494            'role_assumption_arn': self.role_assumption_arn,
 6495            'secret_store_id': self.secret_store_id,
 6496            'subdomain': self.subdomain,
 6497            'tags': self.tags,
 6498            'username': self.username,
 6499        }
 6500
 6501    @classmethod
 6502    def from_dict(cls, d):
 6503        return cls(
 6504            bind_interface=d.get('bind_interface'),
 6505            database=d.get('database'),
 6506            egress_filter=d.get('egress_filter'),
 6507            healthy=d.get('healthy'),
 6508            hostname=d.get('hostname'),
 6509            id=d.get('id'),
 6510            name=d.get('name'),
 6511            port=d.get('port'),
 6512            port_override=d.get('port_override'),
 6513            proxy_cluster_id=d.get('proxy_cluster_id'),
 6514            region=d.get('region'),
 6515            role_assumption_arn=d.get('role_assumption_arn'),
 6516            secret_store_id=d.get('secret_store_id'),
 6517            subdomain=d.get('subdomain'),
 6518            tags=d.get('tags'),
 6519            username=d.get('username'),
 6520        )
 6521
 6522
 6523class AuroraPostgres:
 6524    __slots__ = [
 6525        'bind_interface',
 6526        'database',
 6527        'egress_filter',
 6528        'healthy',
 6529        'hostname',
 6530        'id',
 6531        'name',
 6532        'override_database',
 6533        'password',
 6534        'port',
 6535        'port_override',
 6536        'proxy_cluster_id',
 6537        'secret_store_id',
 6538        'subdomain',
 6539        'tags',
 6540        'username',
 6541    ]
 6542
 6543    def __init__(
 6544        self,
 6545        bind_interface=None,
 6546        database=None,
 6547        egress_filter=None,
 6548        healthy=None,
 6549        hostname=None,
 6550        id=None,
 6551        name=None,
 6552        override_database=None,
 6553        password=None,
 6554        port=None,
 6555        port_override=None,
 6556        proxy_cluster_id=None,
 6557        secret_store_id=None,
 6558        subdomain=None,
 6559        tags=None,
 6560        username=None,
 6561    ):
 6562        self.bind_interface = bind_interface if bind_interface is not None else ''
 6563        '''
 6564         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6565        '''
 6566        self.database = database if database is not None else ''
 6567        '''
 6568         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 6569        '''
 6570        self.egress_filter = egress_filter if egress_filter is not None else ''
 6571        '''
 6572         A filter applied to the routing logic to pin datasource to nodes.
 6573        '''
 6574        self.healthy = healthy if healthy is not None else False
 6575        '''
 6576         True if the datasource is reachable and the credentials are valid.
 6577        '''
 6578        self.hostname = hostname if hostname is not None else ''
 6579        '''
 6580         The host to dial to initiate a connection from the egress node to this resource.
 6581        '''
 6582        self.id = id if id is not None else ''
 6583        '''
 6584         Unique identifier of the Resource.
 6585        '''
 6586        self.name = name if name is not None else ''
 6587        '''
 6588         Unique human-readable name of the Resource.
 6589        '''
 6590        self.override_database = override_database if override_database is not None else False
 6591        '''
 6592         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.
 6593        '''
 6594        self.password = password if password is not None else ''
 6595        '''
 6596         The password to authenticate with.
 6597        '''
 6598        self.port = port if port is not None else 0
 6599        '''
 6600         The port to dial to initiate a connection from the egress node to this resource.
 6601        '''
 6602        self.port_override = port_override if port_override is not None else 0
 6603        '''
 6604         The local port used by clients to connect to this resource.
 6605        '''
 6606        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6607        '''
 6608         ID of the proxy cluster for this resource, if any.
 6609        '''
 6610        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6611        '''
 6612         ID of the secret store containing credentials for this resource, if any.
 6613        '''
 6614        self.subdomain = subdomain if subdomain is not None else ''
 6615        '''
 6616         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6617        '''
 6618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6619        '''
 6620         Tags is a map of key, value pairs.
 6621        '''
 6622        self.username = username if username is not None else ''
 6623        '''
 6624         The username to authenticate with.
 6625        '''
 6626
 6627    def __repr__(self):
 6628        return '<sdm.AuroraPostgres ' + \
 6629            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6630            'database: ' + repr(self.database) + ' ' +\
 6631            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6632            'healthy: ' + repr(self.healthy) + ' ' +\
 6633            'hostname: ' + repr(self.hostname) + ' ' +\
 6634            'id: ' + repr(self.id) + ' ' +\
 6635            'name: ' + repr(self.name) + ' ' +\
 6636            'override_database: ' + repr(self.override_database) + ' ' +\
 6637            'password: ' + repr(self.password) + ' ' +\
 6638            'port: ' + repr(self.port) + ' ' +\
 6639            'port_override: ' + repr(self.port_override) + ' ' +\
 6640            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6641            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6642            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6643            'tags: ' + repr(self.tags) + ' ' +\
 6644            'username: ' + repr(self.username) + ' ' +\
 6645            '>'
 6646
 6647    def to_dict(self):
 6648        return {
 6649            'bind_interface': self.bind_interface,
 6650            'database': self.database,
 6651            'egress_filter': self.egress_filter,
 6652            'healthy': self.healthy,
 6653            'hostname': self.hostname,
 6654            'id': self.id,
 6655            'name': self.name,
 6656            'override_database': self.override_database,
 6657            'password': self.password,
 6658            'port': self.port,
 6659            'port_override': self.port_override,
 6660            'proxy_cluster_id': self.proxy_cluster_id,
 6661            'secret_store_id': self.secret_store_id,
 6662            'subdomain': self.subdomain,
 6663            'tags': self.tags,
 6664            'username': self.username,
 6665        }
 6666
 6667    @classmethod
 6668    def from_dict(cls, d):
 6669        return cls(
 6670            bind_interface=d.get('bind_interface'),
 6671            database=d.get('database'),
 6672            egress_filter=d.get('egress_filter'),
 6673            healthy=d.get('healthy'),
 6674            hostname=d.get('hostname'),
 6675            id=d.get('id'),
 6676            name=d.get('name'),
 6677            override_database=d.get('override_database'),
 6678            password=d.get('password'),
 6679            port=d.get('port'),
 6680            port_override=d.get('port_override'),
 6681            proxy_cluster_id=d.get('proxy_cluster_id'),
 6682            secret_store_id=d.get('secret_store_id'),
 6683            subdomain=d.get('subdomain'),
 6684            tags=d.get('tags'),
 6685            username=d.get('username'),
 6686        )
 6687
 6688
 6689class AuroraPostgresIAM:
 6690    __slots__ = [
 6691        'bind_interface',
 6692        'database',
 6693        'egress_filter',
 6694        'healthy',
 6695        'hostname',
 6696        'id',
 6697        'name',
 6698        'override_database',
 6699        'port',
 6700        'port_override',
 6701        'proxy_cluster_id',
 6702        'region',
 6703        'role_assumption_arn',
 6704        'secret_store_id',
 6705        'subdomain',
 6706        'tags',
 6707        'username',
 6708    ]
 6709
 6710    def __init__(
 6711        self,
 6712        bind_interface=None,
 6713        database=None,
 6714        egress_filter=None,
 6715        healthy=None,
 6716        hostname=None,
 6717        id=None,
 6718        name=None,
 6719        override_database=None,
 6720        port=None,
 6721        port_override=None,
 6722        proxy_cluster_id=None,
 6723        region=None,
 6724        role_assumption_arn=None,
 6725        secret_store_id=None,
 6726        subdomain=None,
 6727        tags=None,
 6728        username=None,
 6729    ):
 6730        self.bind_interface = bind_interface if bind_interface is not None else ''
 6731        '''
 6732         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6733        '''
 6734        self.database = database if database is not None else ''
 6735        '''
 6736         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 6737        '''
 6738        self.egress_filter = egress_filter if egress_filter is not None else ''
 6739        '''
 6740         A filter applied to the routing logic to pin datasource to nodes.
 6741        '''
 6742        self.healthy = healthy if healthy is not None else False
 6743        '''
 6744         True if the datasource is reachable and the credentials are valid.
 6745        '''
 6746        self.hostname = hostname if hostname is not None else ''
 6747        '''
 6748         The host to dial to initiate a connection from the egress node to this resource.
 6749        '''
 6750        self.id = id if id is not None else ''
 6751        '''
 6752         Unique identifier of the Resource.
 6753        '''
 6754        self.name = name if name is not None else ''
 6755        '''
 6756         Unique human-readable name of the Resource.
 6757        '''
 6758        self.override_database = override_database if override_database is not None else False
 6759        '''
 6760         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.
 6761        '''
 6762        self.port = port if port is not None else 0
 6763        '''
 6764         The port to dial to initiate a connection from the egress node to this resource.
 6765        '''
 6766        self.port_override = port_override if port_override is not None else 0
 6767        '''
 6768         The local port used by clients to connect to this resource.
 6769        '''
 6770        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6771        '''
 6772         ID of the proxy cluster for this resource, if any.
 6773        '''
 6774        self.region = region if region is not None else ''
 6775        '''
 6776         The AWS region to connect to.
 6777        '''
 6778        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 6779        '''
 6780         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 6781        '''
 6782        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6783        '''
 6784         ID of the secret store containing credentials for this resource, if any.
 6785        '''
 6786        self.subdomain = subdomain if subdomain is not None else ''
 6787        '''
 6788         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6789        '''
 6790        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6791        '''
 6792         Tags is a map of key, value pairs.
 6793        '''
 6794        self.username = username if username is not None else ''
 6795        '''
 6796         The username to authenticate with.
 6797        '''
 6798
 6799    def __repr__(self):
 6800        return '<sdm.AuroraPostgresIAM ' + \
 6801            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6802            'database: ' + repr(self.database) + ' ' +\
 6803            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6804            'healthy: ' + repr(self.healthy) + ' ' +\
 6805            'hostname: ' + repr(self.hostname) + ' ' +\
 6806            'id: ' + repr(self.id) + ' ' +\
 6807            'name: ' + repr(self.name) + ' ' +\
 6808            'override_database: ' + repr(self.override_database) + ' ' +\
 6809            'port: ' + repr(self.port) + ' ' +\
 6810            'port_override: ' + repr(self.port_override) + ' ' +\
 6811            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6812            'region: ' + repr(self.region) + ' ' +\
 6813            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 6814            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6815            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6816            'tags: ' + repr(self.tags) + ' ' +\
 6817            'username: ' + repr(self.username) + ' ' +\
 6818            '>'
 6819
 6820    def to_dict(self):
 6821        return {
 6822            'bind_interface': self.bind_interface,
 6823            'database': self.database,
 6824            'egress_filter': self.egress_filter,
 6825            'healthy': self.healthy,
 6826            'hostname': self.hostname,
 6827            'id': self.id,
 6828            'name': self.name,
 6829            'override_database': self.override_database,
 6830            'port': self.port,
 6831            'port_override': self.port_override,
 6832            'proxy_cluster_id': self.proxy_cluster_id,
 6833            'region': self.region,
 6834            'role_assumption_arn': self.role_assumption_arn,
 6835            'secret_store_id': self.secret_store_id,
 6836            'subdomain': self.subdomain,
 6837            'tags': self.tags,
 6838            'username': self.username,
 6839        }
 6840
 6841    @classmethod
 6842    def from_dict(cls, d):
 6843        return cls(
 6844            bind_interface=d.get('bind_interface'),
 6845            database=d.get('database'),
 6846            egress_filter=d.get('egress_filter'),
 6847            healthy=d.get('healthy'),
 6848            hostname=d.get('hostname'),
 6849            id=d.get('id'),
 6850            name=d.get('name'),
 6851            override_database=d.get('override_database'),
 6852            port=d.get('port'),
 6853            port_override=d.get('port_override'),
 6854            proxy_cluster_id=d.get('proxy_cluster_id'),
 6855            region=d.get('region'),
 6856            role_assumption_arn=d.get('role_assumption_arn'),
 6857            secret_store_id=d.get('secret_store_id'),
 6858            subdomain=d.get('subdomain'),
 6859            tags=d.get('tags'),
 6860            username=d.get('username'),
 6861        )
 6862
 6863
 6864class Azure:
 6865    __slots__ = [
 6866        'app_id',
 6867        'bind_interface',
 6868        'egress_filter',
 6869        'healthy',
 6870        'id',
 6871        'name',
 6872        'password',
 6873        'port_override',
 6874        'proxy_cluster_id',
 6875        'secret_store_id',
 6876        'subdomain',
 6877        'tags',
 6878        'tenant_id',
 6879    ]
 6880
 6881    def __init__(
 6882        self,
 6883        app_id=None,
 6884        bind_interface=None,
 6885        egress_filter=None,
 6886        healthy=None,
 6887        id=None,
 6888        name=None,
 6889        password=None,
 6890        port_override=None,
 6891        proxy_cluster_id=None,
 6892        secret_store_id=None,
 6893        subdomain=None,
 6894        tags=None,
 6895        tenant_id=None,
 6896    ):
 6897        self.app_id = app_id if app_id is not None else ''
 6898        '''
 6899         The application ID to authenticate with.
 6900        '''
 6901        self.bind_interface = bind_interface if bind_interface is not None else ''
 6902        '''
 6903         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6904        '''
 6905        self.egress_filter = egress_filter if egress_filter is not None else ''
 6906        '''
 6907         A filter applied to the routing logic to pin datasource to nodes.
 6908        '''
 6909        self.healthy = healthy if healthy is not None else False
 6910        '''
 6911         True if the datasource is reachable and the credentials are valid.
 6912        '''
 6913        self.id = id if id is not None else ''
 6914        '''
 6915         Unique identifier of the Resource.
 6916        '''
 6917        self.name = name if name is not None else ''
 6918        '''
 6919         Unique human-readable name of the Resource.
 6920        '''
 6921        self.password = password if password is not None else ''
 6922        '''
 6923         The password to authenticate with.
 6924        '''
 6925        self.port_override = port_override if port_override is not None else 0
 6926        '''
 6927         The local port used by clients to connect to this resource.
 6928        '''
 6929        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6930        '''
 6931         ID of the proxy cluster for this resource, if any.
 6932        '''
 6933        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6934        '''
 6935         ID of the secret store containing credentials for this resource, if any.
 6936        '''
 6937        self.subdomain = subdomain if subdomain is not None else ''
 6938        '''
 6939         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6940        '''
 6941        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6942        '''
 6943         Tags is a map of key, value pairs.
 6944        '''
 6945        self.tenant_id = tenant_id if tenant_id is not None else ''
 6946        '''
 6947         The tenant ID to authenticate to.
 6948        '''
 6949
 6950    def __repr__(self):
 6951        return '<sdm.Azure ' + \
 6952            'app_id: ' + repr(self.app_id) + ' ' +\
 6953            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6954            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6955            'healthy: ' + repr(self.healthy) + ' ' +\
 6956            'id: ' + repr(self.id) + ' ' +\
 6957            'name: ' + repr(self.name) + ' ' +\
 6958            'password: ' + repr(self.password) + ' ' +\
 6959            'port_override: ' + repr(self.port_override) + ' ' +\
 6960            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6961            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6962            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6963            'tags: ' + repr(self.tags) + ' ' +\
 6964            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 6965            '>'
 6966
 6967    def to_dict(self):
 6968        return {
 6969            'app_id': self.app_id,
 6970            'bind_interface': self.bind_interface,
 6971            'egress_filter': self.egress_filter,
 6972            'healthy': self.healthy,
 6973            'id': self.id,
 6974            'name': self.name,
 6975            'password': self.password,
 6976            'port_override': self.port_override,
 6977            'proxy_cluster_id': self.proxy_cluster_id,
 6978            'secret_store_id': self.secret_store_id,
 6979            'subdomain': self.subdomain,
 6980            'tags': self.tags,
 6981            'tenant_id': self.tenant_id,
 6982        }
 6983
 6984    @classmethod
 6985    def from_dict(cls, d):
 6986        return cls(
 6987            app_id=d.get('app_id'),
 6988            bind_interface=d.get('bind_interface'),
 6989            egress_filter=d.get('egress_filter'),
 6990            healthy=d.get('healthy'),
 6991            id=d.get('id'),
 6992            name=d.get('name'),
 6993            password=d.get('password'),
 6994            port_override=d.get('port_override'),
 6995            proxy_cluster_id=d.get('proxy_cluster_id'),
 6996            secret_store_id=d.get('secret_store_id'),
 6997            subdomain=d.get('subdomain'),
 6998            tags=d.get('tags'),
 6999            tenant_id=d.get('tenant_id'),
 7000        )
 7001
 7002
 7003class AzureCertificate:
 7004    __slots__ = [
 7005        'app_id',
 7006        'bind_interface',
 7007        'client_certificate',
 7008        'egress_filter',
 7009        'healthy',
 7010        'id',
 7011        'name',
 7012        'port_override',
 7013        'proxy_cluster_id',
 7014        'secret_store_id',
 7015        'subdomain',
 7016        'tags',
 7017        'tenant_id',
 7018    ]
 7019
 7020    def __init__(
 7021        self,
 7022        app_id=None,
 7023        bind_interface=None,
 7024        client_certificate=None,
 7025        egress_filter=None,
 7026        healthy=None,
 7027        id=None,
 7028        name=None,
 7029        port_override=None,
 7030        proxy_cluster_id=None,
 7031        secret_store_id=None,
 7032        subdomain=None,
 7033        tags=None,
 7034        tenant_id=None,
 7035    ):
 7036        self.app_id = app_id if app_id is not None else ''
 7037        '''
 7038         The application ID to authenticate with.
 7039        '''
 7040        self.bind_interface = bind_interface if bind_interface is not None else ''
 7041        '''
 7042         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7043        '''
 7044        self.client_certificate = client_certificate if client_certificate is not None else ''
 7045        '''
 7046         The service Principal certificate file, both private and public key included.
 7047        '''
 7048        self.egress_filter = egress_filter if egress_filter is not None else ''
 7049        '''
 7050         A filter applied to the routing logic to pin datasource to nodes.
 7051        '''
 7052        self.healthy = healthy if healthy is not None else False
 7053        '''
 7054         True if the datasource is reachable and the credentials are valid.
 7055        '''
 7056        self.id = id if id is not None else ''
 7057        '''
 7058         Unique identifier of the Resource.
 7059        '''
 7060        self.name = name if name is not None else ''
 7061        '''
 7062         Unique human-readable name of the Resource.
 7063        '''
 7064        self.port_override = port_override if port_override is not None else 0
 7065        '''
 7066         The local port used by clients to connect to this resource.
 7067        '''
 7068        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7069        '''
 7070         ID of the proxy cluster for this resource, if any.
 7071        '''
 7072        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7073        '''
 7074         ID of the secret store containing credentials for this resource, if any.
 7075        '''
 7076        self.subdomain = subdomain if subdomain is not None else ''
 7077        '''
 7078         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7079        '''
 7080        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7081        '''
 7082         Tags is a map of key, value pairs.
 7083        '''
 7084        self.tenant_id = tenant_id if tenant_id is not None else ''
 7085        '''
 7086         The tenant ID to authenticate to.
 7087        '''
 7088
 7089    def __repr__(self):
 7090        return '<sdm.AzureCertificate ' + \
 7091            'app_id: ' + repr(self.app_id) + ' ' +\
 7092            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7093            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 7094            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7095            'healthy: ' + repr(self.healthy) + ' ' +\
 7096            'id: ' + repr(self.id) + ' ' +\
 7097            'name: ' + repr(self.name) + ' ' +\
 7098            'port_override: ' + repr(self.port_override) + ' ' +\
 7099            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7100            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7101            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7102            'tags: ' + repr(self.tags) + ' ' +\
 7103            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7104            '>'
 7105
 7106    def to_dict(self):
 7107        return {
 7108            'app_id': self.app_id,
 7109            'bind_interface': self.bind_interface,
 7110            'client_certificate': self.client_certificate,
 7111            'egress_filter': self.egress_filter,
 7112            'healthy': self.healthy,
 7113            'id': self.id,
 7114            'name': self.name,
 7115            'port_override': self.port_override,
 7116            'proxy_cluster_id': self.proxy_cluster_id,
 7117            'secret_store_id': self.secret_store_id,
 7118            'subdomain': self.subdomain,
 7119            'tags': self.tags,
 7120            'tenant_id': self.tenant_id,
 7121        }
 7122
 7123    @classmethod
 7124    def from_dict(cls, d):
 7125        return cls(
 7126            app_id=d.get('app_id'),
 7127            bind_interface=d.get('bind_interface'),
 7128            client_certificate=d.get('client_certificate'),
 7129            egress_filter=d.get('egress_filter'),
 7130            healthy=d.get('healthy'),
 7131            id=d.get('id'),
 7132            name=d.get('name'),
 7133            port_override=d.get('port_override'),
 7134            proxy_cluster_id=d.get('proxy_cluster_id'),
 7135            secret_store_id=d.get('secret_store_id'),
 7136            subdomain=d.get('subdomain'),
 7137            tags=d.get('tags'),
 7138            tenant_id=d.get('tenant_id'),
 7139        )
 7140
 7141
 7142class AzureMysql:
 7143    __slots__ = [
 7144        'bind_interface',
 7145        'database',
 7146        'egress_filter',
 7147        'healthy',
 7148        'hostname',
 7149        'id',
 7150        'name',
 7151        'password',
 7152        'port',
 7153        'port_override',
 7154        'proxy_cluster_id',
 7155        'require_native_auth',
 7156        'secret_store_id',
 7157        'subdomain',
 7158        'tags',
 7159        'use_azure_single_server_usernames',
 7160        'username',
 7161    ]
 7162
 7163    def __init__(
 7164        self,
 7165        bind_interface=None,
 7166        database=None,
 7167        egress_filter=None,
 7168        healthy=None,
 7169        hostname=None,
 7170        id=None,
 7171        name=None,
 7172        password=None,
 7173        port=None,
 7174        port_override=None,
 7175        proxy_cluster_id=None,
 7176        require_native_auth=None,
 7177        secret_store_id=None,
 7178        subdomain=None,
 7179        tags=None,
 7180        use_azure_single_server_usernames=None,
 7181        username=None,
 7182    ):
 7183        self.bind_interface = bind_interface if bind_interface is not None else ''
 7184        '''
 7185         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7186        '''
 7187        self.database = database if database is not None else ''
 7188        '''
 7189         The database for healthchecks. Does not affect client requests.
 7190        '''
 7191        self.egress_filter = egress_filter if egress_filter is not None else ''
 7192        '''
 7193         A filter applied to the routing logic to pin datasource to nodes.
 7194        '''
 7195        self.healthy = healthy if healthy is not None else False
 7196        '''
 7197         True if the datasource is reachable and the credentials are valid.
 7198        '''
 7199        self.hostname = hostname if hostname is not None else ''
 7200        '''
 7201         The host to dial to initiate a connection from the egress node to this resource.
 7202        '''
 7203        self.id = id if id is not None else ''
 7204        '''
 7205         Unique identifier of the Resource.
 7206        '''
 7207        self.name = name if name is not None else ''
 7208        '''
 7209         Unique human-readable name of the Resource.
 7210        '''
 7211        self.password = password if password is not None else ''
 7212        '''
 7213         The password to authenticate with.
 7214        '''
 7215        self.port = port if port is not None else 0
 7216        '''
 7217         The port to dial to initiate a connection from the egress node to this resource.
 7218        '''
 7219        self.port_override = port_override if port_override is not None else 0
 7220        '''
 7221         The local port used by clients to connect to this resource.
 7222        '''
 7223        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7224        '''
 7225         ID of the proxy cluster for this resource, if any.
 7226        '''
 7227        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 7228        '''
 7229         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 7230        '''
 7231        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7232        '''
 7233         ID of the secret store containing credentials for this resource, if any.
 7234        '''
 7235        self.subdomain = subdomain if subdomain is not None else ''
 7236        '''
 7237         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7238        '''
 7239        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7240        '''
 7241         Tags is a map of key, value pairs.
 7242        '''
 7243        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7244        '''
 7245         If true, appends the hostname to the username when hitting a database.azure.com address
 7246        '''
 7247        self.username = username if username is not None else ''
 7248        '''
 7249         The username to authenticate with.
 7250        '''
 7251
 7252    def __repr__(self):
 7253        return '<sdm.AzureMysql ' + \
 7254            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7255            'database: ' + repr(self.database) + ' ' +\
 7256            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7257            'healthy: ' + repr(self.healthy) + ' ' +\
 7258            'hostname: ' + repr(self.hostname) + ' ' +\
 7259            'id: ' + repr(self.id) + ' ' +\
 7260            'name: ' + repr(self.name) + ' ' +\
 7261            'password: ' + repr(self.password) + ' ' +\
 7262            'port: ' + repr(self.port) + ' ' +\
 7263            'port_override: ' + repr(self.port_override) + ' ' +\
 7264            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7265            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7266            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7267            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7268            'tags: ' + repr(self.tags) + ' ' +\
 7269            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7270            'username: ' + repr(self.username) + ' ' +\
 7271            '>'
 7272
 7273    def to_dict(self):
 7274        return {
 7275            'bind_interface': self.bind_interface,
 7276            'database': self.database,
 7277            'egress_filter': self.egress_filter,
 7278            'healthy': self.healthy,
 7279            'hostname': self.hostname,
 7280            'id': self.id,
 7281            'name': self.name,
 7282            'password': self.password,
 7283            'port': self.port,
 7284            'port_override': self.port_override,
 7285            'proxy_cluster_id': self.proxy_cluster_id,
 7286            'require_native_auth': self.require_native_auth,
 7287            'secret_store_id': self.secret_store_id,
 7288            'subdomain': self.subdomain,
 7289            'tags': self.tags,
 7290            'use_azure_single_server_usernames':
 7291            self.use_azure_single_server_usernames,
 7292            'username': self.username,
 7293        }
 7294
 7295    @classmethod
 7296    def from_dict(cls, d):
 7297        return cls(
 7298            bind_interface=d.get('bind_interface'),
 7299            database=d.get('database'),
 7300            egress_filter=d.get('egress_filter'),
 7301            healthy=d.get('healthy'),
 7302            hostname=d.get('hostname'),
 7303            id=d.get('id'),
 7304            name=d.get('name'),
 7305            password=d.get('password'),
 7306            port=d.get('port'),
 7307            port_override=d.get('port_override'),
 7308            proxy_cluster_id=d.get('proxy_cluster_id'),
 7309            require_native_auth=d.get('require_native_auth'),
 7310            secret_store_id=d.get('secret_store_id'),
 7311            subdomain=d.get('subdomain'),
 7312            tags=d.get('tags'),
 7313            use_azure_single_server_usernames=d.get(
 7314                'use_azure_single_server_usernames'),
 7315            username=d.get('username'),
 7316        )
 7317
 7318
 7319class AzurePostgres:
 7320    __slots__ = [
 7321        'bind_interface',
 7322        'database',
 7323        'egress_filter',
 7324        'healthy',
 7325        'hostname',
 7326        'id',
 7327        'name',
 7328        'override_database',
 7329        'password',
 7330        'port',
 7331        'port_override',
 7332        'proxy_cluster_id',
 7333        'secret_store_id',
 7334        'subdomain',
 7335        'tags',
 7336        'username',
 7337    ]
 7338
 7339    def __init__(
 7340        self,
 7341        bind_interface=None,
 7342        database=None,
 7343        egress_filter=None,
 7344        healthy=None,
 7345        hostname=None,
 7346        id=None,
 7347        name=None,
 7348        override_database=None,
 7349        password=None,
 7350        port=None,
 7351        port_override=None,
 7352        proxy_cluster_id=None,
 7353        secret_store_id=None,
 7354        subdomain=None,
 7355        tags=None,
 7356        username=None,
 7357    ):
 7358        self.bind_interface = bind_interface if bind_interface is not None else ''
 7359        '''
 7360         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7361        '''
 7362        self.database = database if database is not None else ''
 7363        '''
 7364         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7365        '''
 7366        self.egress_filter = egress_filter if egress_filter is not None else ''
 7367        '''
 7368         A filter applied to the routing logic to pin datasource to nodes.
 7369        '''
 7370        self.healthy = healthy if healthy is not None else False
 7371        '''
 7372         True if the datasource is reachable and the credentials are valid.
 7373        '''
 7374        self.hostname = hostname if hostname is not None else ''
 7375        '''
 7376         The host to dial to initiate a connection from the egress node to this resource.
 7377        '''
 7378        self.id = id if id is not None else ''
 7379        '''
 7380         Unique identifier of the Resource.
 7381        '''
 7382        self.name = name if name is not None else ''
 7383        '''
 7384         Unique human-readable name of the Resource.
 7385        '''
 7386        self.override_database = override_database if override_database is not None else False
 7387        '''
 7388         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.
 7389        '''
 7390        self.password = password if password is not None else ''
 7391        '''
 7392         The password to authenticate with.
 7393        '''
 7394        self.port = port if port is not None else 0
 7395        '''
 7396         The port to dial to initiate a connection from the egress node to this resource.
 7397        '''
 7398        self.port_override = port_override if port_override is not None else 0
 7399        '''
 7400         The local port used by clients to connect to this resource.
 7401        '''
 7402        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7403        '''
 7404         ID of the proxy cluster for this resource, if any.
 7405        '''
 7406        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7407        '''
 7408         ID of the secret store containing credentials for this resource, if any.
 7409        '''
 7410        self.subdomain = subdomain if subdomain is not None else ''
 7411        '''
 7412         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7413        '''
 7414        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7415        '''
 7416         Tags is a map of key, value pairs.
 7417        '''
 7418        self.username = username if username is not None else ''
 7419        '''
 7420         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.
 7421        '''
 7422
 7423    def __repr__(self):
 7424        return '<sdm.AzurePostgres ' + \
 7425            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7426            'database: ' + repr(self.database) + ' ' +\
 7427            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7428            'healthy: ' + repr(self.healthy) + ' ' +\
 7429            'hostname: ' + repr(self.hostname) + ' ' +\
 7430            'id: ' + repr(self.id) + ' ' +\
 7431            'name: ' + repr(self.name) + ' ' +\
 7432            'override_database: ' + repr(self.override_database) + ' ' +\
 7433            'password: ' + repr(self.password) + ' ' +\
 7434            'port: ' + repr(self.port) + ' ' +\
 7435            'port_override: ' + repr(self.port_override) + ' ' +\
 7436            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7437            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7438            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7439            'tags: ' + repr(self.tags) + ' ' +\
 7440            'username: ' + repr(self.username) + ' ' +\
 7441            '>'
 7442
 7443    def to_dict(self):
 7444        return {
 7445            'bind_interface': self.bind_interface,
 7446            'database': self.database,
 7447            'egress_filter': self.egress_filter,
 7448            'healthy': self.healthy,
 7449            'hostname': self.hostname,
 7450            'id': self.id,
 7451            'name': self.name,
 7452            'override_database': self.override_database,
 7453            'password': self.password,
 7454            'port': self.port,
 7455            'port_override': self.port_override,
 7456            'proxy_cluster_id': self.proxy_cluster_id,
 7457            'secret_store_id': self.secret_store_id,
 7458            'subdomain': self.subdomain,
 7459            'tags': self.tags,
 7460            'username': self.username,
 7461        }
 7462
 7463    @classmethod
 7464    def from_dict(cls, d):
 7465        return cls(
 7466            bind_interface=d.get('bind_interface'),
 7467            database=d.get('database'),
 7468            egress_filter=d.get('egress_filter'),
 7469            healthy=d.get('healthy'),
 7470            hostname=d.get('hostname'),
 7471            id=d.get('id'),
 7472            name=d.get('name'),
 7473            override_database=d.get('override_database'),
 7474            password=d.get('password'),
 7475            port=d.get('port'),
 7476            port_override=d.get('port_override'),
 7477            proxy_cluster_id=d.get('proxy_cluster_id'),
 7478            secret_store_id=d.get('secret_store_id'),
 7479            subdomain=d.get('subdomain'),
 7480            tags=d.get('tags'),
 7481            username=d.get('username'),
 7482        )
 7483
 7484
 7485class AzurePostgresManagedIdentity:
 7486    __slots__ = [
 7487        'bind_interface',
 7488        'database',
 7489        'egress_filter',
 7490        'healthy',
 7491        'hostname',
 7492        'id',
 7493        'name',
 7494        'override_database',
 7495        'password',
 7496        'port',
 7497        'port_override',
 7498        'proxy_cluster_id',
 7499        'secret_store_id',
 7500        'subdomain',
 7501        'tags',
 7502        'use_azure_single_server_usernames',
 7503        'username',
 7504    ]
 7505
 7506    def __init__(
 7507        self,
 7508        bind_interface=None,
 7509        database=None,
 7510        egress_filter=None,
 7511        healthy=None,
 7512        hostname=None,
 7513        id=None,
 7514        name=None,
 7515        override_database=None,
 7516        password=None,
 7517        port=None,
 7518        port_override=None,
 7519        proxy_cluster_id=None,
 7520        secret_store_id=None,
 7521        subdomain=None,
 7522        tags=None,
 7523        use_azure_single_server_usernames=None,
 7524        username=None,
 7525    ):
 7526        self.bind_interface = bind_interface if bind_interface is not None else ''
 7527        '''
 7528         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7529        '''
 7530        self.database = database if database is not None else ''
 7531        '''
 7532         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7533        '''
 7534        self.egress_filter = egress_filter if egress_filter is not None else ''
 7535        '''
 7536         A filter applied to the routing logic to pin datasource to nodes.
 7537        '''
 7538        self.healthy = healthy if healthy is not None else False
 7539        '''
 7540         True if the datasource is reachable and the credentials are valid.
 7541        '''
 7542        self.hostname = hostname if hostname is not None else ''
 7543        '''
 7544         The host to dial to initiate a connection from the egress node to this resource.
 7545        '''
 7546        self.id = id if id is not None else ''
 7547        '''
 7548         Unique identifier of the Resource.
 7549        '''
 7550        self.name = name if name is not None else ''
 7551        '''
 7552         Unique human-readable name of the Resource.
 7553        '''
 7554        self.override_database = override_database if override_database is not None else False
 7555        '''
 7556         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.
 7557        '''
 7558        self.password = password if password is not None else ''
 7559        '''
 7560         The password to authenticate with.
 7561        '''
 7562        self.port = port if port is not None else 0
 7563        '''
 7564         The port to dial to initiate a connection from the egress node to this resource.
 7565        '''
 7566        self.port_override = port_override if port_override is not None else 0
 7567        '''
 7568         The local port used by clients to connect to this resource.
 7569        '''
 7570        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7571        '''
 7572         ID of the proxy cluster for this resource, if any.
 7573        '''
 7574        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7575        '''
 7576         ID of the secret store containing credentials for this resource, if any.
 7577        '''
 7578        self.subdomain = subdomain if subdomain is not None else ''
 7579        '''
 7580         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7581        '''
 7582        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7583        '''
 7584         Tags is a map of key, value pairs.
 7585        '''
 7586        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7587        '''
 7588         If true, appends the hostname to the username when hitting a database.azure.com address
 7589        '''
 7590        self.username = username if username is not None else ''
 7591        '''
 7592         The username to authenticate with.
 7593        '''
 7594
 7595    def __repr__(self):
 7596        return '<sdm.AzurePostgresManagedIdentity ' + \
 7597            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7598            'database: ' + repr(self.database) + ' ' +\
 7599            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7600            'healthy: ' + repr(self.healthy) + ' ' +\
 7601            'hostname: ' + repr(self.hostname) + ' ' +\
 7602            'id: ' + repr(self.id) + ' ' +\
 7603            'name: ' + repr(self.name) + ' ' +\
 7604            'override_database: ' + repr(self.override_database) + ' ' +\
 7605            'password: ' + repr(self.password) + ' ' +\
 7606            'port: ' + repr(self.port) + ' ' +\
 7607            'port_override: ' + repr(self.port_override) + ' ' +\
 7608            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7609            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7610            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7611            'tags: ' + repr(self.tags) + ' ' +\
 7612            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7613            'username: ' + repr(self.username) + ' ' +\
 7614            '>'
 7615
 7616    def to_dict(self):
 7617        return {
 7618            'bind_interface': self.bind_interface,
 7619            'database': self.database,
 7620            'egress_filter': self.egress_filter,
 7621            'healthy': self.healthy,
 7622            'hostname': self.hostname,
 7623            'id': self.id,
 7624            'name': self.name,
 7625            'override_database': self.override_database,
 7626            'password': self.password,
 7627            'port': self.port,
 7628            'port_override': self.port_override,
 7629            'proxy_cluster_id': self.proxy_cluster_id,
 7630            'secret_store_id': self.secret_store_id,
 7631            'subdomain': self.subdomain,
 7632            'tags': self.tags,
 7633            'use_azure_single_server_usernames':
 7634            self.use_azure_single_server_usernames,
 7635            'username': self.username,
 7636        }
 7637
 7638    @classmethod
 7639    def from_dict(cls, d):
 7640        return cls(
 7641            bind_interface=d.get('bind_interface'),
 7642            database=d.get('database'),
 7643            egress_filter=d.get('egress_filter'),
 7644            healthy=d.get('healthy'),
 7645            hostname=d.get('hostname'),
 7646            id=d.get('id'),
 7647            name=d.get('name'),
 7648            override_database=d.get('override_database'),
 7649            password=d.get('password'),
 7650            port=d.get('port'),
 7651            port_override=d.get('port_override'),
 7652            proxy_cluster_id=d.get('proxy_cluster_id'),
 7653            secret_store_id=d.get('secret_store_id'),
 7654            subdomain=d.get('subdomain'),
 7655            tags=d.get('tags'),
 7656            use_azure_single_server_usernames=d.get(
 7657                'use_azure_single_server_usernames'),
 7658            username=d.get('username'),
 7659        )
 7660
 7661
 7662class AzureStore:
 7663    __slots__ = [
 7664        'id',
 7665        'name',
 7666        'tags',
 7667        'vault_uri',
 7668    ]
 7669
 7670    def __init__(
 7671        self,
 7672        id=None,
 7673        name=None,
 7674        tags=None,
 7675        vault_uri=None,
 7676    ):
 7677        self.id = id if id is not None else ''
 7678        '''
 7679         Unique identifier of the SecretStore.
 7680        '''
 7681        self.name = name if name is not None else ''
 7682        '''
 7683         Unique human-readable name of the SecretStore.
 7684        '''
 7685        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7686        '''
 7687         Tags is a map of key, value pairs.
 7688        '''
 7689        self.vault_uri = vault_uri if vault_uri is not None else ''
 7690        '''
 7691         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 7692        '''
 7693
 7694    def __repr__(self):
 7695        return '<sdm.AzureStore ' + \
 7696            'id: ' + repr(self.id) + ' ' +\
 7697            'name: ' + repr(self.name) + ' ' +\
 7698            'tags: ' + repr(self.tags) + ' ' +\
 7699            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 7700            '>'
 7701
 7702    def to_dict(self):
 7703        return {
 7704            'id': self.id,
 7705            'name': self.name,
 7706            'tags': self.tags,
 7707            'vault_uri': self.vault_uri,
 7708        }
 7709
 7710    @classmethod
 7711    def from_dict(cls, d):
 7712        return cls(
 7713            id=d.get('id'),
 7714            name=d.get('name'),
 7715            tags=d.get('tags'),
 7716            vault_uri=d.get('vault_uri'),
 7717        )
 7718
 7719
 7720class BigQuery:
 7721    __slots__ = [
 7722        'bind_interface',
 7723        'egress_filter',
 7724        'endpoint',
 7725        'healthy',
 7726        'id',
 7727        'name',
 7728        'port_override',
 7729        'private_key',
 7730        'project',
 7731        'proxy_cluster_id',
 7732        'secret_store_id',
 7733        'subdomain',
 7734        'tags',
 7735        'username',
 7736    ]
 7737
 7738    def __init__(
 7739        self,
 7740        bind_interface=None,
 7741        egress_filter=None,
 7742        endpoint=None,
 7743        healthy=None,
 7744        id=None,
 7745        name=None,
 7746        port_override=None,
 7747        private_key=None,
 7748        project=None,
 7749        proxy_cluster_id=None,
 7750        secret_store_id=None,
 7751        subdomain=None,
 7752        tags=None,
 7753        username=None,
 7754    ):
 7755        self.bind_interface = bind_interface if bind_interface is not None else ''
 7756        '''
 7757         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7758        '''
 7759        self.egress_filter = egress_filter if egress_filter is not None else ''
 7760        '''
 7761         A filter applied to the routing logic to pin datasource to nodes.
 7762        '''
 7763        self.endpoint = endpoint if endpoint is not None else ''
 7764        '''
 7765         The endpoint to dial.
 7766        '''
 7767        self.healthy = healthy if healthy is not None else False
 7768        '''
 7769         True if the datasource is reachable and the credentials are valid.
 7770        '''
 7771        self.id = id if id is not None else ''
 7772        '''
 7773         Unique identifier of the Resource.
 7774        '''
 7775        self.name = name if name is not None else ''
 7776        '''
 7777         Unique human-readable name of the Resource.
 7778        '''
 7779        self.port_override = port_override if port_override is not None else 0
 7780        '''
 7781         The local port used by clients to connect to this resource.
 7782        '''
 7783        self.private_key = private_key if private_key is not None else ''
 7784        '''
 7785         The JSON Private key to authenticate with.
 7786        '''
 7787        self.project = project if project is not None else ''
 7788        '''
 7789         The project to connect to.
 7790        '''
 7791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7792        '''
 7793         ID of the proxy cluster for this resource, if any.
 7794        '''
 7795        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7796        '''
 7797         ID of the secret store containing credentials for this resource, if any.
 7798        '''
 7799        self.subdomain = subdomain if subdomain is not None else ''
 7800        '''
 7801         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7802        '''
 7803        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7804        '''
 7805         Tags is a map of key, value pairs.
 7806        '''
 7807        self.username = username if username is not None else ''
 7808        '''
 7809         The username to authenticate with.
 7810        '''
 7811
 7812    def __repr__(self):
 7813        return '<sdm.BigQuery ' + \
 7814            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7815            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7816            'endpoint: ' + repr(self.endpoint) + ' ' +\
 7817            'healthy: ' + repr(self.healthy) + ' ' +\
 7818            'id: ' + repr(self.id) + ' ' +\
 7819            'name: ' + repr(self.name) + ' ' +\
 7820            'port_override: ' + repr(self.port_override) + ' ' +\
 7821            'private_key: ' + repr(self.private_key) + ' ' +\
 7822            'project: ' + repr(self.project) + ' ' +\
 7823            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7824            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7825            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7826            'tags: ' + repr(self.tags) + ' ' +\
 7827            'username: ' + repr(self.username) + ' ' +\
 7828            '>'
 7829
 7830    def to_dict(self):
 7831        return {
 7832            'bind_interface': self.bind_interface,
 7833            'egress_filter': self.egress_filter,
 7834            'endpoint': self.endpoint,
 7835            'healthy': self.healthy,
 7836            'id': self.id,
 7837            'name': self.name,
 7838            'port_override': self.port_override,
 7839            'private_key': self.private_key,
 7840            'project': self.project,
 7841            'proxy_cluster_id': self.proxy_cluster_id,
 7842            'secret_store_id': self.secret_store_id,
 7843            'subdomain': self.subdomain,
 7844            'tags': self.tags,
 7845            'username': self.username,
 7846        }
 7847
 7848    @classmethod
 7849    def from_dict(cls, d):
 7850        return cls(
 7851            bind_interface=d.get('bind_interface'),
 7852            egress_filter=d.get('egress_filter'),
 7853            endpoint=d.get('endpoint'),
 7854            healthy=d.get('healthy'),
 7855            id=d.get('id'),
 7856            name=d.get('name'),
 7857            port_override=d.get('port_override'),
 7858            private_key=d.get('private_key'),
 7859            project=d.get('project'),
 7860            proxy_cluster_id=d.get('proxy_cluster_id'),
 7861            secret_store_id=d.get('secret_store_id'),
 7862            subdomain=d.get('subdomain'),
 7863            tags=d.get('tags'),
 7864            username=d.get('username'),
 7865        )
 7866
 7867
 7868class Cassandra:
 7869    __slots__ = [
 7870        'bind_interface',
 7871        'egress_filter',
 7872        'healthy',
 7873        'hostname',
 7874        'id',
 7875        'name',
 7876        'password',
 7877        'port',
 7878        'port_override',
 7879        'proxy_cluster_id',
 7880        'secret_store_id',
 7881        'subdomain',
 7882        'tags',
 7883        'tls_required',
 7884        'username',
 7885    ]
 7886
 7887    def __init__(
 7888        self,
 7889        bind_interface=None,
 7890        egress_filter=None,
 7891        healthy=None,
 7892        hostname=None,
 7893        id=None,
 7894        name=None,
 7895        password=None,
 7896        port=None,
 7897        port_override=None,
 7898        proxy_cluster_id=None,
 7899        secret_store_id=None,
 7900        subdomain=None,
 7901        tags=None,
 7902        tls_required=None,
 7903        username=None,
 7904    ):
 7905        self.bind_interface = bind_interface if bind_interface is not None else ''
 7906        '''
 7907         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7908        '''
 7909        self.egress_filter = egress_filter if egress_filter is not None else ''
 7910        '''
 7911         A filter applied to the routing logic to pin datasource to nodes.
 7912        '''
 7913        self.healthy = healthy if healthy is not None else False
 7914        '''
 7915         True if the datasource is reachable and the credentials are valid.
 7916        '''
 7917        self.hostname = hostname if hostname is not None else ''
 7918        '''
 7919         The host to dial to initiate a connection from the egress node to this resource.
 7920        '''
 7921        self.id = id if id is not None else ''
 7922        '''
 7923         Unique identifier of the Resource.
 7924        '''
 7925        self.name = name if name is not None else ''
 7926        '''
 7927         Unique human-readable name of the Resource.
 7928        '''
 7929        self.password = password if password is not None else ''
 7930        '''
 7931         The password to authenticate with.
 7932        '''
 7933        self.port = port if port is not None else 0
 7934        '''
 7935         The port to dial to initiate a connection from the egress node to this resource.
 7936        '''
 7937        self.port_override = port_override if port_override is not None else 0
 7938        '''
 7939         The local port used by clients to connect to this resource.
 7940        '''
 7941        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7942        '''
 7943         ID of the proxy cluster for this resource, if any.
 7944        '''
 7945        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7946        '''
 7947         ID of the secret store containing credentials for this resource, if any.
 7948        '''
 7949        self.subdomain = subdomain if subdomain is not None else ''
 7950        '''
 7951         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7952        '''
 7953        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7954        '''
 7955         Tags is a map of key, value pairs.
 7956        '''
 7957        self.tls_required = tls_required if tls_required is not None else False
 7958        '''
 7959         If set, TLS must be used to connect to this resource.
 7960        '''
 7961        self.username = username if username is not None else ''
 7962        '''
 7963         The username to authenticate with.
 7964        '''
 7965
 7966    def __repr__(self):
 7967        return '<sdm.Cassandra ' + \
 7968            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7969            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7970            'healthy: ' + repr(self.healthy) + ' ' +\
 7971            'hostname: ' + repr(self.hostname) + ' ' +\
 7972            'id: ' + repr(self.id) + ' ' +\
 7973            'name: ' + repr(self.name) + ' ' +\
 7974            'password: ' + repr(self.password) + ' ' +\
 7975            'port: ' + repr(self.port) + ' ' +\
 7976            'port_override: ' + repr(self.port_override) + ' ' +\
 7977            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7978            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7979            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7980            'tags: ' + repr(self.tags) + ' ' +\
 7981            'tls_required: ' + repr(self.tls_required) + ' ' +\
 7982            'username: ' + repr(self.username) + ' ' +\
 7983            '>'
 7984
 7985    def to_dict(self):
 7986        return {
 7987            'bind_interface': self.bind_interface,
 7988            'egress_filter': self.egress_filter,
 7989            'healthy': self.healthy,
 7990            'hostname': self.hostname,
 7991            'id': self.id,
 7992            'name': self.name,
 7993            'password': self.password,
 7994            'port': self.port,
 7995            'port_override': self.port_override,
 7996            'proxy_cluster_id': self.proxy_cluster_id,
 7997            'secret_store_id': self.secret_store_id,
 7998            'subdomain': self.subdomain,
 7999            'tags': self.tags,
 8000            'tls_required': self.tls_required,
 8001            'username': self.username,
 8002        }
 8003
 8004    @classmethod
 8005    def from_dict(cls, d):
 8006        return cls(
 8007            bind_interface=d.get('bind_interface'),
 8008            egress_filter=d.get('egress_filter'),
 8009            healthy=d.get('healthy'),
 8010            hostname=d.get('hostname'),
 8011            id=d.get('id'),
 8012            name=d.get('name'),
 8013            password=d.get('password'),
 8014            port=d.get('port'),
 8015            port_override=d.get('port_override'),
 8016            proxy_cluster_id=d.get('proxy_cluster_id'),
 8017            secret_store_id=d.get('secret_store_id'),
 8018            subdomain=d.get('subdomain'),
 8019            tags=d.get('tags'),
 8020            tls_required=d.get('tls_required'),
 8021            username=d.get('username'),
 8022        )
 8023
 8024
 8025class Citus:
 8026    __slots__ = [
 8027        'bind_interface',
 8028        'database',
 8029        'egress_filter',
 8030        'healthy',
 8031        'hostname',
 8032        'id',
 8033        'name',
 8034        'override_database',
 8035        'password',
 8036        'port',
 8037        'port_override',
 8038        'proxy_cluster_id',
 8039        'secret_store_id',
 8040        'subdomain',
 8041        'tags',
 8042        'username',
 8043    ]
 8044
 8045    def __init__(
 8046        self,
 8047        bind_interface=None,
 8048        database=None,
 8049        egress_filter=None,
 8050        healthy=None,
 8051        hostname=None,
 8052        id=None,
 8053        name=None,
 8054        override_database=None,
 8055        password=None,
 8056        port=None,
 8057        port_override=None,
 8058        proxy_cluster_id=None,
 8059        secret_store_id=None,
 8060        subdomain=None,
 8061        tags=None,
 8062        username=None,
 8063    ):
 8064        self.bind_interface = bind_interface if bind_interface is not None else ''
 8065        '''
 8066         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8067        '''
 8068        self.database = database if database is not None else ''
 8069        '''
 8070         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8071        '''
 8072        self.egress_filter = egress_filter if egress_filter is not None else ''
 8073        '''
 8074         A filter applied to the routing logic to pin datasource to nodes.
 8075        '''
 8076        self.healthy = healthy if healthy is not None else False
 8077        '''
 8078         True if the datasource is reachable and the credentials are valid.
 8079        '''
 8080        self.hostname = hostname if hostname is not None else ''
 8081        '''
 8082         The host to dial to initiate a connection from the egress node to this resource.
 8083        '''
 8084        self.id = id if id is not None else ''
 8085        '''
 8086         Unique identifier of the Resource.
 8087        '''
 8088        self.name = name if name is not None else ''
 8089        '''
 8090         Unique human-readable name of the Resource.
 8091        '''
 8092        self.override_database = override_database if override_database is not None else False
 8093        '''
 8094         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.
 8095        '''
 8096        self.password = password if password is not None else ''
 8097        '''
 8098         The password to authenticate with.
 8099        '''
 8100        self.port = port if port is not None else 0
 8101        '''
 8102         The port to dial to initiate a connection from the egress node to this resource.
 8103        '''
 8104        self.port_override = port_override if port_override is not None else 0
 8105        '''
 8106         The local port used by clients to connect to this resource.
 8107        '''
 8108        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8109        '''
 8110         ID of the proxy cluster for this resource, if any.
 8111        '''
 8112        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8113        '''
 8114         ID of the secret store containing credentials for this resource, if any.
 8115        '''
 8116        self.subdomain = subdomain if subdomain is not None else ''
 8117        '''
 8118         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8119        '''
 8120        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8121        '''
 8122         Tags is a map of key, value pairs.
 8123        '''
 8124        self.username = username if username is not None else ''
 8125        '''
 8126         The username to authenticate with.
 8127        '''
 8128
 8129    def __repr__(self):
 8130        return '<sdm.Citus ' + \
 8131            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8132            'database: ' + repr(self.database) + ' ' +\
 8133            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8134            'healthy: ' + repr(self.healthy) + ' ' +\
 8135            'hostname: ' + repr(self.hostname) + ' ' +\
 8136            'id: ' + repr(self.id) + ' ' +\
 8137            'name: ' + repr(self.name) + ' ' +\
 8138            'override_database: ' + repr(self.override_database) + ' ' +\
 8139            'password: ' + repr(self.password) + ' ' +\
 8140            'port: ' + repr(self.port) + ' ' +\
 8141            'port_override: ' + repr(self.port_override) + ' ' +\
 8142            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8143            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8144            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8145            'tags: ' + repr(self.tags) + ' ' +\
 8146            'username: ' + repr(self.username) + ' ' +\
 8147            '>'
 8148
 8149    def to_dict(self):
 8150        return {
 8151            'bind_interface': self.bind_interface,
 8152            'database': self.database,
 8153            'egress_filter': self.egress_filter,
 8154            'healthy': self.healthy,
 8155            'hostname': self.hostname,
 8156            'id': self.id,
 8157            'name': self.name,
 8158            'override_database': self.override_database,
 8159            'password': self.password,
 8160            'port': self.port,
 8161            'port_override': self.port_override,
 8162            'proxy_cluster_id': self.proxy_cluster_id,
 8163            'secret_store_id': self.secret_store_id,
 8164            'subdomain': self.subdomain,
 8165            'tags': self.tags,
 8166            'username': self.username,
 8167        }
 8168
 8169    @classmethod
 8170    def from_dict(cls, d):
 8171        return cls(
 8172            bind_interface=d.get('bind_interface'),
 8173            database=d.get('database'),
 8174            egress_filter=d.get('egress_filter'),
 8175            healthy=d.get('healthy'),
 8176            hostname=d.get('hostname'),
 8177            id=d.get('id'),
 8178            name=d.get('name'),
 8179            override_database=d.get('override_database'),
 8180            password=d.get('password'),
 8181            port=d.get('port'),
 8182            port_override=d.get('port_override'),
 8183            proxy_cluster_id=d.get('proxy_cluster_id'),
 8184            secret_store_id=d.get('secret_store_id'),
 8185            subdomain=d.get('subdomain'),
 8186            tags=d.get('tags'),
 8187            username=d.get('username'),
 8188        )
 8189
 8190
 8191class ClickHouseHTTP:
 8192    __slots__ = [
 8193        'bind_interface',
 8194        'database',
 8195        'egress_filter',
 8196        'healthy',
 8197        'id',
 8198        'name',
 8199        'password',
 8200        'port_override',
 8201        'proxy_cluster_id',
 8202        'secret_store_id',
 8203        'tags',
 8204        'url',
 8205        'username',
 8206    ]
 8207
 8208    def __init__(
 8209        self,
 8210        bind_interface=None,
 8211        database=None,
 8212        egress_filter=None,
 8213        healthy=None,
 8214        id=None,
 8215        name=None,
 8216        password=None,
 8217        port_override=None,
 8218        proxy_cluster_id=None,
 8219        secret_store_id=None,
 8220        tags=None,
 8221        url=None,
 8222        username=None,
 8223    ):
 8224        self.bind_interface = bind_interface if bind_interface is not None else ''
 8225        '''
 8226         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8227        '''
 8228        self.database = database if database is not None else ''
 8229        '''
 8230         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8231        '''
 8232        self.egress_filter = egress_filter if egress_filter is not None else ''
 8233        '''
 8234         A filter applied to the routing logic to pin datasource to nodes.
 8235        '''
 8236        self.healthy = healthy if healthy is not None else False
 8237        '''
 8238         True if the datasource is reachable and the credentials are valid.
 8239        '''
 8240        self.id = id if id is not None else ''
 8241        '''
 8242         Unique identifier of the Resource.
 8243        '''
 8244        self.name = name if name is not None else ''
 8245        '''
 8246         Unique human-readable name of the Resource.
 8247        '''
 8248        self.password = password if password is not None else ''
 8249        '''
 8250         The password to authenticate with.
 8251        '''
 8252        self.port_override = port_override if port_override is not None else 0
 8253        '''
 8254         The local port used by clients to connect to this resource.
 8255        '''
 8256        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8257        '''
 8258         ID of the proxy cluster for this resource, if any.
 8259        '''
 8260        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8261        '''
 8262         ID of the secret store containing credentials for this resource, if any.
 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.url = url if url is not None else ''
 8269        '''
 8270         The URL to dial to initiate a connection from the egress node to this resource.
 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.ClickHouseHTTP ' + \
 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            'id: ' + repr(self.id) + ' ' +\
 8284            'name: ' + repr(self.name) + ' ' +\
 8285            'password: ' + repr(self.password) + ' ' +\
 8286            'port_override: ' + repr(self.port_override) + ' ' +\
 8287            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8288            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8289            'tags: ' + repr(self.tags) + ' ' +\
 8290            'url: ' + repr(self.url) + ' ' +\
 8291            'username: ' + repr(self.username) + ' ' +\
 8292            '>'
 8293
 8294    def to_dict(self):
 8295        return {
 8296            'bind_interface': self.bind_interface,
 8297            'database': self.database,
 8298            'egress_filter': self.egress_filter,
 8299            'healthy': self.healthy,
 8300            'id': self.id,
 8301            'name': self.name,
 8302            'password': self.password,
 8303            'port_override': self.port_override,
 8304            'proxy_cluster_id': self.proxy_cluster_id,
 8305            'secret_store_id': self.secret_store_id,
 8306            'tags': self.tags,
 8307            'url': self.url,
 8308            'username': self.username,
 8309        }
 8310
 8311    @classmethod
 8312    def from_dict(cls, d):
 8313        return cls(
 8314            bind_interface=d.get('bind_interface'),
 8315            database=d.get('database'),
 8316            egress_filter=d.get('egress_filter'),
 8317            healthy=d.get('healthy'),
 8318            id=d.get('id'),
 8319            name=d.get('name'),
 8320            password=d.get('password'),
 8321            port_override=d.get('port_override'),
 8322            proxy_cluster_id=d.get('proxy_cluster_id'),
 8323            secret_store_id=d.get('secret_store_id'),
 8324            tags=d.get('tags'),
 8325            url=d.get('url'),
 8326            username=d.get('username'),
 8327        )
 8328
 8329
 8330class ClickHouseMySQL:
 8331    __slots__ = [
 8332        'bind_interface',
 8333        'database',
 8334        'egress_filter',
 8335        'healthy',
 8336        'hostname',
 8337        'id',
 8338        'name',
 8339        'password',
 8340        'port',
 8341        'port_override',
 8342        'proxy_cluster_id',
 8343        'require_native_auth',
 8344        'secret_store_id',
 8345        'subdomain',
 8346        'tags',
 8347        'username',
 8348    ]
 8349
 8350    def __init__(
 8351        self,
 8352        bind_interface=None,
 8353        database=None,
 8354        egress_filter=None,
 8355        healthy=None,
 8356        hostname=None,
 8357        id=None,
 8358        name=None,
 8359        password=None,
 8360        port=None,
 8361        port_override=None,
 8362        proxy_cluster_id=None,
 8363        require_native_auth=None,
 8364        secret_store_id=None,
 8365        subdomain=None,
 8366        tags=None,
 8367        username=None,
 8368    ):
 8369        self.bind_interface = bind_interface if bind_interface is not None else ''
 8370        '''
 8371         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8372        '''
 8373        self.database = database if database is not None else ''
 8374        '''
 8375         The database for healthchecks. Does not affect client requests.
 8376        '''
 8377        self.egress_filter = egress_filter if egress_filter is not None else ''
 8378        '''
 8379         A filter applied to the routing logic to pin datasource to nodes.
 8380        '''
 8381        self.healthy = healthy if healthy is not None else False
 8382        '''
 8383         True if the datasource is reachable and the credentials are valid.
 8384        '''
 8385        self.hostname = hostname if hostname is not None else ''
 8386        '''
 8387         The host to dial to initiate a connection from the egress node to this resource.
 8388        '''
 8389        self.id = id if id is not None else ''
 8390        '''
 8391         Unique identifier of the Resource.
 8392        '''
 8393        self.name = name if name is not None else ''
 8394        '''
 8395         Unique human-readable name of the Resource.
 8396        '''
 8397        self.password = password if password is not None else ''
 8398        '''
 8399         The password to authenticate with.
 8400        '''
 8401        self.port = port if port is not None else 0
 8402        '''
 8403         The port to dial to initiate a connection from the egress node to this resource.
 8404        '''
 8405        self.port_override = port_override if port_override is not None else 0
 8406        '''
 8407         The local port used by clients to connect to this resource.
 8408        '''
 8409        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8410        '''
 8411         ID of the proxy cluster for this resource, if any.
 8412        '''
 8413        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 8414        '''
 8415         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 8416        '''
 8417        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8418        '''
 8419         ID of the secret store containing credentials for this resource, if any.
 8420        '''
 8421        self.subdomain = subdomain if subdomain is not None else ''
 8422        '''
 8423         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8424        '''
 8425        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8426        '''
 8427         Tags is a map of key, value pairs.
 8428        '''
 8429        self.username = username if username is not None else ''
 8430        '''
 8431         The username to authenticate with.
 8432        '''
 8433
 8434    def __repr__(self):
 8435        return '<sdm.ClickHouseMySQL ' + \
 8436            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8437            'database: ' + repr(self.database) + ' ' +\
 8438            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8439            'healthy: ' + repr(self.healthy) + ' ' +\
 8440            'hostname: ' + repr(self.hostname) + ' ' +\
 8441            'id: ' + repr(self.id) + ' ' +\
 8442            'name: ' + repr(self.name) + ' ' +\
 8443            'password: ' + repr(self.password) + ' ' +\
 8444            'port: ' + repr(self.port) + ' ' +\
 8445            'port_override: ' + repr(self.port_override) + ' ' +\
 8446            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8447            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 8448            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8449            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8450            'tags: ' + repr(self.tags) + ' ' +\
 8451            'username: ' + repr(self.username) + ' ' +\
 8452            '>'
 8453
 8454    def to_dict(self):
 8455        return {
 8456            'bind_interface': self.bind_interface,
 8457            'database': self.database,
 8458            'egress_filter': self.egress_filter,
 8459            'healthy': self.healthy,
 8460            'hostname': self.hostname,
 8461            'id': self.id,
 8462            'name': self.name,
 8463            'password': self.password,
 8464            'port': self.port,
 8465            'port_override': self.port_override,
 8466            'proxy_cluster_id': self.proxy_cluster_id,
 8467            'require_native_auth': self.require_native_auth,
 8468            'secret_store_id': self.secret_store_id,
 8469            'subdomain': self.subdomain,
 8470            'tags': self.tags,
 8471            'username': self.username,
 8472        }
 8473
 8474    @classmethod
 8475    def from_dict(cls, d):
 8476        return cls(
 8477            bind_interface=d.get('bind_interface'),
 8478            database=d.get('database'),
 8479            egress_filter=d.get('egress_filter'),
 8480            healthy=d.get('healthy'),
 8481            hostname=d.get('hostname'),
 8482            id=d.get('id'),
 8483            name=d.get('name'),
 8484            password=d.get('password'),
 8485            port=d.get('port'),
 8486            port_override=d.get('port_override'),
 8487            proxy_cluster_id=d.get('proxy_cluster_id'),
 8488            require_native_auth=d.get('require_native_auth'),
 8489            secret_store_id=d.get('secret_store_id'),
 8490            subdomain=d.get('subdomain'),
 8491            tags=d.get('tags'),
 8492            username=d.get('username'),
 8493        )
 8494
 8495
 8496class ClickHouseTCP:
 8497    __slots__ = [
 8498        'bind_interface',
 8499        'database',
 8500        'egress_filter',
 8501        'healthy',
 8502        'hostname',
 8503        'id',
 8504        'name',
 8505        'password',
 8506        'port',
 8507        'port_override',
 8508        'proxy_cluster_id',
 8509        'secret_store_id',
 8510        'subdomain',
 8511        'tags',
 8512        'tls_required',
 8513        'username',
 8514    ]
 8515
 8516    def __init__(
 8517        self,
 8518        bind_interface=None,
 8519        database=None,
 8520        egress_filter=None,
 8521        healthy=None,
 8522        hostname=None,
 8523        id=None,
 8524        name=None,
 8525        password=None,
 8526        port=None,
 8527        port_override=None,
 8528        proxy_cluster_id=None,
 8529        secret_store_id=None,
 8530        subdomain=None,
 8531        tags=None,
 8532        tls_required=None,
 8533        username=None,
 8534    ):
 8535        self.bind_interface = bind_interface if bind_interface is not None else ''
 8536        '''
 8537         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8538        '''
 8539        self.database = database if database is not None else ''
 8540        '''
 8541         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8542        '''
 8543        self.egress_filter = egress_filter if egress_filter is not None else ''
 8544        '''
 8545         A filter applied to the routing logic to pin datasource to nodes.
 8546        '''
 8547        self.healthy = healthy if healthy is not None else False
 8548        '''
 8549         True if the datasource is reachable and the credentials are valid.
 8550        '''
 8551        self.hostname = hostname if hostname is not None else ''
 8552        '''
 8553         The host to dial to initiate a connection from the egress node to this resource.
 8554        '''
 8555        self.id = id if id is not None else ''
 8556        '''
 8557         Unique identifier of the Resource.
 8558        '''
 8559        self.name = name if name is not None else ''
 8560        '''
 8561         Unique human-readable name of the Resource.
 8562        '''
 8563        self.password = password if password is not None else ''
 8564        '''
 8565         The password to authenticate with.
 8566        '''
 8567        self.port = port if port is not None else 0
 8568        '''
 8569         The port to dial to initiate a connection from the egress node to this resource.
 8570        '''
 8571        self.port_override = port_override if port_override is not None else 0
 8572        '''
 8573         The local port used by clients to connect to this resource.
 8574        '''
 8575        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8576        '''
 8577         ID of the proxy cluster for this resource, if any.
 8578        '''
 8579        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8580        '''
 8581         ID of the secret store containing credentials for this resource, if any.
 8582        '''
 8583        self.subdomain = subdomain if subdomain is not None else ''
 8584        '''
 8585         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8586        '''
 8587        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8588        '''
 8589         Tags is a map of key, value pairs.
 8590        '''
 8591        self.tls_required = tls_required if tls_required is not None else False
 8592        '''
 8593         If set, TLS must be used to connect to this resource.
 8594        '''
 8595        self.username = username if username is not None else ''
 8596        '''
 8597         The username to authenticate with.
 8598        '''
 8599
 8600    def __repr__(self):
 8601        return '<sdm.ClickHouseTCP ' + \
 8602            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8603            'database: ' + repr(self.database) + ' ' +\
 8604            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8605            'healthy: ' + repr(self.healthy) + ' ' +\
 8606            'hostname: ' + repr(self.hostname) + ' ' +\
 8607            'id: ' + repr(self.id) + ' ' +\
 8608            'name: ' + repr(self.name) + ' ' +\
 8609            'password: ' + repr(self.password) + ' ' +\
 8610            'port: ' + repr(self.port) + ' ' +\
 8611            'port_override: ' + repr(self.port_override) + ' ' +\
 8612            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8613            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8614            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8615            'tags: ' + repr(self.tags) + ' ' +\
 8616            'tls_required: ' + repr(self.tls_required) + ' ' +\
 8617            'username: ' + repr(self.username) + ' ' +\
 8618            '>'
 8619
 8620    def to_dict(self):
 8621        return {
 8622            'bind_interface': self.bind_interface,
 8623            'database': self.database,
 8624            'egress_filter': self.egress_filter,
 8625            'healthy': self.healthy,
 8626            'hostname': self.hostname,
 8627            'id': self.id,
 8628            'name': self.name,
 8629            'password': self.password,
 8630            'port': self.port,
 8631            'port_override': self.port_override,
 8632            'proxy_cluster_id': self.proxy_cluster_id,
 8633            'secret_store_id': self.secret_store_id,
 8634            'subdomain': self.subdomain,
 8635            'tags': self.tags,
 8636            'tls_required': self.tls_required,
 8637            'username': self.username,
 8638        }
 8639
 8640    @classmethod
 8641    def from_dict(cls, d):
 8642        return cls(
 8643            bind_interface=d.get('bind_interface'),
 8644            database=d.get('database'),
 8645            egress_filter=d.get('egress_filter'),
 8646            healthy=d.get('healthy'),
 8647            hostname=d.get('hostname'),
 8648            id=d.get('id'),
 8649            name=d.get('name'),
 8650            password=d.get('password'),
 8651            port=d.get('port'),
 8652            port_override=d.get('port_override'),
 8653            proxy_cluster_id=d.get('proxy_cluster_id'),
 8654            secret_store_id=d.get('secret_store_id'),
 8655            subdomain=d.get('subdomain'),
 8656            tags=d.get('tags'),
 8657            tls_required=d.get('tls_required'),
 8658            username=d.get('username'),
 8659        )
 8660
 8661
 8662class Clustrix:
 8663    __slots__ = [
 8664        'bind_interface',
 8665        'database',
 8666        'egress_filter',
 8667        'healthy',
 8668        'hostname',
 8669        'id',
 8670        'name',
 8671        'password',
 8672        'port',
 8673        'port_override',
 8674        'proxy_cluster_id',
 8675        'require_native_auth',
 8676        'secret_store_id',
 8677        'subdomain',
 8678        'tags',
 8679        'use_azure_single_server_usernames',
 8680        'username',
 8681    ]
 8682
 8683    def __init__(
 8684        self,
 8685        bind_interface=None,
 8686        database=None,
 8687        egress_filter=None,
 8688        healthy=None,
 8689        hostname=None,
 8690        id=None,
 8691        name=None,
 8692        password=None,
 8693        port=None,
 8694        port_override=None,
 8695        proxy_cluster_id=None,
 8696        require_native_auth=None,
 8697        secret_store_id=None,
 8698        subdomain=None,
 8699        tags=None,
 8700        use_azure_single_server_usernames=None,
 8701        username=None,
 8702    ):
 8703        self.bind_interface = bind_interface if bind_interface is not None else ''
 8704        '''
 8705         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8706        '''
 8707        self.database = database if database is not None else ''
 8708        '''
 8709         The database for healthchecks. Does not affect client requests.
 8710        '''
 8711        self.egress_filter = egress_filter if egress_filter is not None else ''
 8712        '''
 8713         A filter applied to the routing logic to pin datasource to nodes.
 8714        '''
 8715        self.healthy = healthy if healthy is not None else False
 8716        '''
 8717         True if the datasource is reachable and the credentials are valid.
 8718        '''
 8719        self.hostname = hostname if hostname is not None else ''
 8720        '''
 8721         The host to dial to initiate a connection from the egress node to this resource.
 8722        '''
 8723        self.id = id if id is not None else ''
 8724        '''
 8725         Unique identifier of the Resource.
 8726        '''
 8727        self.name = name if name is not None else ''
 8728        '''
 8729         Unique human-readable name of the Resource.
 8730        '''
 8731        self.password = password if password is not None else ''
 8732        '''
 8733         The password to authenticate with.
 8734        '''
 8735        self.port = port if port is not None else 0
 8736        '''
 8737         The port to dial to initiate a connection from the egress node to this resource.
 8738        '''
 8739        self.port_override = port_override if port_override is not None else 0
 8740        '''
 8741         The local port used by clients to connect to this resource.
 8742        '''
 8743        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8744        '''
 8745         ID of the proxy cluster for this resource, if any.
 8746        '''
 8747        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 8748        '''
 8749         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 8750        '''
 8751        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8752        '''
 8753         ID of the secret store containing credentials for this resource, if any.
 8754        '''
 8755        self.subdomain = subdomain if subdomain is not None else ''
 8756        '''
 8757         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8758        '''
 8759        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8760        '''
 8761         Tags is a map of key, value pairs.
 8762        '''
 8763        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8764        '''
 8765         If true, appends the hostname to the username when hitting a database.azure.com address
 8766        '''
 8767        self.username = username if username is not None else ''
 8768        '''
 8769         The username to authenticate with.
 8770        '''
 8771
 8772    def __repr__(self):
 8773        return '<sdm.Clustrix ' + \
 8774            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8775            'database: ' + repr(self.database) + ' ' +\
 8776            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8777            'healthy: ' + repr(self.healthy) + ' ' +\
 8778            'hostname: ' + repr(self.hostname) + ' ' +\
 8779            'id: ' + repr(self.id) + ' ' +\
 8780            'name: ' + repr(self.name) + ' ' +\
 8781            'password: ' + repr(self.password) + ' ' +\
 8782            'port: ' + repr(self.port) + ' ' +\
 8783            'port_override: ' + repr(self.port_override) + ' ' +\
 8784            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8785            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 8786            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8787            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8788            'tags: ' + repr(self.tags) + ' ' +\
 8789            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8790            'username: ' + repr(self.username) + ' ' +\
 8791            '>'
 8792
 8793    def to_dict(self):
 8794        return {
 8795            'bind_interface': self.bind_interface,
 8796            'database': self.database,
 8797            'egress_filter': self.egress_filter,
 8798            'healthy': self.healthy,
 8799            'hostname': self.hostname,
 8800            'id': self.id,
 8801            'name': self.name,
 8802            'password': self.password,
 8803            'port': self.port,
 8804            'port_override': self.port_override,
 8805            'proxy_cluster_id': self.proxy_cluster_id,
 8806            'require_native_auth': self.require_native_auth,
 8807            'secret_store_id': self.secret_store_id,
 8808            'subdomain': self.subdomain,
 8809            'tags': self.tags,
 8810            'use_azure_single_server_usernames':
 8811            self.use_azure_single_server_usernames,
 8812            'username': self.username,
 8813        }
 8814
 8815    @classmethod
 8816    def from_dict(cls, d):
 8817        return cls(
 8818            bind_interface=d.get('bind_interface'),
 8819            database=d.get('database'),
 8820            egress_filter=d.get('egress_filter'),
 8821            healthy=d.get('healthy'),
 8822            hostname=d.get('hostname'),
 8823            id=d.get('id'),
 8824            name=d.get('name'),
 8825            password=d.get('password'),
 8826            port=d.get('port'),
 8827            port_override=d.get('port_override'),
 8828            proxy_cluster_id=d.get('proxy_cluster_id'),
 8829            require_native_auth=d.get('require_native_auth'),
 8830            secret_store_id=d.get('secret_store_id'),
 8831            subdomain=d.get('subdomain'),
 8832            tags=d.get('tags'),
 8833            use_azure_single_server_usernames=d.get(
 8834                'use_azure_single_server_usernames'),
 8835            username=d.get('username'),
 8836        )
 8837
 8838
 8839class Cockroach:
 8840    __slots__ = [
 8841        'bind_interface',
 8842        'database',
 8843        'egress_filter',
 8844        'healthy',
 8845        'hostname',
 8846        'id',
 8847        'name',
 8848        'override_database',
 8849        'password',
 8850        'port',
 8851        'port_override',
 8852        'proxy_cluster_id',
 8853        'secret_store_id',
 8854        'subdomain',
 8855        'tags',
 8856        'username',
 8857    ]
 8858
 8859    def __init__(
 8860        self,
 8861        bind_interface=None,
 8862        database=None,
 8863        egress_filter=None,
 8864        healthy=None,
 8865        hostname=None,
 8866        id=None,
 8867        name=None,
 8868        override_database=None,
 8869        password=None,
 8870        port=None,
 8871        port_override=None,
 8872        proxy_cluster_id=None,
 8873        secret_store_id=None,
 8874        subdomain=None,
 8875        tags=None,
 8876        username=None,
 8877    ):
 8878        self.bind_interface = bind_interface if bind_interface is not None else ''
 8879        '''
 8880         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8881        '''
 8882        self.database = database if database is not None else ''
 8883        '''
 8884         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8885        '''
 8886        self.egress_filter = egress_filter if egress_filter is not None else ''
 8887        '''
 8888         A filter applied to the routing logic to pin datasource to nodes.
 8889        '''
 8890        self.healthy = healthy if healthy is not None else False
 8891        '''
 8892         True if the datasource is reachable and the credentials are valid.
 8893        '''
 8894        self.hostname = hostname if hostname is not None else ''
 8895        '''
 8896         The host to dial to initiate a connection from the egress node to this resource.
 8897        '''
 8898        self.id = id if id is not None else ''
 8899        '''
 8900         Unique identifier of the Resource.
 8901        '''
 8902        self.name = name if name is not None else ''
 8903        '''
 8904         Unique human-readable name of the Resource.
 8905        '''
 8906        self.override_database = override_database if override_database is not None else False
 8907        '''
 8908         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.
 8909        '''
 8910        self.password = password if password is not None else ''
 8911        '''
 8912         The password to authenticate with.
 8913        '''
 8914        self.port = port if port is not None else 0
 8915        '''
 8916         The port to dial to initiate a connection from the egress node to this resource.
 8917        '''
 8918        self.port_override = port_override if port_override is not None else 0
 8919        '''
 8920         The local port used by clients to connect to this resource.
 8921        '''
 8922        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8923        '''
 8924         ID of the proxy cluster for this resource, if any.
 8925        '''
 8926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8927        '''
 8928         ID of the secret store containing credentials for this resource, if any.
 8929        '''
 8930        self.subdomain = subdomain if subdomain is not None else ''
 8931        '''
 8932         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8933        '''
 8934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8935        '''
 8936         Tags is a map of key, value pairs.
 8937        '''
 8938        self.username = username if username is not None else ''
 8939        '''
 8940         The username to authenticate with.
 8941        '''
 8942
 8943    def __repr__(self):
 8944        return '<sdm.Cockroach ' + \
 8945            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8946            'database: ' + repr(self.database) + ' ' +\
 8947            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8948            'healthy: ' + repr(self.healthy) + ' ' +\
 8949            'hostname: ' + repr(self.hostname) + ' ' +\
 8950            'id: ' + repr(self.id) + ' ' +\
 8951            'name: ' + repr(self.name) + ' ' +\
 8952            'override_database: ' + repr(self.override_database) + ' ' +\
 8953            'password: ' + repr(self.password) + ' ' +\
 8954            'port: ' + repr(self.port) + ' ' +\
 8955            'port_override: ' + repr(self.port_override) + ' ' +\
 8956            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8957            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8958            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8959            'tags: ' + repr(self.tags) + ' ' +\
 8960            'username: ' + repr(self.username) + ' ' +\
 8961            '>'
 8962
 8963    def to_dict(self):
 8964        return {
 8965            'bind_interface': self.bind_interface,
 8966            'database': self.database,
 8967            'egress_filter': self.egress_filter,
 8968            'healthy': self.healthy,
 8969            'hostname': self.hostname,
 8970            'id': self.id,
 8971            'name': self.name,
 8972            'override_database': self.override_database,
 8973            'password': self.password,
 8974            'port': self.port,
 8975            'port_override': self.port_override,
 8976            'proxy_cluster_id': self.proxy_cluster_id,
 8977            'secret_store_id': self.secret_store_id,
 8978            'subdomain': self.subdomain,
 8979            'tags': self.tags,
 8980            'username': self.username,
 8981        }
 8982
 8983    @classmethod
 8984    def from_dict(cls, d):
 8985        return cls(
 8986            bind_interface=d.get('bind_interface'),
 8987            database=d.get('database'),
 8988            egress_filter=d.get('egress_filter'),
 8989            healthy=d.get('healthy'),
 8990            hostname=d.get('hostname'),
 8991            id=d.get('id'),
 8992            name=d.get('name'),
 8993            override_database=d.get('override_database'),
 8994            password=d.get('password'),
 8995            port=d.get('port'),
 8996            port_override=d.get('port_override'),
 8997            proxy_cluster_id=d.get('proxy_cluster_id'),
 8998            secret_store_id=d.get('secret_store_id'),
 8999            subdomain=d.get('subdomain'),
 9000            tags=d.get('tags'),
 9001            username=d.get('username'),
 9002        )
 9003
 9004
 9005class ControlPanelGetRDPCAPublicKeyResponse:
 9006    '''
 9007         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
 9008     organization's RDP Certificate Authority public key.
 9009    '''
 9010    __slots__ = [
 9011        'meta',
 9012        'public_key',
 9013        'rate_limit',
 9014    ]
 9015
 9016    def __init__(
 9017        self,
 9018        meta=None,
 9019        public_key=None,
 9020        rate_limit=None,
 9021    ):
 9022        self.meta = meta if meta is not None else None
 9023        '''
 9024         Reserved for future use.
 9025        '''
 9026        self.public_key = public_key if public_key is not None else ''
 9027        '''
 9028         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9029         key format.
 9030        '''
 9031        self.rate_limit = rate_limit if rate_limit is not None else None
 9032        '''
 9033         Rate limit information.
 9034        '''
 9035
 9036    def __repr__(self):
 9037        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
 9038            'meta: ' + repr(self.meta) + ' ' +\
 9039            'public_key: ' + repr(self.public_key) + ' ' +\
 9040            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9041            '>'
 9042
 9043    def to_dict(self):
 9044        return {
 9045            'meta': self.meta,
 9046            'public_key': self.public_key,
 9047            'rate_limit': self.rate_limit,
 9048        }
 9049
 9050    @classmethod
 9051    def from_dict(cls, d):
 9052        return cls(
 9053            meta=d.get('meta'),
 9054            public_key=d.get('public_key'),
 9055            rate_limit=d.get('rate_limit'),
 9056        )
 9057
 9058
 9059class ControlPanelGetSSHCAPublicKeyResponse:
 9060    '''
 9061         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
 9062     organization's SSH Certificate Authority public key.
 9063    '''
 9064    __slots__ = [
 9065        'meta',
 9066        'public_key',
 9067        'rate_limit',
 9068    ]
 9069
 9070    def __init__(
 9071        self,
 9072        meta=None,
 9073        public_key=None,
 9074        rate_limit=None,
 9075    ):
 9076        self.meta = meta if meta is not None else None
 9077        '''
 9078         Reserved for future use.
 9079        '''
 9080        self.public_key = public_key if public_key is not None else ''
 9081        '''
 9082         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9083         key format.
 9084        '''
 9085        self.rate_limit = rate_limit if rate_limit is not None else None
 9086        '''
 9087         Rate limit information.
 9088        '''
 9089
 9090    def __repr__(self):
 9091        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
 9092            'meta: ' + repr(self.meta) + ' ' +\
 9093            'public_key: ' + repr(self.public_key) + ' ' +\
 9094            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9095            '>'
 9096
 9097    def to_dict(self):
 9098        return {
 9099            'meta': self.meta,
 9100            'public_key': self.public_key,
 9101            'rate_limit': self.rate_limit,
 9102        }
 9103
 9104    @classmethod
 9105    def from_dict(cls, d):
 9106        return cls(
 9107            meta=d.get('meta'),
 9108            public_key=d.get('public_key'),
 9109            rate_limit=d.get('rate_limit'),
 9110        )
 9111
 9112
 9113class ControlPanelVerifyJWTResponse:
 9114    '''
 9115         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
 9116    '''
 9117    __slots__ = [
 9118        'meta',
 9119        'rate_limit',
 9120        'valid',
 9121    ]
 9122
 9123    def __init__(
 9124        self,
 9125        meta=None,
 9126        rate_limit=None,
 9127        valid=None,
 9128    ):
 9129        self.meta = meta if meta is not None else None
 9130        '''
 9131         Reserved for future use.
 9132        '''
 9133        self.rate_limit = rate_limit if rate_limit is not None else None
 9134        '''
 9135         Rate limit information.
 9136        '''
 9137        self.valid = valid if valid is not None else False
 9138        '''
 9139         Reports if the given token is valid.
 9140        '''
 9141
 9142    def __repr__(self):
 9143        return '<sdm.ControlPanelVerifyJWTResponse ' + \
 9144            'meta: ' + repr(self.meta) + ' ' +\
 9145            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9146            'valid: ' + repr(self.valid) + ' ' +\
 9147            '>'
 9148
 9149    def to_dict(self):
 9150        return {
 9151            'meta': self.meta,
 9152            'rate_limit': self.rate_limit,
 9153            'valid': self.valid,
 9154        }
 9155
 9156    @classmethod
 9157    def from_dict(cls, d):
 9158        return cls(
 9159            meta=d.get('meta'),
 9160            rate_limit=d.get('rate_limit'),
 9161            valid=d.get('valid'),
 9162        )
 9163
 9164
 9165class CouchbaseDatabase:
 9166    __slots__ = [
 9167        'bind_interface',
 9168        'egress_filter',
 9169        'healthy',
 9170        'hostname',
 9171        'id',
 9172        'n1ql_port',
 9173        'name',
 9174        'password',
 9175        'port',
 9176        'port_override',
 9177        'proxy_cluster_id',
 9178        'secret_store_id',
 9179        'subdomain',
 9180        'tags',
 9181        'tls_required',
 9182        'username',
 9183    ]
 9184
 9185    def __init__(
 9186        self,
 9187        bind_interface=None,
 9188        egress_filter=None,
 9189        healthy=None,
 9190        hostname=None,
 9191        id=None,
 9192        n1ql_port=None,
 9193        name=None,
 9194        password=None,
 9195        port=None,
 9196        port_override=None,
 9197        proxy_cluster_id=None,
 9198        secret_store_id=None,
 9199        subdomain=None,
 9200        tags=None,
 9201        tls_required=None,
 9202        username=None,
 9203    ):
 9204        self.bind_interface = bind_interface if bind_interface is not None else ''
 9205        '''
 9206         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9207        '''
 9208        self.egress_filter = egress_filter if egress_filter is not None else ''
 9209        '''
 9210         A filter applied to the routing logic to pin datasource to nodes.
 9211        '''
 9212        self.healthy = healthy if healthy is not None else False
 9213        '''
 9214         True if the datasource is reachable and the credentials are valid.
 9215        '''
 9216        self.hostname = hostname if hostname is not None else ''
 9217        '''
 9218         The host to dial to initiate a connection from the egress node to this resource.
 9219        '''
 9220        self.id = id if id is not None else ''
 9221        '''
 9222         Unique identifier of the Resource.
 9223        '''
 9224        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
 9225        '''
 9226         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
 9227        '''
 9228        self.name = name if name is not None else ''
 9229        '''
 9230         Unique human-readable name of the Resource.
 9231        '''
 9232        self.password = password if password is not None else ''
 9233        '''
 9234         The password to authenticate with.
 9235        '''
 9236        self.port = port if port is not None else 0
 9237        '''
 9238         The port to dial to initiate a connection from the egress node to this resource.
 9239        '''
 9240        self.port_override = port_override if port_override is not None else 0
 9241        '''
 9242         The local port used by clients to connect to this resource.
 9243        '''
 9244        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9245        '''
 9246         ID of the proxy cluster for this resource, if any.
 9247        '''
 9248        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9249        '''
 9250         ID of the secret store containing credentials for this resource, if any.
 9251        '''
 9252        self.subdomain = subdomain if subdomain is not None else ''
 9253        '''
 9254         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9255        '''
 9256        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9257        '''
 9258         Tags is a map of key, value pairs.
 9259        '''
 9260        self.tls_required = tls_required if tls_required is not None else False
 9261        '''
 9262         If set, TLS must be used to connect to this resource.
 9263        '''
 9264        self.username = username if username is not None else ''
 9265        '''
 9266         The username to authenticate with.
 9267        '''
 9268
 9269    def __repr__(self):
 9270        return '<sdm.CouchbaseDatabase ' + \
 9271            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9273            'healthy: ' + repr(self.healthy) + ' ' +\
 9274            'hostname: ' + repr(self.hostname) + ' ' +\
 9275            'id: ' + repr(self.id) + ' ' +\
 9276            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
 9277            'name: ' + repr(self.name) + ' ' +\
 9278            'password: ' + repr(self.password) + ' ' +\
 9279            'port: ' + repr(self.port) + ' ' +\
 9280            'port_override: ' + repr(self.port_override) + ' ' +\
 9281            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9282            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9283            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9284            'tags: ' + repr(self.tags) + ' ' +\
 9285            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9286            'username: ' + repr(self.username) + ' ' +\
 9287            '>'
 9288
 9289    def to_dict(self):
 9290        return {
 9291            'bind_interface': self.bind_interface,
 9292            'egress_filter': self.egress_filter,
 9293            'healthy': self.healthy,
 9294            'hostname': self.hostname,
 9295            'id': self.id,
 9296            'n1ql_port': self.n1ql_port,
 9297            'name': self.name,
 9298            'password': self.password,
 9299            'port': self.port,
 9300            'port_override': self.port_override,
 9301            'proxy_cluster_id': self.proxy_cluster_id,
 9302            'secret_store_id': self.secret_store_id,
 9303            'subdomain': self.subdomain,
 9304            'tags': self.tags,
 9305            'tls_required': self.tls_required,
 9306            'username': self.username,
 9307        }
 9308
 9309    @classmethod
 9310    def from_dict(cls, d):
 9311        return cls(
 9312            bind_interface=d.get('bind_interface'),
 9313            egress_filter=d.get('egress_filter'),
 9314            healthy=d.get('healthy'),
 9315            hostname=d.get('hostname'),
 9316            id=d.get('id'),
 9317            n1ql_port=d.get('n1ql_port'),
 9318            name=d.get('name'),
 9319            password=d.get('password'),
 9320            port=d.get('port'),
 9321            port_override=d.get('port_override'),
 9322            proxy_cluster_id=d.get('proxy_cluster_id'),
 9323            secret_store_id=d.get('secret_store_id'),
 9324            subdomain=d.get('subdomain'),
 9325            tags=d.get('tags'),
 9326            tls_required=d.get('tls_required'),
 9327            username=d.get('username'),
 9328        )
 9329
 9330
 9331class CouchbaseWebUI:
 9332    __slots__ = [
 9333        'bind_interface',
 9334        'egress_filter',
 9335        'healthy',
 9336        'id',
 9337        'name',
 9338        'password',
 9339        'port_override',
 9340        'proxy_cluster_id',
 9341        'secret_store_id',
 9342        'subdomain',
 9343        'tags',
 9344        'url',
 9345        'username',
 9346    ]
 9347
 9348    def __init__(
 9349        self,
 9350        bind_interface=None,
 9351        egress_filter=None,
 9352        healthy=None,
 9353        id=None,
 9354        name=None,
 9355        password=None,
 9356        port_override=None,
 9357        proxy_cluster_id=None,
 9358        secret_store_id=None,
 9359        subdomain=None,
 9360        tags=None,
 9361        url=None,
 9362        username=None,
 9363    ):
 9364        self.bind_interface = bind_interface if bind_interface is not None else ''
 9365        '''
 9366         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9367        '''
 9368        self.egress_filter = egress_filter if egress_filter is not None else ''
 9369        '''
 9370         A filter applied to the routing logic to pin datasource to nodes.
 9371        '''
 9372        self.healthy = healthy if healthy is not None else False
 9373        '''
 9374         True if the datasource is reachable and the credentials are valid.
 9375        '''
 9376        self.id = id if id is not None else ''
 9377        '''
 9378         Unique identifier of the Resource.
 9379        '''
 9380        self.name = name if name is not None else ''
 9381        '''
 9382         Unique human-readable name of the Resource.
 9383        '''
 9384        self.password = password if password is not None else ''
 9385        '''
 9386         The password to authenticate with.
 9387        '''
 9388        self.port_override = port_override if port_override is not None else 0
 9389        '''
 9390         The local port used by clients to connect to this resource.
 9391        '''
 9392        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9393        '''
 9394         ID of the proxy cluster for this resource, if any.
 9395        '''
 9396        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9397        '''
 9398         ID of the secret store containing credentials for this resource, if any.
 9399        '''
 9400        self.subdomain = subdomain if subdomain is not None else ''
 9401        '''
 9402         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9403        '''
 9404        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9405        '''
 9406         Tags is a map of key, value pairs.
 9407        '''
 9408        self.url = url if url is not None else ''
 9409        '''
 9410         The base address of your website without the path.
 9411        '''
 9412        self.username = username if username is not None else ''
 9413        '''
 9414         The username to authenticate with.
 9415        '''
 9416
 9417    def __repr__(self):
 9418        return '<sdm.CouchbaseWebUI ' + \
 9419            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9420            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9421            'healthy: ' + repr(self.healthy) + ' ' +\
 9422            'id: ' + repr(self.id) + ' ' +\
 9423            'name: ' + repr(self.name) + ' ' +\
 9424            'password: ' + repr(self.password) + ' ' +\
 9425            'port_override: ' + repr(self.port_override) + ' ' +\
 9426            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9427            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9428            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9429            'tags: ' + repr(self.tags) + ' ' +\
 9430            'url: ' + repr(self.url) + ' ' +\
 9431            'username: ' + repr(self.username) + ' ' +\
 9432            '>'
 9433
 9434    def to_dict(self):
 9435        return {
 9436            'bind_interface': self.bind_interface,
 9437            'egress_filter': self.egress_filter,
 9438            'healthy': self.healthy,
 9439            'id': self.id,
 9440            'name': self.name,
 9441            'password': self.password,
 9442            'port_override': self.port_override,
 9443            'proxy_cluster_id': self.proxy_cluster_id,
 9444            'secret_store_id': self.secret_store_id,
 9445            'subdomain': self.subdomain,
 9446            'tags': self.tags,
 9447            'url': self.url,
 9448            'username': self.username,
 9449        }
 9450
 9451    @classmethod
 9452    def from_dict(cls, d):
 9453        return cls(
 9454            bind_interface=d.get('bind_interface'),
 9455            egress_filter=d.get('egress_filter'),
 9456            healthy=d.get('healthy'),
 9457            id=d.get('id'),
 9458            name=d.get('name'),
 9459            password=d.get('password'),
 9460            port_override=d.get('port_override'),
 9461            proxy_cluster_id=d.get('proxy_cluster_id'),
 9462            secret_store_id=d.get('secret_store_id'),
 9463            subdomain=d.get('subdomain'),
 9464            tags=d.get('tags'),
 9465            url=d.get('url'),
 9466            username=d.get('username'),
 9467        )
 9468
 9469
 9470class CreateResponseMetadata:
 9471    '''
 9472         CreateResponseMetadata is reserved for future use.
 9473    '''
 9474    __slots__ = []
 9475
 9476    def __init__(self, ):
 9477        pass
 9478
 9479    def __repr__(self):
 9480        return '<sdm.CreateResponseMetadata ' + \
 9481            '>'
 9482
 9483    def to_dict(self):
 9484        return {}
 9485
 9486    @classmethod
 9487    def from_dict(cls, d):
 9488        return cls()
 9489
 9490
 9491class CyberarkConjurStore:
 9492    __slots__ = [
 9493        'appurl',
 9494        'id',
 9495        'name',
 9496        'tags',
 9497    ]
 9498
 9499    def __init__(
 9500        self,
 9501        appurl=None,
 9502        id=None,
 9503        name=None,
 9504        tags=None,
 9505    ):
 9506        self.appurl = appurl if appurl is not None else ''
 9507        '''
 9508         The URL of the Cyberark instance
 9509        '''
 9510        self.id = id if id is not None else ''
 9511        '''
 9512         Unique identifier of the SecretStore.
 9513        '''
 9514        self.name = name if name is not None else ''
 9515        '''
 9516         Unique human-readable name of the SecretStore.
 9517        '''
 9518        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9519        '''
 9520         Tags is a map of key, value pairs.
 9521        '''
 9522
 9523    def __repr__(self):
 9524        return '<sdm.CyberarkConjurStore ' + \
 9525            'appurl: ' + repr(self.appurl) + ' ' +\
 9526            'id: ' + repr(self.id) + ' ' +\
 9527            'name: ' + repr(self.name) + ' ' +\
 9528            'tags: ' + repr(self.tags) + ' ' +\
 9529            '>'
 9530
 9531    def to_dict(self):
 9532        return {
 9533            'appurl': self.appurl,
 9534            'id': self.id,
 9535            'name': self.name,
 9536            'tags': self.tags,
 9537        }
 9538
 9539    @classmethod
 9540    def from_dict(cls, d):
 9541        return cls(
 9542            appurl=d.get('appurl'),
 9543            id=d.get('id'),
 9544            name=d.get('name'),
 9545            tags=d.get('tags'),
 9546        )
 9547
 9548
 9549class CyberarkPAMExperimentalStore:
 9550    '''
 9551    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
 9552    without a major version bump.
 9553    '''
 9554    __slots__ = [
 9555        'appurl',
 9556        'id',
 9557        'name',
 9558        'tags',
 9559    ]
 9560
 9561    def __init__(
 9562        self,
 9563        appurl=None,
 9564        id=None,
 9565        name=None,
 9566        tags=None,
 9567    ):
 9568        self.appurl = appurl if appurl is not None else ''
 9569        '''
 9570         The URL of the Cyberark instance
 9571        '''
 9572        self.id = id if id is not None else ''
 9573        '''
 9574         Unique identifier of the SecretStore.
 9575        '''
 9576        self.name = name if name is not None else ''
 9577        '''
 9578         Unique human-readable name of the SecretStore.
 9579        '''
 9580        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9581        '''
 9582         Tags is a map of key, value pairs.
 9583        '''
 9584
 9585    def __repr__(self):
 9586        return '<sdm.CyberarkPAMExperimentalStore ' + \
 9587            'appurl: ' + repr(self.appurl) + ' ' +\
 9588            'id: ' + repr(self.id) + ' ' +\
 9589            'name: ' + repr(self.name) + ' ' +\
 9590            'tags: ' + repr(self.tags) + ' ' +\
 9591            '>'
 9592
 9593    def to_dict(self):
 9594        return {
 9595            'appurl': self.appurl,
 9596            'id': self.id,
 9597            'name': self.name,
 9598            'tags': self.tags,
 9599        }
 9600
 9601    @classmethod
 9602    def from_dict(cls, d):
 9603        return cls(
 9604            appurl=d.get('appurl'),
 9605            id=d.get('id'),
 9606            name=d.get('name'),
 9607            tags=d.get('tags'),
 9608        )
 9609
 9610
 9611class CyberarkPAMStore:
 9612    __slots__ = [
 9613        'appurl',
 9614        'id',
 9615        'name',
 9616        'tags',
 9617    ]
 9618
 9619    def __init__(
 9620        self,
 9621        appurl=None,
 9622        id=None,
 9623        name=None,
 9624        tags=None,
 9625    ):
 9626        self.appurl = appurl if appurl is not None else ''
 9627        '''
 9628         The URL of the Cyberark instance
 9629        '''
 9630        self.id = id if id is not None else ''
 9631        '''
 9632         Unique identifier of the SecretStore.
 9633        '''
 9634        self.name = name if name is not None else ''
 9635        '''
 9636         Unique human-readable name of the SecretStore.
 9637        '''
 9638        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9639        '''
 9640         Tags is a map of key, value pairs.
 9641        '''
 9642
 9643    def __repr__(self):
 9644        return '<sdm.CyberarkPAMStore ' + \
 9645            'appurl: ' + repr(self.appurl) + ' ' +\
 9646            'id: ' + repr(self.id) + ' ' +\
 9647            'name: ' + repr(self.name) + ' ' +\
 9648            'tags: ' + repr(self.tags) + ' ' +\
 9649            '>'
 9650
 9651    def to_dict(self):
 9652        return {
 9653            'appurl': self.appurl,
 9654            'id': self.id,
 9655            'name': self.name,
 9656            'tags': self.tags,
 9657        }
 9658
 9659    @classmethod
 9660    def from_dict(cls, d):
 9661        return cls(
 9662            appurl=d.get('appurl'),
 9663            id=d.get('id'),
 9664            name=d.get('name'),
 9665            tags=d.get('tags'),
 9666        )
 9667
 9668
 9669class DB2I:
 9670    __slots__ = [
 9671        'bind_interface',
 9672        'egress_filter',
 9673        'healthy',
 9674        'hostname',
 9675        'id',
 9676        'name',
 9677        'password',
 9678        'port',
 9679        'port_override',
 9680        'proxy_cluster_id',
 9681        'secret_store_id',
 9682        'subdomain',
 9683        'tags',
 9684        'tls_required',
 9685        'username',
 9686    ]
 9687
 9688    def __init__(
 9689        self,
 9690        bind_interface=None,
 9691        egress_filter=None,
 9692        healthy=None,
 9693        hostname=None,
 9694        id=None,
 9695        name=None,
 9696        password=None,
 9697        port=None,
 9698        port_override=None,
 9699        proxy_cluster_id=None,
 9700        secret_store_id=None,
 9701        subdomain=None,
 9702        tags=None,
 9703        tls_required=None,
 9704        username=None,
 9705    ):
 9706        self.bind_interface = bind_interface if bind_interface is not None else ''
 9707        '''
 9708         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9709        '''
 9710        self.egress_filter = egress_filter if egress_filter is not None else ''
 9711        '''
 9712         A filter applied to the routing logic to pin datasource to nodes.
 9713        '''
 9714        self.healthy = healthy if healthy is not None else False
 9715        '''
 9716         True if the datasource is reachable and the credentials are valid.
 9717        '''
 9718        self.hostname = hostname if hostname is not None else ''
 9719        '''
 9720         The host to dial to initiate a connection from the egress node to this resource.
 9721        '''
 9722        self.id = id if id is not None else ''
 9723        '''
 9724         Unique identifier of the Resource.
 9725        '''
 9726        self.name = name if name is not None else ''
 9727        '''
 9728         Unique human-readable name of the Resource.
 9729        '''
 9730        self.password = password if password is not None else ''
 9731        '''
 9732         The password to authenticate with.
 9733        '''
 9734        self.port = port if port is not None else 0
 9735        '''
 9736         The port to dial to initiate a connection from the egress node to this resource.
 9737        '''
 9738        self.port_override = port_override if port_override is not None else 0
 9739        '''
 9740         The local port used by clients to connect to this resource.
 9741        '''
 9742        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9743        '''
 9744         ID of the proxy cluster for this resource, if any.
 9745        '''
 9746        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9747        '''
 9748         ID of the secret store containing credentials for this resource, if any.
 9749        '''
 9750        self.subdomain = subdomain if subdomain is not None else ''
 9751        '''
 9752         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9753        '''
 9754        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9755        '''
 9756         Tags is a map of key, value pairs.
 9757        '''
 9758        self.tls_required = tls_required if tls_required is not None else False
 9759        '''
 9760         If set, TLS must be used to connect to this resource.
 9761        '''
 9762        self.username = username if username is not None else ''
 9763        '''
 9764         The username to authenticate with.
 9765        '''
 9766
 9767    def __repr__(self):
 9768        return '<sdm.DB2I ' + \
 9769            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9770            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9771            'healthy: ' + repr(self.healthy) + ' ' +\
 9772            'hostname: ' + repr(self.hostname) + ' ' +\
 9773            'id: ' + repr(self.id) + ' ' +\
 9774            'name: ' + repr(self.name) + ' ' +\
 9775            'password: ' + repr(self.password) + ' ' +\
 9776            'port: ' + repr(self.port) + ' ' +\
 9777            'port_override: ' + repr(self.port_override) + ' ' +\
 9778            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9779            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9780            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9781            'tags: ' + repr(self.tags) + ' ' +\
 9782            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9783            'username: ' + repr(self.username) + ' ' +\
 9784            '>'
 9785
 9786    def to_dict(self):
 9787        return {
 9788            'bind_interface': self.bind_interface,
 9789            'egress_filter': self.egress_filter,
 9790            'healthy': self.healthy,
 9791            'hostname': self.hostname,
 9792            'id': self.id,
 9793            'name': self.name,
 9794            'password': self.password,
 9795            'port': self.port,
 9796            'port_override': self.port_override,
 9797            'proxy_cluster_id': self.proxy_cluster_id,
 9798            'secret_store_id': self.secret_store_id,
 9799            'subdomain': self.subdomain,
 9800            'tags': self.tags,
 9801            'tls_required': self.tls_required,
 9802            'username': self.username,
 9803        }
 9804
 9805    @classmethod
 9806    def from_dict(cls, d):
 9807        return cls(
 9808            bind_interface=d.get('bind_interface'),
 9809            egress_filter=d.get('egress_filter'),
 9810            healthy=d.get('healthy'),
 9811            hostname=d.get('hostname'),
 9812            id=d.get('id'),
 9813            name=d.get('name'),
 9814            password=d.get('password'),
 9815            port=d.get('port'),
 9816            port_override=d.get('port_override'),
 9817            proxy_cluster_id=d.get('proxy_cluster_id'),
 9818            secret_store_id=d.get('secret_store_id'),
 9819            subdomain=d.get('subdomain'),
 9820            tags=d.get('tags'),
 9821            tls_required=d.get('tls_required'),
 9822            username=d.get('username'),
 9823        )
 9824
 9825
 9826class DB2LUW:
 9827    __slots__ = [
 9828        'bind_interface',
 9829        'database',
 9830        'egress_filter',
 9831        'healthy',
 9832        'hostname',
 9833        'id',
 9834        'name',
 9835        'password',
 9836        'port',
 9837        'port_override',
 9838        'proxy_cluster_id',
 9839        'secret_store_id',
 9840        'subdomain',
 9841        'tags',
 9842        'username',
 9843    ]
 9844
 9845    def __init__(
 9846        self,
 9847        bind_interface=None,
 9848        database=None,
 9849        egress_filter=None,
 9850        healthy=None,
 9851        hostname=None,
 9852        id=None,
 9853        name=None,
 9854        password=None,
 9855        port=None,
 9856        port_override=None,
 9857        proxy_cluster_id=None,
 9858        secret_store_id=None,
 9859        subdomain=None,
 9860        tags=None,
 9861        username=None,
 9862    ):
 9863        self.bind_interface = bind_interface if bind_interface is not None else ''
 9864        '''
 9865         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9866        '''
 9867        self.database = database if database is not None else ''
 9868        '''
 9869         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9870        '''
 9871        self.egress_filter = egress_filter if egress_filter is not None else ''
 9872        '''
 9873         A filter applied to the routing logic to pin datasource to nodes.
 9874        '''
 9875        self.healthy = healthy if healthy is not None else False
 9876        '''
 9877         True if the datasource is reachable and the credentials are valid.
 9878        '''
 9879        self.hostname = hostname if hostname is not None else ''
 9880        '''
 9881         The host to dial to initiate a connection from the egress node to this resource.
 9882        '''
 9883        self.id = id if id is not None else ''
 9884        '''
 9885         Unique identifier of the Resource.
 9886        '''
 9887        self.name = name if name is not None else ''
 9888        '''
 9889         Unique human-readable name of the Resource.
 9890        '''
 9891        self.password = password if password is not None else ''
 9892        '''
 9893         The password to authenticate with.
 9894        '''
 9895        self.port = port if port is not None else 0
 9896        '''
 9897         The port to dial to initiate a connection from the egress node to this resource.
 9898        '''
 9899        self.port_override = port_override if port_override is not None else 0
 9900        '''
 9901         The local port used by clients to connect to this resource.
 9902        '''
 9903        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9904        '''
 9905         ID of the proxy cluster for this resource, if any.
 9906        '''
 9907        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9908        '''
 9909         ID of the secret store containing credentials for this resource, if any.
 9910        '''
 9911        self.subdomain = subdomain if subdomain is not None else ''
 9912        '''
 9913         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9914        '''
 9915        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9916        '''
 9917         Tags is a map of key, value pairs.
 9918        '''
 9919        self.username = username if username is not None else ''
 9920        '''
 9921         The username to authenticate with.
 9922        '''
 9923
 9924    def __repr__(self):
 9925        return '<sdm.DB2LUW ' + \
 9926            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9927            'database: ' + repr(self.database) + ' ' +\
 9928            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9929            'healthy: ' + repr(self.healthy) + ' ' +\
 9930            'hostname: ' + repr(self.hostname) + ' ' +\
 9931            'id: ' + repr(self.id) + ' ' +\
 9932            'name: ' + repr(self.name) + ' ' +\
 9933            'password: ' + repr(self.password) + ' ' +\
 9934            'port: ' + repr(self.port) + ' ' +\
 9935            'port_override: ' + repr(self.port_override) + ' ' +\
 9936            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9937            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9938            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9939            'tags: ' + repr(self.tags) + ' ' +\
 9940            'username: ' + repr(self.username) + ' ' +\
 9941            '>'
 9942
 9943    def to_dict(self):
 9944        return {
 9945            'bind_interface': self.bind_interface,
 9946            'database': self.database,
 9947            'egress_filter': self.egress_filter,
 9948            'healthy': self.healthy,
 9949            'hostname': self.hostname,
 9950            'id': self.id,
 9951            'name': self.name,
 9952            'password': self.password,
 9953            'port': self.port,
 9954            'port_override': self.port_override,
 9955            'proxy_cluster_id': self.proxy_cluster_id,
 9956            'secret_store_id': self.secret_store_id,
 9957            'subdomain': self.subdomain,
 9958            'tags': self.tags,
 9959            'username': self.username,
 9960        }
 9961
 9962    @classmethod
 9963    def from_dict(cls, d):
 9964        return cls(
 9965            bind_interface=d.get('bind_interface'),
 9966            database=d.get('database'),
 9967            egress_filter=d.get('egress_filter'),
 9968            healthy=d.get('healthy'),
 9969            hostname=d.get('hostname'),
 9970            id=d.get('id'),
 9971            name=d.get('name'),
 9972            password=d.get('password'),
 9973            port=d.get('port'),
 9974            port_override=d.get('port_override'),
 9975            proxy_cluster_id=d.get('proxy_cluster_id'),
 9976            secret_store_id=d.get('secret_store_id'),
 9977            subdomain=d.get('subdomain'),
 9978            tags=d.get('tags'),
 9979            username=d.get('username'),
 9980        )
 9981
 9982
 9983class DeleteResponseMetadata:
 9984    '''
 9985         DeleteResponseMetadata is reserved for future use.
 9986    '''
 9987    __slots__ = []
 9988
 9989    def __init__(self, ):
 9990        pass
 9991
 9992    def __repr__(self):
 9993        return '<sdm.DeleteResponseMetadata ' + \
 9994            '>'
 9995
 9996    def to_dict(self):
 9997        return {}
 9998
 9999    @classmethod
10000    def from_dict(cls, d):
10001        return cls()
10002
10003
10004class DelineaStore:
10005    __slots__ = [
10006        'id',
10007        'name',
10008        'server_url',
10009        'tags',
10010        'tenant_name',
10011    ]
10012
10013    def __init__(
10014        self,
10015        id=None,
10016        name=None,
10017        server_url=None,
10018        tags=None,
10019        tenant_name=None,
10020    ):
10021        self.id = id if id is not None else ''
10022        '''
10023         Unique identifier of the SecretStore.
10024        '''
10025        self.name = name if name is not None else ''
10026        '''
10027         Unique human-readable name of the SecretStore.
10028        '''
10029        self.server_url = server_url if server_url is not None else ''
10030        '''
10031         The URL of the Delinea instance
10032        '''
10033        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10034        '''
10035         Tags is a map of key, value pairs.
10036        '''
10037        self.tenant_name = tenant_name if tenant_name is not None else ''
10038        '''
10039         The tenant name to target
10040        '''
10041
10042    def __repr__(self):
10043        return '<sdm.DelineaStore ' + \
10044            'id: ' + repr(self.id) + ' ' +\
10045            'name: ' + repr(self.name) + ' ' +\
10046            'server_url: ' + repr(self.server_url) + ' ' +\
10047            'tags: ' + repr(self.tags) + ' ' +\
10048            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10049            '>'
10050
10051    def to_dict(self):
10052        return {
10053            'id': self.id,
10054            'name': self.name,
10055            'server_url': self.server_url,
10056            'tags': self.tags,
10057            'tenant_name': self.tenant_name,
10058        }
10059
10060    @classmethod
10061    def from_dict(cls, d):
10062        return cls(
10063            id=d.get('id'),
10064            name=d.get('name'),
10065            server_url=d.get('server_url'),
10066            tags=d.get('tags'),
10067            tenant_name=d.get('tenant_name'),
10068        )
10069
10070
10071class DocumentDBHost:
10072    __slots__ = [
10073        'auth_database',
10074        'bind_interface',
10075        'egress_filter',
10076        'healthy',
10077        'hostname',
10078        'id',
10079        'name',
10080        'password',
10081        'port',
10082        'port_override',
10083        'proxy_cluster_id',
10084        'secret_store_id',
10085        'subdomain',
10086        'tags',
10087        'username',
10088    ]
10089
10090    def __init__(
10091        self,
10092        auth_database=None,
10093        bind_interface=None,
10094        egress_filter=None,
10095        healthy=None,
10096        hostname=None,
10097        id=None,
10098        name=None,
10099        password=None,
10100        port=None,
10101        port_override=None,
10102        proxy_cluster_id=None,
10103        secret_store_id=None,
10104        subdomain=None,
10105        tags=None,
10106        username=None,
10107    ):
10108        self.auth_database = auth_database if auth_database is not None else ''
10109        '''
10110         The authentication database to use.
10111        '''
10112        self.bind_interface = bind_interface if bind_interface is not None else ''
10113        '''
10114         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10115        '''
10116        self.egress_filter = egress_filter if egress_filter is not None else ''
10117        '''
10118         A filter applied to the routing logic to pin datasource to nodes.
10119        '''
10120        self.healthy = healthy if healthy is not None else False
10121        '''
10122         True if the datasource is reachable and the credentials are valid.
10123        '''
10124        self.hostname = hostname if hostname is not None else ''
10125        '''
10126         The host to dial to initiate a connection from the egress node to this resource.
10127        '''
10128        self.id = id if id is not None else ''
10129        '''
10130         Unique identifier of the Resource.
10131        '''
10132        self.name = name if name is not None else ''
10133        '''
10134         Unique human-readable name of the Resource.
10135        '''
10136        self.password = password if password is not None else ''
10137        '''
10138         The password to authenticate with.
10139        '''
10140        self.port = port if port is not None else 0
10141        '''
10142         The port to dial to initiate a connection from the egress node to this resource.
10143        '''
10144        self.port_override = port_override if port_override is not None else 0
10145        '''
10146         The local port used by clients to connect to this resource.
10147        '''
10148        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10149        '''
10150         ID of the proxy cluster for this resource, if any.
10151        '''
10152        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10153        '''
10154         ID of the secret store containing credentials for this resource, if any.
10155        '''
10156        self.subdomain = subdomain if subdomain is not None else ''
10157        '''
10158         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10159        '''
10160        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10161        '''
10162         Tags is a map of key, value pairs.
10163        '''
10164        self.username = username if username is not None else ''
10165        '''
10166         The username to authenticate with.
10167        '''
10168
10169    def __repr__(self):
10170        return '<sdm.DocumentDBHost ' + \
10171            'auth_database: ' + repr(self.auth_database) + ' ' +\
10172            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10173            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10174            'healthy: ' + repr(self.healthy) + ' ' +\
10175            'hostname: ' + repr(self.hostname) + ' ' +\
10176            'id: ' + repr(self.id) + ' ' +\
10177            'name: ' + repr(self.name) + ' ' +\
10178            'password: ' + repr(self.password) + ' ' +\
10179            'port: ' + repr(self.port) + ' ' +\
10180            'port_override: ' + repr(self.port_override) + ' ' +\
10181            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10182            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10183            'subdomain: ' + repr(self.subdomain) + ' ' +\
10184            'tags: ' + repr(self.tags) + ' ' +\
10185            'username: ' + repr(self.username) + ' ' +\
10186            '>'
10187
10188    def to_dict(self):
10189        return {
10190            'auth_database': self.auth_database,
10191            'bind_interface': self.bind_interface,
10192            'egress_filter': self.egress_filter,
10193            'healthy': self.healthy,
10194            'hostname': self.hostname,
10195            'id': self.id,
10196            'name': self.name,
10197            'password': self.password,
10198            'port': self.port,
10199            'port_override': self.port_override,
10200            'proxy_cluster_id': self.proxy_cluster_id,
10201            'secret_store_id': self.secret_store_id,
10202            'subdomain': self.subdomain,
10203            'tags': self.tags,
10204            'username': self.username,
10205        }
10206
10207    @classmethod
10208    def from_dict(cls, d):
10209        return cls(
10210            auth_database=d.get('auth_database'),
10211            bind_interface=d.get('bind_interface'),
10212            egress_filter=d.get('egress_filter'),
10213            healthy=d.get('healthy'),
10214            hostname=d.get('hostname'),
10215            id=d.get('id'),
10216            name=d.get('name'),
10217            password=d.get('password'),
10218            port=d.get('port'),
10219            port_override=d.get('port_override'),
10220            proxy_cluster_id=d.get('proxy_cluster_id'),
10221            secret_store_id=d.get('secret_store_id'),
10222            subdomain=d.get('subdomain'),
10223            tags=d.get('tags'),
10224            username=d.get('username'),
10225        )
10226
10227
10228class DocumentDBHostIAM:
10229    __slots__ = [
10230        'bind_interface',
10231        'egress_filter',
10232        'healthy',
10233        'hostname',
10234        'id',
10235        'name',
10236        'port',
10237        'port_override',
10238        'proxy_cluster_id',
10239        'region',
10240        'secret_store_id',
10241        'subdomain',
10242        'tags',
10243    ]
10244
10245    def __init__(
10246        self,
10247        bind_interface=None,
10248        egress_filter=None,
10249        healthy=None,
10250        hostname=None,
10251        id=None,
10252        name=None,
10253        port=None,
10254        port_override=None,
10255        proxy_cluster_id=None,
10256        region=None,
10257        secret_store_id=None,
10258        subdomain=None,
10259        tags=None,
10260    ):
10261        self.bind_interface = bind_interface if bind_interface is not None else ''
10262        '''
10263         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10264        '''
10265        self.egress_filter = egress_filter if egress_filter is not None else ''
10266        '''
10267         A filter applied to the routing logic to pin datasource to nodes.
10268        '''
10269        self.healthy = healthy if healthy is not None else False
10270        '''
10271         True if the datasource is reachable and the credentials are valid.
10272        '''
10273        self.hostname = hostname if hostname is not None else ''
10274        '''
10275         The host to dial to initiate a connection from the egress node to this resource.
10276        '''
10277        self.id = id if id is not None else ''
10278        '''
10279         Unique identifier of the Resource.
10280        '''
10281        self.name = name if name is not None else ''
10282        '''
10283         Unique human-readable name of the Resource.
10284        '''
10285        self.port = port if port is not None else 0
10286        '''
10287         The port to dial to initiate a connection from the egress node to this resource.
10288        '''
10289        self.port_override = port_override if port_override is not None else 0
10290        '''
10291         The local port used by clients to connect to this resource.
10292        '''
10293        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10294        '''
10295         ID of the proxy cluster for this resource, if any.
10296        '''
10297        self.region = region if region is not None else ''
10298        '''
10299         The AWS region to connect to.
10300        '''
10301        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10302        '''
10303         ID of the secret store containing credentials for this resource, if any.
10304        '''
10305        self.subdomain = subdomain if subdomain is not None else ''
10306        '''
10307         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10308        '''
10309        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10310        '''
10311         Tags is a map of key, value pairs.
10312        '''
10313
10314    def __repr__(self):
10315        return '<sdm.DocumentDBHostIAM ' + \
10316            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10317            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10318            'healthy: ' + repr(self.healthy) + ' ' +\
10319            'hostname: ' + repr(self.hostname) + ' ' +\
10320            'id: ' + repr(self.id) + ' ' +\
10321            'name: ' + repr(self.name) + ' ' +\
10322            'port: ' + repr(self.port) + ' ' +\
10323            'port_override: ' + repr(self.port_override) + ' ' +\
10324            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10325            'region: ' + repr(self.region) + ' ' +\
10326            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10327            'subdomain: ' + repr(self.subdomain) + ' ' +\
10328            'tags: ' + repr(self.tags) + ' ' +\
10329            '>'
10330
10331    def to_dict(self):
10332        return {
10333            'bind_interface': self.bind_interface,
10334            'egress_filter': self.egress_filter,
10335            'healthy': self.healthy,
10336            'hostname': self.hostname,
10337            'id': self.id,
10338            'name': self.name,
10339            'port': self.port,
10340            'port_override': self.port_override,
10341            'proxy_cluster_id': self.proxy_cluster_id,
10342            'region': self.region,
10343            'secret_store_id': self.secret_store_id,
10344            'subdomain': self.subdomain,
10345            'tags': self.tags,
10346        }
10347
10348    @classmethod
10349    def from_dict(cls, d):
10350        return cls(
10351            bind_interface=d.get('bind_interface'),
10352            egress_filter=d.get('egress_filter'),
10353            healthy=d.get('healthy'),
10354            hostname=d.get('hostname'),
10355            id=d.get('id'),
10356            name=d.get('name'),
10357            port=d.get('port'),
10358            port_override=d.get('port_override'),
10359            proxy_cluster_id=d.get('proxy_cluster_id'),
10360            region=d.get('region'),
10361            secret_store_id=d.get('secret_store_id'),
10362            subdomain=d.get('subdomain'),
10363            tags=d.get('tags'),
10364        )
10365
10366
10367class DocumentDBReplicaSet:
10368    __slots__ = [
10369        'auth_database',
10370        'bind_interface',
10371        'connect_to_replica',
10372        'egress_filter',
10373        'healthy',
10374        'hostname',
10375        'id',
10376        'name',
10377        'password',
10378        'port_override',
10379        'proxy_cluster_id',
10380        'replica_set',
10381        'secret_store_id',
10382        'subdomain',
10383        'tags',
10384        'username',
10385    ]
10386
10387    def __init__(
10388        self,
10389        auth_database=None,
10390        bind_interface=None,
10391        connect_to_replica=None,
10392        egress_filter=None,
10393        healthy=None,
10394        hostname=None,
10395        id=None,
10396        name=None,
10397        password=None,
10398        port_override=None,
10399        proxy_cluster_id=None,
10400        replica_set=None,
10401        secret_store_id=None,
10402        subdomain=None,
10403        tags=None,
10404        username=None,
10405    ):
10406        self.auth_database = auth_database if auth_database is not None else ''
10407        '''
10408         The authentication database to use.
10409        '''
10410        self.bind_interface = bind_interface if bind_interface is not None else ''
10411        '''
10412         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10413        '''
10414        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
10415        '''
10416         Set to connect to a replica instead of the primary node.
10417        '''
10418        self.egress_filter = egress_filter if egress_filter is not None else ''
10419        '''
10420         A filter applied to the routing logic to pin datasource to nodes.
10421        '''
10422        self.healthy = healthy if healthy is not None else False
10423        '''
10424         True if the datasource is reachable and the credentials are valid.
10425        '''
10426        self.hostname = hostname if hostname is not None else ''
10427        '''
10428         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
10429        '''
10430        self.id = id if id is not None else ''
10431        '''
10432         Unique identifier of the Resource.
10433        '''
10434        self.name = name if name is not None else ''
10435        '''
10436         Unique human-readable name of the Resource.
10437        '''
10438        self.password = password if password is not None else ''
10439        '''
10440         The password to authenticate with.
10441        '''
10442        self.port_override = port_override if port_override is not None else 0
10443        '''
10444         The local port used by clients to connect to this resource.
10445        '''
10446        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10447        '''
10448         ID of the proxy cluster for this resource, if any.
10449        '''
10450        self.replica_set = replica_set if replica_set is not None else ''
10451        '''
10452         The name of the mongo replicaset.
10453        '''
10454        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10455        '''
10456         ID of the secret store containing credentials for this resource, if any.
10457        '''
10458        self.subdomain = subdomain if subdomain is not None else ''
10459        '''
10460         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10461        '''
10462        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10463        '''
10464         Tags is a map of key, value pairs.
10465        '''
10466        self.username = username if username is not None else ''
10467        '''
10468         The username to authenticate with.
10469        '''
10470
10471    def __repr__(self):
10472        return '<sdm.DocumentDBReplicaSet ' + \
10473            'auth_database: ' + repr(self.auth_database) + ' ' +\
10474            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10475            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
10476            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10477            'healthy: ' + repr(self.healthy) + ' ' +\
10478            'hostname: ' + repr(self.hostname) + ' ' +\
10479            'id: ' + repr(self.id) + ' ' +\
10480            'name: ' + repr(self.name) + ' ' +\
10481            'password: ' + repr(self.password) + ' ' +\
10482            'port_override: ' + repr(self.port_override) + ' ' +\
10483            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10484            'replica_set: ' + repr(self.replica_set) + ' ' +\
10485            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10486            'subdomain: ' + repr(self.subdomain) + ' ' +\
10487            'tags: ' + repr(self.tags) + ' ' +\
10488            'username: ' + repr(self.username) + ' ' +\
10489            '>'
10490
10491    def to_dict(self):
10492        return {
10493            'auth_database': self.auth_database,
10494            'bind_interface': self.bind_interface,
10495            'connect_to_replica': self.connect_to_replica,
10496            'egress_filter': self.egress_filter,
10497            'healthy': self.healthy,
10498            'hostname': self.hostname,
10499            'id': self.id,
10500            'name': self.name,
10501            'password': self.password,
10502            'port_override': self.port_override,
10503            'proxy_cluster_id': self.proxy_cluster_id,
10504            'replica_set': self.replica_set,
10505            'secret_store_id': self.secret_store_id,
10506            'subdomain': self.subdomain,
10507            'tags': self.tags,
10508            'username': self.username,
10509        }
10510
10511    @classmethod
10512    def from_dict(cls, d):
10513        return cls(
10514            auth_database=d.get('auth_database'),
10515            bind_interface=d.get('bind_interface'),
10516            connect_to_replica=d.get('connect_to_replica'),
10517            egress_filter=d.get('egress_filter'),
10518            healthy=d.get('healthy'),
10519            hostname=d.get('hostname'),
10520            id=d.get('id'),
10521            name=d.get('name'),
10522            password=d.get('password'),
10523            port_override=d.get('port_override'),
10524            proxy_cluster_id=d.get('proxy_cluster_id'),
10525            replica_set=d.get('replica_set'),
10526            secret_store_id=d.get('secret_store_id'),
10527            subdomain=d.get('subdomain'),
10528            tags=d.get('tags'),
10529            username=d.get('username'),
10530        )
10531
10532
10533class Druid:
10534    __slots__ = [
10535        'bind_interface',
10536        'egress_filter',
10537        'healthy',
10538        'hostname',
10539        'id',
10540        'name',
10541        'password',
10542        'port',
10543        'port_override',
10544        'proxy_cluster_id',
10545        'secret_store_id',
10546        'subdomain',
10547        'tags',
10548        'username',
10549    ]
10550
10551    def __init__(
10552        self,
10553        bind_interface=None,
10554        egress_filter=None,
10555        healthy=None,
10556        hostname=None,
10557        id=None,
10558        name=None,
10559        password=None,
10560        port=None,
10561        port_override=None,
10562        proxy_cluster_id=None,
10563        secret_store_id=None,
10564        subdomain=None,
10565        tags=None,
10566        username=None,
10567    ):
10568        self.bind_interface = bind_interface if bind_interface is not None else ''
10569        '''
10570         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10571        '''
10572        self.egress_filter = egress_filter if egress_filter is not None else ''
10573        '''
10574         A filter applied to the routing logic to pin datasource to nodes.
10575        '''
10576        self.healthy = healthy if healthy is not None else False
10577        '''
10578         True if the datasource is reachable and the credentials are valid.
10579        '''
10580        self.hostname = hostname if hostname is not None else ''
10581        '''
10582         The host to dial to initiate a connection from the egress node to this resource.
10583        '''
10584        self.id = id if id is not None else ''
10585        '''
10586         Unique identifier of the Resource.
10587        '''
10588        self.name = name if name is not None else ''
10589        '''
10590         Unique human-readable name of the Resource.
10591        '''
10592        self.password = password if password is not None else ''
10593        '''
10594         The password to authenticate with.
10595        '''
10596        self.port = port if port is not None else 0
10597        '''
10598         The port to dial to initiate a connection from the egress node to this resource.
10599        '''
10600        self.port_override = port_override if port_override is not None else 0
10601        '''
10602         The local port used by clients to connect to this resource.
10603        '''
10604        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10605        '''
10606         ID of the proxy cluster for this resource, if any.
10607        '''
10608        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10609        '''
10610         ID of the secret store containing credentials for this resource, if any.
10611        '''
10612        self.subdomain = subdomain if subdomain is not None else ''
10613        '''
10614         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10615        '''
10616        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10617        '''
10618         Tags is a map of key, value pairs.
10619        '''
10620        self.username = username if username is not None else ''
10621        '''
10622         The username to authenticate with.
10623        '''
10624
10625    def __repr__(self):
10626        return '<sdm.Druid ' + \
10627            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10628            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10629            'healthy: ' + repr(self.healthy) + ' ' +\
10630            'hostname: ' + repr(self.hostname) + ' ' +\
10631            'id: ' + repr(self.id) + ' ' +\
10632            'name: ' + repr(self.name) + ' ' +\
10633            'password: ' + repr(self.password) + ' ' +\
10634            'port: ' + repr(self.port) + ' ' +\
10635            'port_override: ' + repr(self.port_override) + ' ' +\
10636            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10637            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10638            'subdomain: ' + repr(self.subdomain) + ' ' +\
10639            'tags: ' + repr(self.tags) + ' ' +\
10640            'username: ' + repr(self.username) + ' ' +\
10641            '>'
10642
10643    def to_dict(self):
10644        return {
10645            'bind_interface': self.bind_interface,
10646            'egress_filter': self.egress_filter,
10647            'healthy': self.healthy,
10648            'hostname': self.hostname,
10649            'id': self.id,
10650            'name': self.name,
10651            'password': self.password,
10652            'port': self.port,
10653            'port_override': self.port_override,
10654            'proxy_cluster_id': self.proxy_cluster_id,
10655            'secret_store_id': self.secret_store_id,
10656            'subdomain': self.subdomain,
10657            'tags': self.tags,
10658            'username': self.username,
10659        }
10660
10661    @classmethod
10662    def from_dict(cls, d):
10663        return cls(
10664            bind_interface=d.get('bind_interface'),
10665            egress_filter=d.get('egress_filter'),
10666            healthy=d.get('healthy'),
10667            hostname=d.get('hostname'),
10668            id=d.get('id'),
10669            name=d.get('name'),
10670            password=d.get('password'),
10671            port=d.get('port'),
10672            port_override=d.get('port_override'),
10673            proxy_cluster_id=d.get('proxy_cluster_id'),
10674            secret_store_id=d.get('secret_store_id'),
10675            subdomain=d.get('subdomain'),
10676            tags=d.get('tags'),
10677            username=d.get('username'),
10678        )
10679
10680
10681class DynamoDB:
10682    __slots__ = [
10683        'access_key',
10684        'bind_interface',
10685        'egress_filter',
10686        'endpoint',
10687        'healthy',
10688        'id',
10689        'name',
10690        'port_override',
10691        'proxy_cluster_id',
10692        'region',
10693        'role_arn',
10694        'role_external_id',
10695        'secret_access_key',
10696        'secret_store_id',
10697        'subdomain',
10698        'tags',
10699    ]
10700
10701    def __init__(
10702        self,
10703        access_key=None,
10704        bind_interface=None,
10705        egress_filter=None,
10706        endpoint=None,
10707        healthy=None,
10708        id=None,
10709        name=None,
10710        port_override=None,
10711        proxy_cluster_id=None,
10712        region=None,
10713        role_arn=None,
10714        role_external_id=None,
10715        secret_access_key=None,
10716        secret_store_id=None,
10717        subdomain=None,
10718        tags=None,
10719    ):
10720        self.access_key = access_key if access_key is not None else ''
10721        '''
10722         The Access Key ID to use to authenticate.
10723        '''
10724        self.bind_interface = bind_interface if bind_interface is not None else ''
10725        '''
10726         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10727        '''
10728        self.egress_filter = egress_filter if egress_filter is not None else ''
10729        '''
10730         A filter applied to the routing logic to pin datasource to nodes.
10731        '''
10732        self.endpoint = endpoint if endpoint is not None else ''
10733        '''
10734         The endpoint to dial e.g. dynamodb.region.amazonaws.com
10735        '''
10736        self.healthy = healthy if healthy is not None else False
10737        '''
10738         True if the datasource is reachable and the credentials are valid.
10739        '''
10740        self.id = id if id is not None else ''
10741        '''
10742         Unique identifier of the Resource.
10743        '''
10744        self.name = name if name is not None else ''
10745        '''
10746         Unique human-readable name of the Resource.
10747        '''
10748        self.port_override = port_override if port_override is not None else 0
10749        '''
10750         The local port used by clients to connect to this resource.
10751        '''
10752        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10753        '''
10754         ID of the proxy cluster for this resource, if any.
10755        '''
10756        self.region = region if region is not None else ''
10757        '''
10758         The region to authenticate requests against e.g. us-east-1
10759        '''
10760        self.role_arn = role_arn if role_arn is not None else ''
10761        '''
10762         The role to assume after logging in.
10763        '''
10764        self.role_external_id = role_external_id if role_external_id is not None else ''
10765        '''
10766         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10767        '''
10768        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
10769        '''
10770         The Secret Access Key to use to authenticate.
10771        '''
10772        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10773        '''
10774         ID of the secret store containing credentials for this resource, if any.
10775        '''
10776        self.subdomain = subdomain if subdomain is not None else ''
10777        '''
10778         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10779        '''
10780        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10781        '''
10782         Tags is a map of key, value pairs.
10783        '''
10784
10785    def __repr__(self):
10786        return '<sdm.DynamoDB ' + \
10787            'access_key: ' + repr(self.access_key) + ' ' +\
10788            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10789            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10790            'endpoint: ' + repr(self.endpoint) + ' ' +\
10791            'healthy: ' + repr(self.healthy) + ' ' +\
10792            'id: ' + repr(self.id) + ' ' +\
10793            'name: ' + repr(self.name) + ' ' +\
10794            'port_override: ' + repr(self.port_override) + ' ' +\
10795            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10796            'region: ' + repr(self.region) + ' ' +\
10797            'role_arn: ' + repr(self.role_arn) + ' ' +\
10798            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
10799            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
10800            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10801            'subdomain: ' + repr(self.subdomain) + ' ' +\
10802            'tags: ' + repr(self.tags) + ' ' +\
10803            '>'
10804
10805    def to_dict(self):
10806        return {
10807            'access_key': self.access_key,
10808            'bind_interface': self.bind_interface,
10809            'egress_filter': self.egress_filter,
10810            'endpoint': self.endpoint,
10811            'healthy': self.healthy,
10812            'id': self.id,
10813            'name': self.name,
10814            'port_override': self.port_override,
10815            'proxy_cluster_id': self.proxy_cluster_id,
10816            'region': self.region,
10817            'role_arn': self.role_arn,
10818            'role_external_id': self.role_external_id,
10819            'secret_access_key': self.secret_access_key,
10820            'secret_store_id': self.secret_store_id,
10821            'subdomain': self.subdomain,
10822            'tags': self.tags,
10823        }
10824
10825    @classmethod
10826    def from_dict(cls, d):
10827        return cls(
10828            access_key=d.get('access_key'),
10829            bind_interface=d.get('bind_interface'),
10830            egress_filter=d.get('egress_filter'),
10831            endpoint=d.get('endpoint'),
10832            healthy=d.get('healthy'),
10833            id=d.get('id'),
10834            name=d.get('name'),
10835            port_override=d.get('port_override'),
10836            proxy_cluster_id=d.get('proxy_cluster_id'),
10837            region=d.get('region'),
10838            role_arn=d.get('role_arn'),
10839            role_external_id=d.get('role_external_id'),
10840            secret_access_key=d.get('secret_access_key'),
10841            secret_store_id=d.get('secret_store_id'),
10842            subdomain=d.get('subdomain'),
10843            tags=d.get('tags'),
10844        )
10845
10846
10847class DynamoDBIAM:
10848    __slots__ = [
10849        'bind_interface',
10850        'egress_filter',
10851        'endpoint',
10852        'healthy',
10853        'id',
10854        'name',
10855        'port_override',
10856        'proxy_cluster_id',
10857        'region',
10858        'role_arn',
10859        'role_external_id',
10860        'secret_store_id',
10861        'subdomain',
10862        'tags',
10863    ]
10864
10865    def __init__(
10866        self,
10867        bind_interface=None,
10868        egress_filter=None,
10869        endpoint=None,
10870        healthy=None,
10871        id=None,
10872        name=None,
10873        port_override=None,
10874        proxy_cluster_id=None,
10875        region=None,
10876        role_arn=None,
10877        role_external_id=None,
10878        secret_store_id=None,
10879        subdomain=None,
10880        tags=None,
10881    ):
10882        self.bind_interface = bind_interface if bind_interface is not None else ''
10883        '''
10884         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10885        '''
10886        self.egress_filter = egress_filter if egress_filter is not None else ''
10887        '''
10888         A filter applied to the routing logic to pin datasource to nodes.
10889        '''
10890        self.endpoint = endpoint if endpoint is not None else ''
10891        '''
10892         The endpoint to dial e.g. dynamodb.region.amazonaws.com
10893        '''
10894        self.healthy = healthy if healthy is not None else False
10895        '''
10896         True if the datasource is reachable and the credentials are valid.
10897        '''
10898        self.id = id if id is not None else ''
10899        '''
10900         Unique identifier of the Resource.
10901        '''
10902        self.name = name if name is not None else ''
10903        '''
10904         Unique human-readable name of the Resource.
10905        '''
10906        self.port_override = port_override if port_override is not None else 0
10907        '''
10908         The local port used by clients to connect to this resource.
10909        '''
10910        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10911        '''
10912         ID of the proxy cluster for this resource, if any.
10913        '''
10914        self.region = region if region is not None else ''
10915        '''
10916         The region to authenticate requests against e.g. us-east-1
10917        '''
10918        self.role_arn = role_arn if role_arn is not None else ''
10919        '''
10920         The role to assume after logging in.
10921        '''
10922        self.role_external_id = role_external_id if role_external_id is not None else ''
10923        '''
10924         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10925        '''
10926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10927        '''
10928         ID of the secret store containing credentials for this resource, if any.
10929        '''
10930        self.subdomain = subdomain if subdomain is not None else ''
10931        '''
10932         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10933        '''
10934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10935        '''
10936         Tags is a map of key, value pairs.
10937        '''
10938
10939    def __repr__(self):
10940        return '<sdm.DynamoDBIAM ' + \
10941            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10942            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10943            'endpoint: ' + repr(self.endpoint) + ' ' +\
10944            'healthy: ' + repr(self.healthy) + ' ' +\
10945            'id: ' + repr(self.id) + ' ' +\
10946            'name: ' + repr(self.name) + ' ' +\
10947            'port_override: ' + repr(self.port_override) + ' ' +\
10948            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10949            'region: ' + repr(self.region) + ' ' +\
10950            'role_arn: ' + repr(self.role_arn) + ' ' +\
10951            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
10952            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10953            'subdomain: ' + repr(self.subdomain) + ' ' +\
10954            'tags: ' + repr(self.tags) + ' ' +\
10955            '>'
10956
10957    def to_dict(self):
10958        return {
10959            'bind_interface': self.bind_interface,
10960            'egress_filter': self.egress_filter,
10961            'endpoint': self.endpoint,
10962            'healthy': self.healthy,
10963            'id': self.id,
10964            'name': self.name,
10965            'port_override': self.port_override,
10966            'proxy_cluster_id': self.proxy_cluster_id,
10967            'region': self.region,
10968            'role_arn': self.role_arn,
10969            'role_external_id': self.role_external_id,
10970            'secret_store_id': self.secret_store_id,
10971            'subdomain': self.subdomain,
10972            'tags': self.tags,
10973        }
10974
10975    @classmethod
10976    def from_dict(cls, d):
10977        return cls(
10978            bind_interface=d.get('bind_interface'),
10979            egress_filter=d.get('egress_filter'),
10980            endpoint=d.get('endpoint'),
10981            healthy=d.get('healthy'),
10982            id=d.get('id'),
10983            name=d.get('name'),
10984            port_override=d.get('port_override'),
10985            proxy_cluster_id=d.get('proxy_cluster_id'),
10986            region=d.get('region'),
10987            role_arn=d.get('role_arn'),
10988            role_external_id=d.get('role_external_id'),
10989            secret_store_id=d.get('secret_store_id'),
10990            subdomain=d.get('subdomain'),
10991            tags=d.get('tags'),
10992        )
10993
10994
10995class Elastic:
10996    __slots__ = [
10997        'bind_interface',
10998        'egress_filter',
10999        'healthy',
11000        'hostname',
11001        'id',
11002        'name',
11003        'password',
11004        'port',
11005        'port_override',
11006        'proxy_cluster_id',
11007        'secret_store_id',
11008        'subdomain',
11009        'tags',
11010        'tls_required',
11011        'username',
11012    ]
11013
11014    def __init__(
11015        self,
11016        bind_interface=None,
11017        egress_filter=None,
11018        healthy=None,
11019        hostname=None,
11020        id=None,
11021        name=None,
11022        password=None,
11023        port=None,
11024        port_override=None,
11025        proxy_cluster_id=None,
11026        secret_store_id=None,
11027        subdomain=None,
11028        tags=None,
11029        tls_required=None,
11030        username=None,
11031    ):
11032        self.bind_interface = bind_interface if bind_interface is not None else ''
11033        '''
11034         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11035        '''
11036        self.egress_filter = egress_filter if egress_filter is not None else ''
11037        '''
11038         A filter applied to the routing logic to pin datasource to nodes.
11039        '''
11040        self.healthy = healthy if healthy is not None else False
11041        '''
11042         True if the datasource is reachable and the credentials are valid.
11043        '''
11044        self.hostname = hostname if hostname is not None else ''
11045        '''
11046         The host to dial to initiate a connection from the egress node to this resource.
11047        '''
11048        self.id = id if id is not None else ''
11049        '''
11050         Unique identifier of the Resource.
11051        '''
11052        self.name = name if name is not None else ''
11053        '''
11054         Unique human-readable name of the Resource.
11055        '''
11056        self.password = password if password is not None else ''
11057        '''
11058         The password to authenticate with.
11059        '''
11060        self.port = port if port is not None else 0
11061        '''
11062         The port to dial to initiate a connection from the egress node to this resource.
11063        '''
11064        self.port_override = port_override if port_override is not None else 0
11065        '''
11066         The local port used by clients to connect to this resource.
11067        '''
11068        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11069        '''
11070         ID of the proxy cluster for this resource, if any.
11071        '''
11072        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11073        '''
11074         ID of the secret store containing credentials for this resource, if any.
11075        '''
11076        self.subdomain = subdomain if subdomain is not None else ''
11077        '''
11078         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11079        '''
11080        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11081        '''
11082         Tags is a map of key, value pairs.
11083        '''
11084        self.tls_required = tls_required if tls_required is not None else False
11085        '''
11086         If set, TLS must be used to connect to this resource.
11087        '''
11088        self.username = username if username is not None else ''
11089        '''
11090         The username to authenticate with.
11091        '''
11092
11093    def __repr__(self):
11094        return '<sdm.Elastic ' + \
11095            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11096            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11097            'healthy: ' + repr(self.healthy) + ' ' +\
11098            'hostname: ' + repr(self.hostname) + ' ' +\
11099            'id: ' + repr(self.id) + ' ' +\
11100            'name: ' + repr(self.name) + ' ' +\
11101            'password: ' + repr(self.password) + ' ' +\
11102            'port: ' + repr(self.port) + ' ' +\
11103            'port_override: ' + repr(self.port_override) + ' ' +\
11104            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11105            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11106            'subdomain: ' + repr(self.subdomain) + ' ' +\
11107            'tags: ' + repr(self.tags) + ' ' +\
11108            'tls_required: ' + repr(self.tls_required) + ' ' +\
11109            'username: ' + repr(self.username) + ' ' +\
11110            '>'
11111
11112    def to_dict(self):
11113        return {
11114            'bind_interface': self.bind_interface,
11115            'egress_filter': self.egress_filter,
11116            'healthy': self.healthy,
11117            'hostname': self.hostname,
11118            'id': self.id,
11119            'name': self.name,
11120            'password': self.password,
11121            'port': self.port,
11122            'port_override': self.port_override,
11123            'proxy_cluster_id': self.proxy_cluster_id,
11124            'secret_store_id': self.secret_store_id,
11125            'subdomain': self.subdomain,
11126            'tags': self.tags,
11127            'tls_required': self.tls_required,
11128            'username': self.username,
11129        }
11130
11131    @classmethod
11132    def from_dict(cls, d):
11133        return cls(
11134            bind_interface=d.get('bind_interface'),
11135            egress_filter=d.get('egress_filter'),
11136            healthy=d.get('healthy'),
11137            hostname=d.get('hostname'),
11138            id=d.get('id'),
11139            name=d.get('name'),
11140            password=d.get('password'),
11141            port=d.get('port'),
11142            port_override=d.get('port_override'),
11143            proxy_cluster_id=d.get('proxy_cluster_id'),
11144            secret_store_id=d.get('secret_store_id'),
11145            subdomain=d.get('subdomain'),
11146            tags=d.get('tags'),
11147            tls_required=d.get('tls_required'),
11148            username=d.get('username'),
11149        )
11150
11151
11152class ElasticacheRedis:
11153    __slots__ = [
11154        'bind_interface',
11155        'egress_filter',
11156        'healthy',
11157        'hostname',
11158        'id',
11159        'name',
11160        'password',
11161        'port',
11162        'port_override',
11163        'proxy_cluster_id',
11164        'secret_store_id',
11165        'subdomain',
11166        'tags',
11167        'tls_required',
11168        'username',
11169    ]
11170
11171    def __init__(
11172        self,
11173        bind_interface=None,
11174        egress_filter=None,
11175        healthy=None,
11176        hostname=None,
11177        id=None,
11178        name=None,
11179        password=None,
11180        port=None,
11181        port_override=None,
11182        proxy_cluster_id=None,
11183        secret_store_id=None,
11184        subdomain=None,
11185        tags=None,
11186        tls_required=None,
11187        username=None,
11188    ):
11189        self.bind_interface = bind_interface if bind_interface is not None else ''
11190        '''
11191         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11192        '''
11193        self.egress_filter = egress_filter if egress_filter is not None else ''
11194        '''
11195         A filter applied to the routing logic to pin datasource to nodes.
11196        '''
11197        self.healthy = healthy if healthy is not None else False
11198        '''
11199         True if the datasource is reachable and the credentials are valid.
11200        '''
11201        self.hostname = hostname if hostname is not None else ''
11202        '''
11203         The host to dial to initiate a connection from the egress node to this resource.
11204        '''
11205        self.id = id if id is not None else ''
11206        '''
11207         Unique identifier of the Resource.
11208        '''
11209        self.name = name if name is not None else ''
11210        '''
11211         Unique human-readable name of the Resource.
11212        '''
11213        self.password = password if password is not None else ''
11214        '''
11215         The password to authenticate with.
11216        '''
11217        self.port = port if port is not None else 0
11218        '''
11219         The port to dial to initiate a connection from the egress node to this resource.
11220        '''
11221        self.port_override = port_override if port_override is not None else 0
11222        '''
11223         The local port used by clients to connect to this resource.
11224        '''
11225        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11226        '''
11227         ID of the proxy cluster for this resource, if any.
11228        '''
11229        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11230        '''
11231         ID of the secret store containing credentials for this resource, if any.
11232        '''
11233        self.subdomain = subdomain if subdomain is not None else ''
11234        '''
11235         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11236        '''
11237        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11238        '''
11239         Tags is a map of key, value pairs.
11240        '''
11241        self.tls_required = tls_required if tls_required is not None else False
11242        '''
11243         If set, TLS must be used to connect to this resource.
11244        '''
11245        self.username = username if username is not None else ''
11246        '''
11247         The username to authenticate with.
11248        '''
11249
11250    def __repr__(self):
11251        return '<sdm.ElasticacheRedis ' + \
11252            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11253            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11254            'healthy: ' + repr(self.healthy) + ' ' +\
11255            'hostname: ' + repr(self.hostname) + ' ' +\
11256            'id: ' + repr(self.id) + ' ' +\
11257            'name: ' + repr(self.name) + ' ' +\
11258            'password: ' + repr(self.password) + ' ' +\
11259            'port: ' + repr(self.port) + ' ' +\
11260            'port_override: ' + repr(self.port_override) + ' ' +\
11261            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11262            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11263            'subdomain: ' + repr(self.subdomain) + ' ' +\
11264            'tags: ' + repr(self.tags) + ' ' +\
11265            'tls_required: ' + repr(self.tls_required) + ' ' +\
11266            'username: ' + repr(self.username) + ' ' +\
11267            '>'
11268
11269    def to_dict(self):
11270        return {
11271            'bind_interface': self.bind_interface,
11272            'egress_filter': self.egress_filter,
11273            'healthy': self.healthy,
11274            'hostname': self.hostname,
11275            'id': self.id,
11276            'name': self.name,
11277            'password': self.password,
11278            'port': self.port,
11279            'port_override': self.port_override,
11280            'proxy_cluster_id': self.proxy_cluster_id,
11281            'secret_store_id': self.secret_store_id,
11282            'subdomain': self.subdomain,
11283            'tags': self.tags,
11284            'tls_required': self.tls_required,
11285            'username': self.username,
11286        }
11287
11288    @classmethod
11289    def from_dict(cls, d):
11290        return cls(
11291            bind_interface=d.get('bind_interface'),
11292            egress_filter=d.get('egress_filter'),
11293            healthy=d.get('healthy'),
11294            hostname=d.get('hostname'),
11295            id=d.get('id'),
11296            name=d.get('name'),
11297            password=d.get('password'),
11298            port=d.get('port'),
11299            port_override=d.get('port_override'),
11300            proxy_cluster_id=d.get('proxy_cluster_id'),
11301            secret_store_id=d.get('secret_store_id'),
11302            subdomain=d.get('subdomain'),
11303            tags=d.get('tags'),
11304            tls_required=d.get('tls_required'),
11305            username=d.get('username'),
11306        )
11307
11308
11309class GCP:
11310    __slots__ = [
11311        'bind_interface',
11312        'egress_filter',
11313        'healthy',
11314        'id',
11315        'keyfile',
11316        'name',
11317        'port_override',
11318        'proxy_cluster_id',
11319        'scopes',
11320        'secret_store_id',
11321        'subdomain',
11322        'tags',
11323    ]
11324
11325    def __init__(
11326        self,
11327        bind_interface=None,
11328        egress_filter=None,
11329        healthy=None,
11330        id=None,
11331        keyfile=None,
11332        name=None,
11333        port_override=None,
11334        proxy_cluster_id=None,
11335        scopes=None,
11336        secret_store_id=None,
11337        subdomain=None,
11338        tags=None,
11339    ):
11340        self.bind_interface = bind_interface if bind_interface is not None else ''
11341        '''
11342         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11343        '''
11344        self.egress_filter = egress_filter if egress_filter is not None else ''
11345        '''
11346         A filter applied to the routing logic to pin datasource to nodes.
11347        '''
11348        self.healthy = healthy if healthy is not None else False
11349        '''
11350         True if the datasource is reachable and the credentials are valid.
11351        '''
11352        self.id = id if id is not None else ''
11353        '''
11354         Unique identifier of the Resource.
11355        '''
11356        self.keyfile = keyfile if keyfile is not None else ''
11357        '''
11358         The service account keyfile to authenticate with.
11359        '''
11360        self.name = name if name is not None else ''
11361        '''
11362         Unique human-readable name of the Resource.
11363        '''
11364        self.port_override = port_override if port_override is not None else 0
11365        '''
11366         The local port used by clients to connect to this resource.
11367        '''
11368        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11369        '''
11370         ID of the proxy cluster for this resource, if any.
11371        '''
11372        self.scopes = scopes if scopes is not None else ''
11373        '''
11374         Space separated scopes that this login should assume into when authenticating.
11375        '''
11376        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11377        '''
11378         ID of the secret store containing credentials for this resource, if any.
11379        '''
11380        self.subdomain = subdomain if subdomain is not None else ''
11381        '''
11382         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11383        '''
11384        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11385        '''
11386         Tags is a map of key, value pairs.
11387        '''
11388
11389    def __repr__(self):
11390        return '<sdm.GCP ' + \
11391            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11392            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11393            'healthy: ' + repr(self.healthy) + ' ' +\
11394            'id: ' + repr(self.id) + ' ' +\
11395            'keyfile: ' + repr(self.keyfile) + ' ' +\
11396            'name: ' + repr(self.name) + ' ' +\
11397            'port_override: ' + repr(self.port_override) + ' ' +\
11398            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11399            'scopes: ' + repr(self.scopes) + ' ' +\
11400            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11401            'subdomain: ' + repr(self.subdomain) + ' ' +\
11402            'tags: ' + repr(self.tags) + ' ' +\
11403            '>'
11404
11405    def to_dict(self):
11406        return {
11407            'bind_interface': self.bind_interface,
11408            'egress_filter': self.egress_filter,
11409            'healthy': self.healthy,
11410            'id': self.id,
11411            'keyfile': self.keyfile,
11412            'name': self.name,
11413            'port_override': self.port_override,
11414            'proxy_cluster_id': self.proxy_cluster_id,
11415            'scopes': self.scopes,
11416            'secret_store_id': self.secret_store_id,
11417            'subdomain': self.subdomain,
11418            'tags': self.tags,
11419        }
11420
11421    @classmethod
11422    def from_dict(cls, d):
11423        return cls(
11424            bind_interface=d.get('bind_interface'),
11425            egress_filter=d.get('egress_filter'),
11426            healthy=d.get('healthy'),
11427            id=d.get('id'),
11428            keyfile=d.get('keyfile'),
11429            name=d.get('name'),
11430            port_override=d.get('port_override'),
11431            proxy_cluster_id=d.get('proxy_cluster_id'),
11432            scopes=d.get('scopes'),
11433            secret_store_id=d.get('secret_store_id'),
11434            subdomain=d.get('subdomain'),
11435            tags=d.get('tags'),
11436        )
11437
11438
11439class GCPCertX509Store:
11440    __slots__ = [
11441        'caid',
11442        'capoolid',
11443        'id',
11444        'issuedcertttlminutes',
11445        'location',
11446        'name',
11447        'projectid',
11448        'tags',
11449    ]
11450
11451    def __init__(
11452        self,
11453        caid=None,
11454        capoolid=None,
11455        id=None,
11456        issuedcertttlminutes=None,
11457        location=None,
11458        name=None,
11459        projectid=None,
11460        tags=None,
11461    ):
11462        self.caid = caid if caid is not None else ''
11463        '''
11464         The ID of the target CA
11465        '''
11466        self.capoolid = capoolid if capoolid is not None else ''
11467        '''
11468         The ID of the target CA pool
11469        '''
11470        self.id = id if id is not None else ''
11471        '''
11472         Unique identifier of the SecretStore.
11473        '''
11474        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
11475        '''
11476         The lifetime of certificates issued by this CA represented in minutes.
11477        '''
11478        self.location = location if location is not None else ''
11479        '''
11480         The Region for the CA in GCP format e.g. us-west1
11481        '''
11482        self.name = name if name is not None else ''
11483        '''
11484         Unique human-readable name of the SecretStore.
11485        '''
11486        self.projectid = projectid if projectid is not None else ''
11487        '''
11488         The GCP project ID to target.
11489        '''
11490        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11491        '''
11492         Tags is a map of key, value pairs.
11493        '''
11494
11495    def __repr__(self):
11496        return '<sdm.GCPCertX509Store ' + \
11497            'caid: ' + repr(self.caid) + ' ' +\
11498            'capoolid: ' + repr(self.capoolid) + ' ' +\
11499            'id: ' + repr(self.id) + ' ' +\
11500            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
11501            'location: ' + repr(self.location) + ' ' +\
11502            'name: ' + repr(self.name) + ' ' +\
11503            'projectid: ' + repr(self.projectid) + ' ' +\
11504            'tags: ' + repr(self.tags) + ' ' +\
11505            '>'
11506
11507    def to_dict(self):
11508        return {
11509            'caid': self.caid,
11510            'capoolid': self.capoolid,
11511            'id': self.id,
11512            'issuedcertttlminutes': self.issuedcertttlminutes,
11513            'location': self.location,
11514            'name': self.name,
11515            'projectid': self.projectid,
11516            'tags': self.tags,
11517        }
11518
11519    @classmethod
11520    def from_dict(cls, d):
11521        return cls(
11522            caid=d.get('caid'),
11523            capoolid=d.get('capoolid'),
11524            id=d.get('id'),
11525            issuedcertttlminutes=d.get('issuedcertttlminutes'),
11526            location=d.get('location'),
11527            name=d.get('name'),
11528            projectid=d.get('projectid'),
11529            tags=d.get('tags'),
11530        )
11531
11532
11533class GCPConsole:
11534    __slots__ = [
11535        'bind_interface',
11536        'egress_filter',
11537        'healthy',
11538        'id',
11539        'identity_alias_healthcheck_username',
11540        'identity_set_id',
11541        'name',
11542        'port_override',
11543        'proxy_cluster_id',
11544        'secret_store_id',
11545        'session_expiry',
11546        'subdomain',
11547        'tags',
11548        'workforce_pool_id',
11549        'workforce_provider_id',
11550    ]
11551
11552    def __init__(
11553        self,
11554        bind_interface=None,
11555        egress_filter=None,
11556        healthy=None,
11557        id=None,
11558        identity_alias_healthcheck_username=None,
11559        identity_set_id=None,
11560        name=None,
11561        port_override=None,
11562        proxy_cluster_id=None,
11563        secret_store_id=None,
11564        session_expiry=None,
11565        subdomain=None,
11566        tags=None,
11567        workforce_pool_id=None,
11568        workforce_provider_id=None,
11569    ):
11570        self.bind_interface = bind_interface if bind_interface is not None else ''
11571        '''
11572         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11573        '''
11574        self.egress_filter = egress_filter if egress_filter is not None else ''
11575        '''
11576         A filter applied to the routing logic to pin datasource to nodes.
11577        '''
11578        self.healthy = healthy if healthy is not None else False
11579        '''
11580         True if the datasource is reachable and the credentials are valid.
11581        '''
11582        self.id = id if id is not None else ''
11583        '''
11584         Unique identifier of the Resource.
11585        '''
11586        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
11587        '''
11588         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
11589        '''
11590        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
11591        '''
11592         The ID of the identity set to use for identity connections.
11593        '''
11594        self.name = name if name is not None else ''
11595        '''
11596         Unique human-readable name of the Resource.
11597        '''
11598        self.port_override = port_override if port_override is not None else 0
11599        '''
11600         The local port used by clients to connect to this resource.
11601        '''
11602        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11603        '''
11604         ID of the proxy cluster for this resource, if any.
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.session_expiry = session_expiry if session_expiry is not None else 0
11611        '''
11612         The length of time in seconds console sessions will live before needing to reauthenticate.
11613        '''
11614        self.subdomain = subdomain if subdomain is not None else ''
11615        '''
11616         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11617        '''
11618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11619        '''
11620         Tags is a map of key, value pairs.
11621        '''
11622        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
11623        '''
11624         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
11625        '''
11626        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
11627        '''
11628         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
11629        '''
11630
11631    def __repr__(self):
11632        return '<sdm.GCPConsole ' + \
11633            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11634            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11635            'healthy: ' + repr(self.healthy) + ' ' +\
11636            'id: ' + repr(self.id) + ' ' +\
11637            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
11638            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
11639            'name: ' + repr(self.name) + ' ' +\
11640            'port_override: ' + repr(self.port_override) + ' ' +\
11641            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11642            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11643            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
11644            'subdomain: ' + repr(self.subdomain) + ' ' +\
11645            'tags: ' + repr(self.tags) + ' ' +\
11646            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
11647            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
11648            '>'
11649
11650    def to_dict(self):
11651        return {
11652            'bind_interface': self.bind_interface,
11653            'egress_filter': self.egress_filter,
11654            'healthy': self.healthy,
11655            'id': self.id,
11656            'identity_alias_healthcheck_username':
11657            self.identity_alias_healthcheck_username,
11658            'identity_set_id': self.identity_set_id,
11659            'name': self.name,
11660            'port_override': self.port_override,
11661            'proxy_cluster_id': self.proxy_cluster_id,
11662            'secret_store_id': self.secret_store_id,
11663            'session_expiry': self.session_expiry,
11664            'subdomain': self.subdomain,
11665            'tags': self.tags,
11666            'workforce_pool_id': self.workforce_pool_id,
11667            'workforce_provider_id': self.workforce_provider_id,
11668        }
11669
11670    @classmethod
11671    def from_dict(cls, d):
11672        return cls(
11673            bind_interface=d.get('bind_interface'),
11674            egress_filter=d.get('egress_filter'),
11675            healthy=d.get('healthy'),
11676            id=d.get('id'),
11677            identity_alias_healthcheck_username=d.get(
11678                'identity_alias_healthcheck_username'),
11679            identity_set_id=d.get('identity_set_id'),
11680            name=d.get('name'),
11681            port_override=d.get('port_override'),
11682            proxy_cluster_id=d.get('proxy_cluster_id'),
11683            secret_store_id=d.get('secret_store_id'),
11684            session_expiry=d.get('session_expiry'),
11685            subdomain=d.get('subdomain'),
11686            tags=d.get('tags'),
11687            workforce_pool_id=d.get('workforce_pool_id'),
11688            workforce_provider_id=d.get('workforce_provider_id'),
11689        )
11690
11691
11692class GCPStore:
11693    __slots__ = [
11694        'id',
11695        'name',
11696        'projectid',
11697        'tags',
11698    ]
11699
11700    def __init__(
11701        self,
11702        id=None,
11703        name=None,
11704        projectid=None,
11705        tags=None,
11706    ):
11707        self.id = id if id is not None else ''
11708        '''
11709         Unique identifier of the SecretStore.
11710        '''
11711        self.name = name if name is not None else ''
11712        '''
11713         Unique human-readable name of the SecretStore.
11714        '''
11715        self.projectid = projectid if projectid is not None else ''
11716        '''
11717         The GCP project ID to target.
11718        '''
11719        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11720        '''
11721         Tags is a map of key, value pairs.
11722        '''
11723
11724    def __repr__(self):
11725        return '<sdm.GCPStore ' + \
11726            'id: ' + repr(self.id) + ' ' +\
11727            'name: ' + repr(self.name) + ' ' +\
11728            'projectid: ' + repr(self.projectid) + ' ' +\
11729            'tags: ' + repr(self.tags) + ' ' +\
11730            '>'
11731
11732    def to_dict(self):
11733        return {
11734            'id': self.id,
11735            'name': self.name,
11736            'projectid': self.projectid,
11737            'tags': self.tags,
11738        }
11739
11740    @classmethod
11741    def from_dict(cls, d):
11742        return cls(
11743            id=d.get('id'),
11744            name=d.get('name'),
11745            projectid=d.get('projectid'),
11746            tags=d.get('tags'),
11747        )
11748
11749
11750class GCPWIF:
11751    __slots__ = [
11752        'bind_interface',
11753        'egress_filter',
11754        'healthy',
11755        'id',
11756        'identity_alias_healthcheck_username',
11757        'identity_set_id',
11758        'name',
11759        'port_override',
11760        'project_id',
11761        'proxy_cluster_id',
11762        'scopes',
11763        'secret_store_id',
11764        'session_expiry',
11765        'subdomain',
11766        'tags',
11767        'workforce_pool_id',
11768        'workforce_provider_id',
11769    ]
11770
11771    def __init__(
11772        self,
11773        bind_interface=None,
11774        egress_filter=None,
11775        healthy=None,
11776        id=None,
11777        identity_alias_healthcheck_username=None,
11778        identity_set_id=None,
11779        name=None,
11780        port_override=None,
11781        project_id=None,
11782        proxy_cluster_id=None,
11783        scopes=None,
11784        secret_store_id=None,
11785        session_expiry=None,
11786        subdomain=None,
11787        tags=None,
11788        workforce_pool_id=None,
11789        workforce_provider_id=None,
11790    ):
11791        self.bind_interface = bind_interface if bind_interface is not None else ''
11792        '''
11793         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11794        '''
11795        self.egress_filter = egress_filter if egress_filter is not None else ''
11796        '''
11797         A filter applied to the routing logic to pin datasource to nodes.
11798        '''
11799        self.healthy = healthy if healthy is not None else False
11800        '''
11801         True if the datasource is reachable and the credentials are valid.
11802        '''
11803        self.id = id if id is not None else ''
11804        '''
11805         Unique identifier of the Resource.
11806        '''
11807        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
11808        '''
11809         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
11810        '''
11811        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
11812        '''
11813         The ID of the identity set to use for identity connections.
11814        '''
11815        self.name = name if name is not None else ''
11816        '''
11817         Unique human-readable name of the Resource.
11818        '''
11819        self.port_override = port_override if port_override is not None else 0
11820        '''
11821         The local port used by clients to connect to this resource.
11822        '''
11823        self.project_id = project_id if project_id is not None else ''
11824        '''
11825         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
11826        '''
11827        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11828        '''
11829         ID of the proxy cluster for this resource, if any.
11830        '''
11831        self.scopes = scopes if scopes is not None else ''
11832        '''
11833         Space separated scopes that this login should assume into when authenticating.
11834        '''
11835        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11836        '''
11837         ID of the secret store containing credentials for this resource, if any.
11838        '''
11839        self.session_expiry = session_expiry if session_expiry is not None else 0
11840        '''
11841         The length of time in seconds console sessions will live before needing to reauthenticate.
11842        '''
11843        self.subdomain = subdomain if subdomain is not None else ''
11844        '''
11845         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11846        '''
11847        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11848        '''
11849         Tags is a map of key, value pairs.
11850        '''
11851        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
11852        '''
11853         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
11854        '''
11855        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
11856        '''
11857         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
11858        '''
11859
11860    def __repr__(self):
11861        return '<sdm.GCPWIF ' + \
11862            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11863            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11864            'healthy: ' + repr(self.healthy) + ' ' +\
11865            'id: ' + repr(self.id) + ' ' +\
11866            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
11867            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
11868            'name: ' + repr(self.name) + ' ' +\
11869            'port_override: ' + repr(self.port_override) + ' ' +\
11870            'project_id: ' + repr(self.project_id) + ' ' +\
11871            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11872            'scopes: ' + repr(self.scopes) + ' ' +\
11873            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11874            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
11875            'subdomain: ' + repr(self.subdomain) + ' ' +\
11876            'tags: ' + repr(self.tags) + ' ' +\
11877            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
11878            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
11879            '>'
11880
11881    def to_dict(self):
11882        return {
11883            'bind_interface': self.bind_interface,
11884            'egress_filter': self.egress_filter,
11885            'healthy': self.healthy,
11886            'id': self.id,
11887            'identity_alias_healthcheck_username':
11888            self.identity_alias_healthcheck_username,
11889            'identity_set_id': self.identity_set_id,
11890            'name': self.name,
11891            'port_override': self.port_override,
11892            'project_id': self.project_id,
11893            'proxy_cluster_id': self.proxy_cluster_id,
11894            'scopes': self.scopes,
11895            'secret_store_id': self.secret_store_id,
11896            'session_expiry': self.session_expiry,
11897            'subdomain': self.subdomain,
11898            'tags': self.tags,
11899            'workforce_pool_id': self.workforce_pool_id,
11900            'workforce_provider_id': self.workforce_provider_id,
11901        }
11902
11903    @classmethod
11904    def from_dict(cls, d):
11905        return cls(
11906            bind_interface=d.get('bind_interface'),
11907            egress_filter=d.get('egress_filter'),
11908            healthy=d.get('healthy'),
11909            id=d.get('id'),
11910            identity_alias_healthcheck_username=d.get(
11911                'identity_alias_healthcheck_username'),
11912            identity_set_id=d.get('identity_set_id'),
11913            name=d.get('name'),
11914            port_override=d.get('port_override'),
11915            project_id=d.get('project_id'),
11916            proxy_cluster_id=d.get('proxy_cluster_id'),
11917            scopes=d.get('scopes'),
11918            secret_store_id=d.get('secret_store_id'),
11919            session_expiry=d.get('session_expiry'),
11920            subdomain=d.get('subdomain'),
11921            tags=d.get('tags'),
11922            workforce_pool_id=d.get('workforce_pool_id'),
11923            workforce_provider_id=d.get('workforce_provider_id'),
11924        )
11925
11926
11927class Gateway:
11928    '''
11929         Gateway represents a StrongDM CLI installation running in gateway mode.
11930    '''
11931    __slots__ = [
11932        'bind_address',
11933        'device',
11934        'gateway_filter',
11935        'id',
11936        'listen_address',
11937        'location',
11938        'maintenance_windows',
11939        'name',
11940        'state',
11941        'tags',
11942        'version',
11943    ]
11944
11945    def __init__(
11946        self,
11947        bind_address=None,
11948        device=None,
11949        gateway_filter=None,
11950        id=None,
11951        listen_address=None,
11952        location=None,
11953        maintenance_windows=None,
11954        name=None,
11955        state=None,
11956        tags=None,
11957        version=None,
11958    ):
11959        self.bind_address = bind_address if bind_address is not None else ''
11960        '''
11961         The hostname/port tuple which the gateway daemon will bind to.
11962         If not provided on create, set to "0.0.0.0:listen_address_port".
11963        '''
11964        self.device = device if device is not None else ''
11965        '''
11966         Device is a read only device name uploaded by the gateway process when
11967         it comes online.
11968        '''
11969        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
11970        '''
11971         GatewayFilter can be used to restrict the peering between relays and
11972         gateways. Deprecated.
11973        '''
11974        self.id = id if id is not None else ''
11975        '''
11976         Unique identifier of the Gateway.
11977        '''
11978        self.listen_address = listen_address if listen_address is not None else ''
11979        '''
11980         The public hostname/port tuple at which the gateway will be accessible to clients.
11981        '''
11982        self.location = location if location is not None else ''
11983        '''
11984         Location is a read only network location uploaded by the gateway process
11985         when it comes online.
11986        '''
11987        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
11988        '''
11989         Maintenance Windows define when this node is allowed to restart. If a node
11990         is requested to restart, it will check each window to determine if any of
11991         them permit it to restart, and if any do, it will. This check is repeated
11992         per window until the restart is successfully completed.
11993         
11994         If not set here, may be set on the command line or via an environment variable
11995         on the process itself; any server setting will take precedence over local
11996         settings. This setting is ineffective for nodes below version 38.44.0.
11997         
11998         If this setting is not applied via this remote configuration or via local
11999         configuration, the default setting is used: always allow restarts if serving
12000         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12001        '''
12002        self.name = name if name is not None else ''
12003        '''
12004         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.
12005        '''
12006        self.state = state if state is not None else ''
12007        '''
12008         The current state of the gateway. One of: "new", "verifying_restart",
12009         "restarting", "started", "stopped", "dead", "unknown"
12010        '''
12011        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12012        '''
12013         Tags is a map of key, value pairs.
12014        '''
12015        self.version = version if version is not None else ''
12016        '''
12017         Version is a read only sdm binary version uploaded by the gateway process
12018         when it comes online.
12019        '''
12020
12021    def __repr__(self):
12022        return '<sdm.Gateway ' + \
12023            'bind_address: ' + repr(self.bind_address) + ' ' +\
12024            'device: ' + repr(self.device) + ' ' +\
12025            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12026            'id: ' + repr(self.id) + ' ' +\
12027            'listen_address: ' + repr(self.listen_address) + ' ' +\
12028            'location: ' + repr(self.location) + ' ' +\
12029            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12030            'name: ' + repr(self.name) + ' ' +\
12031            'state: ' + repr(self.state) + ' ' +\
12032            'tags: ' + repr(self.tags) + ' ' +\
12033            'version: ' + repr(self.version) + ' ' +\
12034            '>'
12035
12036    def to_dict(self):
12037        return {
12038            'bind_address': self.bind_address,
12039            'device': self.device,
12040            'gateway_filter': self.gateway_filter,
12041            'id': self.id,
12042            'listen_address': self.listen_address,
12043            'location': self.location,
12044            'maintenance_windows': self.maintenance_windows,
12045            'name': self.name,
12046            'state': self.state,
12047            'tags': self.tags,
12048            'version': self.version,
12049        }
12050
12051    @classmethod
12052    def from_dict(cls, d):
12053        return cls(
12054            bind_address=d.get('bind_address'),
12055            device=d.get('device'),
12056            gateway_filter=d.get('gateway_filter'),
12057            id=d.get('id'),
12058            listen_address=d.get('listen_address'),
12059            location=d.get('location'),
12060            maintenance_windows=d.get('maintenance_windows'),
12061            name=d.get('name'),
12062            state=d.get('state'),
12063            tags=d.get('tags'),
12064            version=d.get('version'),
12065        )
12066
12067
12068class GenericResponseMetadata:
12069    '''
12070         GenericResponseMetadata contains common headers for generic request
12071     responses.
12072    '''
12073    __slots__ = []
12074
12075    def __init__(self, ):
12076        pass
12077
12078    def __repr__(self):
12079        return '<sdm.GenericResponseMetadata ' + \
12080            '>'
12081
12082    def to_dict(self):
12083        return {}
12084
12085    @classmethod
12086    def from_dict(cls, d):
12087        return cls()
12088
12089
12090class GetResponseMetadata:
12091    '''
12092         GetResponseMetadata is reserved for future use.
12093    '''
12094    __slots__ = []
12095
12096    def __init__(self, ):
12097        pass
12098
12099    def __repr__(self):
12100        return '<sdm.GetResponseMetadata ' + \
12101            '>'
12102
12103    def to_dict(self):
12104        return {}
12105
12106    @classmethod
12107    def from_dict(cls, d):
12108        return cls()
12109
12110
12111class GoogleGKE:
12112    __slots__ = [
12113        'allow_resource_role_bypass',
12114        'bind_interface',
12115        'certificate_authority',
12116        'discovery_enabled',
12117        'discovery_username',
12118        'egress_filter',
12119        'endpoint',
12120        'healthcheck_namespace',
12121        'healthy',
12122        'id',
12123        'identity_alias_healthcheck_username',
12124        'identity_set_id',
12125        'name',
12126        'port_override',
12127        'proxy_cluster_id',
12128        'secret_store_id',
12129        'service_account_key',
12130        'subdomain',
12131        'tags',
12132    ]
12133
12134    def __init__(
12135        self,
12136        allow_resource_role_bypass=None,
12137        bind_interface=None,
12138        certificate_authority=None,
12139        discovery_enabled=None,
12140        discovery_username=None,
12141        egress_filter=None,
12142        endpoint=None,
12143        healthcheck_namespace=None,
12144        healthy=None,
12145        id=None,
12146        identity_alias_healthcheck_username=None,
12147        identity_set_id=None,
12148        name=None,
12149        port_override=None,
12150        proxy_cluster_id=None,
12151        secret_store_id=None,
12152        service_account_key=None,
12153        subdomain=None,
12154        tags=None,
12155    ):
12156        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12157        '''
12158         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12159         when a resource role is not provided.
12160        '''
12161        self.bind_interface = bind_interface if bind_interface is not None else ''
12162        '''
12163         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12164        '''
12165        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12166        '''
12167         The CA to authenticate TLS connections with.
12168        '''
12169        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12170        '''
12171         If true, configures discovery of a cluster to be run from a node.
12172        '''
12173        self.discovery_username = discovery_username if discovery_username is not None else ''
12174        '''
12175         If a cluster is configured for user impersonation, this is the user to impersonate when
12176         running discovery.
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.endpoint = endpoint if endpoint is not None else ''
12183        '''
12184         The endpoint to dial.
12185        '''
12186        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12187        '''
12188         The path used to check the health of your connection.  Defaults to `default`.
12189        '''
12190        self.healthy = healthy if healthy is not None else False
12191        '''
12192         True if the datasource is reachable and the credentials are valid.
12193        '''
12194        self.id = id if id is not None else ''
12195        '''
12196         Unique identifier of the Resource.
12197        '''
12198        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12199        '''
12200         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12201        '''
12202        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12203        '''
12204         The ID of the identity set to use for identity connections.
12205        '''
12206        self.name = name if name is not None else ''
12207        '''
12208         Unique human-readable name of the Resource.
12209        '''
12210        self.port_override = port_override if port_override is not None else 0
12211        '''
12212         The local port used by clients to connect to this resource.
12213        '''
12214        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12215        '''
12216         ID of the proxy cluster for this resource, if any.
12217        '''
12218        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12219        '''
12220         ID of the secret store containing credentials for this resource, if any.
12221        '''
12222        self.service_account_key = service_account_key if service_account_key is not None else ''
12223        '''
12224         The service account key to authenticate with.
12225        '''
12226        self.subdomain = subdomain if subdomain is not None else ''
12227        '''
12228         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12229        '''
12230        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12231        '''
12232         Tags is a map of key, value pairs.
12233        '''
12234
12235    def __repr__(self):
12236        return '<sdm.GoogleGKE ' + \
12237            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
12238            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12239            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
12240            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
12241            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
12242            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12243            'endpoint: ' + repr(self.endpoint) + ' ' +\
12244            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
12245            'healthy: ' + repr(self.healthy) + ' ' +\
12246            'id: ' + repr(self.id) + ' ' +\
12247            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12248            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12249            'name: ' + repr(self.name) + ' ' +\
12250            'port_override: ' + repr(self.port_override) + ' ' +\
12251            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12252            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12253            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
12254            'subdomain: ' + repr(self.subdomain) + ' ' +\
12255            'tags: ' + repr(self.tags) + ' ' +\
12256            '>'
12257
12258    def to_dict(self):
12259        return {
12260            'allow_resource_role_bypass': self.allow_resource_role_bypass,
12261            'bind_interface': self.bind_interface,
12262            'certificate_authority': self.certificate_authority,
12263            'discovery_enabled': self.discovery_enabled,
12264            'discovery_username': self.discovery_username,
12265            'egress_filter': self.egress_filter,
12266            'endpoint': self.endpoint,
12267            'healthcheck_namespace': self.healthcheck_namespace,
12268            'healthy': self.healthy,
12269            'id': self.id,
12270            'identity_alias_healthcheck_username':
12271            self.identity_alias_healthcheck_username,
12272            'identity_set_id': self.identity_set_id,
12273            'name': self.name,
12274            'port_override': self.port_override,
12275            'proxy_cluster_id': self.proxy_cluster_id,
12276            'secret_store_id': self.secret_store_id,
12277            'service_account_key': self.service_account_key,
12278            'subdomain': self.subdomain,
12279            'tags': self.tags,
12280        }
12281
12282    @classmethod
12283    def from_dict(cls, d):
12284        return cls(
12285            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
12286            bind_interface=d.get('bind_interface'),
12287            certificate_authority=d.get('certificate_authority'),
12288            discovery_enabled=d.get('discovery_enabled'),
12289            discovery_username=d.get('discovery_username'),
12290            egress_filter=d.get('egress_filter'),
12291            endpoint=d.get('endpoint'),
12292            healthcheck_namespace=d.get('healthcheck_namespace'),
12293            healthy=d.get('healthy'),
12294            id=d.get('id'),
12295            identity_alias_healthcheck_username=d.get(
12296                'identity_alias_healthcheck_username'),
12297            identity_set_id=d.get('identity_set_id'),
12298            name=d.get('name'),
12299            port_override=d.get('port_override'),
12300            proxy_cluster_id=d.get('proxy_cluster_id'),
12301            secret_store_id=d.get('secret_store_id'),
12302            service_account_key=d.get('service_account_key'),
12303            subdomain=d.get('subdomain'),
12304            tags=d.get('tags'),
12305        )
12306
12307
12308class GoogleGKEUserImpersonation:
12309    __slots__ = [
12310        'bind_interface',
12311        'certificate_authority',
12312        'egress_filter',
12313        'endpoint',
12314        'healthcheck_namespace',
12315        'healthy',
12316        'id',
12317        'name',
12318        'port_override',
12319        'proxy_cluster_id',
12320        'secret_store_id',
12321        'service_account_key',
12322        'subdomain',
12323        'tags',
12324    ]
12325
12326    def __init__(
12327        self,
12328        bind_interface=None,
12329        certificate_authority=None,
12330        egress_filter=None,
12331        endpoint=None,
12332        healthcheck_namespace=None,
12333        healthy=None,
12334        id=None,
12335        name=None,
12336        port_override=None,
12337        proxy_cluster_id=None,
12338        secret_store_id=None,
12339        service_account_key=None,
12340        subdomain=None,
12341        tags=None,
12342    ):
12343        self.bind_interface = bind_interface if bind_interface is not None else ''
12344        '''
12345         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12346        '''
12347        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12348        '''
12349         The CA to authenticate TLS connections with.
12350        '''
12351        self.egress_filter = egress_filter if egress_filter is not None else ''
12352        '''
12353         A filter applied to the routing logic to pin datasource to nodes.
12354        '''
12355        self.endpoint = endpoint if endpoint is not None else ''
12356        '''
12357         The endpoint to dial.
12358        '''
12359        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12360        '''
12361         The path used to check the health of your connection.  Defaults to `default`.
12362        '''
12363        self.healthy = healthy if healthy is not None else False
12364        '''
12365         True if the datasource is reachable and the credentials are valid.
12366        '''
12367        self.id = id if id is not None else ''
12368        '''
12369         Unique identifier of the Resource.
12370        '''
12371        self.name = name if name is not None else ''
12372        '''
12373         Unique human-readable name of the Resource.
12374        '''
12375        self.port_override = port_override if port_override is not None else 0
12376        '''
12377         The local port used by clients to connect to this resource.
12378        '''
12379        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12380        '''
12381         ID of the proxy cluster for this resource, if any.
12382        '''
12383        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12384        '''
12385         ID of the secret store containing credentials for this resource, if any.
12386        '''
12387        self.service_account_key = service_account_key if service_account_key is not None else ''
12388        '''
12389         The service account key to authenticate with.
12390        '''
12391        self.subdomain = subdomain if subdomain is not None else ''
12392        '''
12393         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12394        '''
12395        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12396        '''
12397         Tags is a map of key, value pairs.
12398        '''
12399
12400    def __repr__(self):
12401        return '<sdm.GoogleGKEUserImpersonation ' + \
12402            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12403            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
12404            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12405            'endpoint: ' + repr(self.endpoint) + ' ' +\
12406            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
12407            'healthy: ' + repr(self.healthy) + ' ' +\
12408            'id: ' + repr(self.id) + ' ' +\
12409            'name: ' + repr(self.name) + ' ' +\
12410            'port_override: ' + repr(self.port_override) + ' ' +\
12411            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12412            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12413            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
12414            'subdomain: ' + repr(self.subdomain) + ' ' +\
12415            'tags: ' + repr(self.tags) + ' ' +\
12416            '>'
12417
12418    def to_dict(self):
12419        return {
12420            'bind_interface': self.bind_interface,
12421            'certificate_authority': self.certificate_authority,
12422            'egress_filter': self.egress_filter,
12423            'endpoint': self.endpoint,
12424            'healthcheck_namespace': self.healthcheck_namespace,
12425            'healthy': self.healthy,
12426            'id': self.id,
12427            'name': self.name,
12428            'port_override': self.port_override,
12429            'proxy_cluster_id': self.proxy_cluster_id,
12430            'secret_store_id': self.secret_store_id,
12431            'service_account_key': self.service_account_key,
12432            'subdomain': self.subdomain,
12433            'tags': self.tags,
12434        }
12435
12436    @classmethod
12437    def from_dict(cls, d):
12438        return cls(
12439            bind_interface=d.get('bind_interface'),
12440            certificate_authority=d.get('certificate_authority'),
12441            egress_filter=d.get('egress_filter'),
12442            endpoint=d.get('endpoint'),
12443            healthcheck_namespace=d.get('healthcheck_namespace'),
12444            healthy=d.get('healthy'),
12445            id=d.get('id'),
12446            name=d.get('name'),
12447            port_override=d.get('port_override'),
12448            proxy_cluster_id=d.get('proxy_cluster_id'),
12449            secret_store_id=d.get('secret_store_id'),
12450            service_account_key=d.get('service_account_key'),
12451            subdomain=d.get('subdomain'),
12452            tags=d.get('tags'),
12453        )
12454
12455
12456class Greenplum:
12457    __slots__ = [
12458        'bind_interface',
12459        'database',
12460        'egress_filter',
12461        'healthy',
12462        'hostname',
12463        'id',
12464        'name',
12465        'override_database',
12466        'password',
12467        'port',
12468        'port_override',
12469        'proxy_cluster_id',
12470        'secret_store_id',
12471        'subdomain',
12472        'tags',
12473        'username',
12474    ]
12475
12476    def __init__(
12477        self,
12478        bind_interface=None,
12479        database=None,
12480        egress_filter=None,
12481        healthy=None,
12482        hostname=None,
12483        id=None,
12484        name=None,
12485        override_database=None,
12486        password=None,
12487        port=None,
12488        port_override=None,
12489        proxy_cluster_id=None,
12490        secret_store_id=None,
12491        subdomain=None,
12492        tags=None,
12493        username=None,
12494    ):
12495        self.bind_interface = bind_interface if bind_interface is not None else ''
12496        '''
12497         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12498        '''
12499        self.database = database if database is not None else ''
12500        '''
12501         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
12502        '''
12503        self.egress_filter = egress_filter if egress_filter is not None else ''
12504        '''
12505         A filter applied to the routing logic to pin datasource to nodes.
12506        '''
12507        self.healthy = healthy if healthy is not None else False
12508        '''
12509         True if the datasource is reachable and the credentials are valid.
12510        '''
12511        self.hostname = hostname if hostname is not None else ''
12512        '''
12513         The host to dial to initiate a connection from the egress node to this resource.
12514        '''
12515        self.id = id if id is not None else ''
12516        '''
12517         Unique identifier of the Resource.
12518        '''
12519        self.name = name if name is not None else ''
12520        '''
12521         Unique human-readable name of the Resource.
12522        '''
12523        self.override_database = override_database if override_database is not None else False
12524        '''
12525         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.
12526        '''
12527        self.password = password if password is not None else ''
12528        '''
12529         The password to authenticate with.
12530        '''
12531        self.port = port if port is not None else 0
12532        '''
12533         The port to dial to initiate a connection from the egress node to this resource.
12534        '''
12535        self.port_override = port_override if port_override is not None else 0
12536        '''
12537         The local port used by clients to connect to this resource.
12538        '''
12539        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12540        '''
12541         ID of the proxy cluster for this resource, if any.
12542        '''
12543        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12544        '''
12545         ID of the secret store containing credentials for this resource, if any.
12546        '''
12547        self.subdomain = subdomain if subdomain is not None else ''
12548        '''
12549         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12550        '''
12551        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12552        '''
12553         Tags is a map of key, value pairs.
12554        '''
12555        self.username = username if username is not None else ''
12556        '''
12557         The username to authenticate with.
12558        '''
12559
12560    def __repr__(self):
12561        return '<sdm.Greenplum ' + \
12562            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12563            'database: ' + repr(self.database) + ' ' +\
12564            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12565            'healthy: ' + repr(self.healthy) + ' ' +\
12566            'hostname: ' + repr(self.hostname) + ' ' +\
12567            'id: ' + repr(self.id) + ' ' +\
12568            'name: ' + repr(self.name) + ' ' +\
12569            'override_database: ' + repr(self.override_database) + ' ' +\
12570            'password: ' + repr(self.password) + ' ' +\
12571            'port: ' + repr(self.port) + ' ' +\
12572            'port_override: ' + repr(self.port_override) + ' ' +\
12573            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12574            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12575            'subdomain: ' + repr(self.subdomain) + ' ' +\
12576            'tags: ' + repr(self.tags) + ' ' +\
12577            'username: ' + repr(self.username) + ' ' +\
12578            '>'
12579
12580    def to_dict(self):
12581        return {
12582            'bind_interface': self.bind_interface,
12583            'database': self.database,
12584            'egress_filter': self.egress_filter,
12585            'healthy': self.healthy,
12586            'hostname': self.hostname,
12587            'id': self.id,
12588            'name': self.name,
12589            'override_database': self.override_database,
12590            'password': self.password,
12591            'port': self.port,
12592            'port_override': self.port_override,
12593            'proxy_cluster_id': self.proxy_cluster_id,
12594            'secret_store_id': self.secret_store_id,
12595            'subdomain': self.subdomain,
12596            'tags': self.tags,
12597            'username': self.username,
12598        }
12599
12600    @classmethod
12601    def from_dict(cls, d):
12602        return cls(
12603            bind_interface=d.get('bind_interface'),
12604            database=d.get('database'),
12605            egress_filter=d.get('egress_filter'),
12606            healthy=d.get('healthy'),
12607            hostname=d.get('hostname'),
12608            id=d.get('id'),
12609            name=d.get('name'),
12610            override_database=d.get('override_database'),
12611            password=d.get('password'),
12612            port=d.get('port'),
12613            port_override=d.get('port_override'),
12614            proxy_cluster_id=d.get('proxy_cluster_id'),
12615            secret_store_id=d.get('secret_store_id'),
12616            subdomain=d.get('subdomain'),
12617            tags=d.get('tags'),
12618            username=d.get('username'),
12619        )
12620
12621
12622class HTTPAuth:
12623    __slots__ = [
12624        'auth_header',
12625        'bind_interface',
12626        'default_path',
12627        'egress_filter',
12628        'headers_blacklist',
12629        'healthcheck_path',
12630        'healthy',
12631        'host_override',
12632        'id',
12633        'name',
12634        'proxy_cluster_id',
12635        'secret_store_id',
12636        'subdomain',
12637        'tags',
12638        'url',
12639    ]
12640
12641    def __init__(
12642        self,
12643        auth_header=None,
12644        bind_interface=None,
12645        default_path=None,
12646        egress_filter=None,
12647        headers_blacklist=None,
12648        healthcheck_path=None,
12649        healthy=None,
12650        host_override=None,
12651        id=None,
12652        name=None,
12653        proxy_cluster_id=None,
12654        secret_store_id=None,
12655        subdomain=None,
12656        tags=None,
12657        url=None,
12658    ):
12659        self.auth_header = auth_header if auth_header is not None else ''
12660        '''
12661         The content to set as the authorization header.
12662        '''
12663        self.bind_interface = bind_interface if bind_interface is not None else ''
12664        '''
12665         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12666        '''
12667        self.default_path = default_path if default_path is not None else ''
12668        '''
12669         Automatically redirect to this path upon connecting.
12670        '''
12671        self.egress_filter = egress_filter if egress_filter is not None else ''
12672        '''
12673         A filter applied to the routing logic to pin datasource to nodes.
12674        '''
12675        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12676        '''
12677         Header names (e.g. Authorization), to omit from logs.
12678        '''
12679        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12680        '''
12681         This path will be used to check the health of your site.
12682        '''
12683        self.healthy = healthy if healthy is not None else False
12684        '''
12685         True if the datasource is reachable and the credentials are valid.
12686        '''
12687        self.host_override = host_override if host_override is not None else ''
12688        '''
12689         The host header will be overwritten with this field if provided.
12690        '''
12691        self.id = id if id is not None else ''
12692        '''
12693         Unique identifier of the Resource.
12694        '''
12695        self.name = name if name is not None else ''
12696        '''
12697         Unique human-readable name of the Resource.
12698        '''
12699        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12700        '''
12701         ID of the proxy cluster for this resource, if any.
12702        '''
12703        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12704        '''
12705         ID of the secret store containing credentials for this resource, if any.
12706        '''
12707        self.subdomain = subdomain if subdomain is not None else ''
12708        '''
12709         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12710        '''
12711        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12712        '''
12713         Tags is a map of key, value pairs.
12714        '''
12715        self.url = url if url is not None else ''
12716        '''
12717         The base address of your website without the path.
12718        '''
12719
12720    def __repr__(self):
12721        return '<sdm.HTTPAuth ' + \
12722            'auth_header: ' + repr(self.auth_header) + ' ' +\
12723            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12724            'default_path: ' + repr(self.default_path) + ' ' +\
12725            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12726            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
12727            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
12728            'healthy: ' + repr(self.healthy) + ' ' +\
12729            'host_override: ' + repr(self.host_override) + ' ' +\
12730            'id: ' + repr(self.id) + ' ' +\
12731            'name: ' + repr(self.name) + ' ' +\
12732            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12733            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12734            'subdomain: ' + repr(self.subdomain) + ' ' +\
12735            'tags: ' + repr(self.tags) + ' ' +\
12736            'url: ' + repr(self.url) + ' ' +\
12737            '>'
12738
12739    def to_dict(self):
12740        return {
12741            'auth_header': self.auth_header,
12742            'bind_interface': self.bind_interface,
12743            'default_path': self.default_path,
12744            'egress_filter': self.egress_filter,
12745            'headers_blacklist': self.headers_blacklist,
12746            'healthcheck_path': self.healthcheck_path,
12747            'healthy': self.healthy,
12748            'host_override': self.host_override,
12749            'id': self.id,
12750            'name': self.name,
12751            'proxy_cluster_id': self.proxy_cluster_id,
12752            'secret_store_id': self.secret_store_id,
12753            'subdomain': self.subdomain,
12754            'tags': self.tags,
12755            'url': self.url,
12756        }
12757
12758    @classmethod
12759    def from_dict(cls, d):
12760        return cls(
12761            auth_header=d.get('auth_header'),
12762            bind_interface=d.get('bind_interface'),
12763            default_path=d.get('default_path'),
12764            egress_filter=d.get('egress_filter'),
12765            headers_blacklist=d.get('headers_blacklist'),
12766            healthcheck_path=d.get('healthcheck_path'),
12767            healthy=d.get('healthy'),
12768            host_override=d.get('host_override'),
12769            id=d.get('id'),
12770            name=d.get('name'),
12771            proxy_cluster_id=d.get('proxy_cluster_id'),
12772            secret_store_id=d.get('secret_store_id'),
12773            subdomain=d.get('subdomain'),
12774            tags=d.get('tags'),
12775            url=d.get('url'),
12776        )
12777
12778
12779class HTTPBasicAuth:
12780    __slots__ = [
12781        'bind_interface',
12782        'default_path',
12783        'egress_filter',
12784        'headers_blacklist',
12785        'healthcheck_path',
12786        'healthy',
12787        'host_override',
12788        'id',
12789        'name',
12790        'password',
12791        'proxy_cluster_id',
12792        'secret_store_id',
12793        'subdomain',
12794        'tags',
12795        'url',
12796        'username',
12797    ]
12798
12799    def __init__(
12800        self,
12801        bind_interface=None,
12802        default_path=None,
12803        egress_filter=None,
12804        headers_blacklist=None,
12805        healthcheck_path=None,
12806        healthy=None,
12807        host_override=None,
12808        id=None,
12809        name=None,
12810        password=None,
12811        proxy_cluster_id=None,
12812        secret_store_id=None,
12813        subdomain=None,
12814        tags=None,
12815        url=None,
12816        username=None,
12817    ):
12818        self.bind_interface = bind_interface if bind_interface is not None else ''
12819        '''
12820         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12821        '''
12822        self.default_path = default_path if default_path is not None else ''
12823        '''
12824         Automatically redirect to this path upon connecting.
12825        '''
12826        self.egress_filter = egress_filter if egress_filter is not None else ''
12827        '''
12828         A filter applied to the routing logic to pin datasource to nodes.
12829        '''
12830        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12831        '''
12832         Header names (e.g. Authorization), to omit from logs.
12833        '''
12834        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12835        '''
12836         This path will be used to check the health of your site.
12837        '''
12838        self.healthy = healthy if healthy is not None else False
12839        '''
12840         True if the datasource is reachable and the credentials are valid.
12841        '''
12842        self.host_override = host_override if host_override is not None else ''
12843        '''
12844         The host header will be overwritten with this field if provided.
12845        '''
12846        self.id = id if id is not None else ''
12847        '''
12848         Unique identifier of the Resource.
12849        '''
12850        self.name = name if name is not None else ''
12851        '''
12852         Unique human-readable name of the Resource.
12853        '''
12854        self.password = password if password is not None else ''
12855        '''
12856         The password to authenticate with.
12857        '''
12858        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12859        '''
12860         ID of the proxy cluster for this resource, if any.
12861        '''
12862        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12863        '''
12864         ID of the secret store containing credentials for this resource, if any.
12865        '''
12866        self.subdomain = subdomain if subdomain is not None else ''
12867        '''
12868         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12869        '''
12870        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12871        '''
12872         Tags is a map of key, value pairs.
12873        '''
12874        self.url = url if url is not None else ''
12875        '''
12876         The base address of your website without the path.
12877        '''
12878        self.username = username if username is not None else ''
12879        '''
12880         The username to authenticate with.
12881        '''
12882
12883    def __repr__(self):
12884        return '<sdm.HTTPBasicAuth ' + \
12885            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12886            'default_path: ' + repr(self.default_path) + ' ' +\
12887            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12888            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
12889            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
12890            'healthy: ' + repr(self.healthy) + ' ' +\
12891            'host_override: ' + repr(self.host_override) + ' ' +\
12892            'id: ' + repr(self.id) + ' ' +\
12893            'name: ' + repr(self.name) + ' ' +\
12894            'password: ' + repr(self.password) + ' ' +\
12895            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12896            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12897            'subdomain: ' + repr(self.subdomain) + ' ' +\
12898            'tags: ' + repr(self.tags) + ' ' +\
12899            'url: ' + repr(self.url) + ' ' +\
12900            'username: ' + repr(self.username) + ' ' +\
12901            '>'
12902
12903    def to_dict(self):
12904        return {
12905            'bind_interface': self.bind_interface,
12906            'default_path': self.default_path,
12907            'egress_filter': self.egress_filter,
12908            'headers_blacklist': self.headers_blacklist,
12909            'healthcheck_path': self.healthcheck_path,
12910            'healthy': self.healthy,
12911            'host_override': self.host_override,
12912            'id': self.id,
12913            'name': self.name,
12914            'password': self.password,
12915            'proxy_cluster_id': self.proxy_cluster_id,
12916            'secret_store_id': self.secret_store_id,
12917            'subdomain': self.subdomain,
12918            'tags': self.tags,
12919            'url': self.url,
12920            'username': self.username,
12921        }
12922
12923    @classmethod
12924    def from_dict(cls, d):
12925        return cls(
12926            bind_interface=d.get('bind_interface'),
12927            default_path=d.get('default_path'),
12928            egress_filter=d.get('egress_filter'),
12929            headers_blacklist=d.get('headers_blacklist'),
12930            healthcheck_path=d.get('healthcheck_path'),
12931            healthy=d.get('healthy'),
12932            host_override=d.get('host_override'),
12933            id=d.get('id'),
12934            name=d.get('name'),
12935            password=d.get('password'),
12936            proxy_cluster_id=d.get('proxy_cluster_id'),
12937            secret_store_id=d.get('secret_store_id'),
12938            subdomain=d.get('subdomain'),
12939            tags=d.get('tags'),
12940            url=d.get('url'),
12941            username=d.get('username'),
12942        )
12943
12944
12945class HTTPNoAuth:
12946    __slots__ = [
12947        'bind_interface',
12948        'default_path',
12949        'egress_filter',
12950        'headers_blacklist',
12951        'healthcheck_path',
12952        'healthy',
12953        'host_override',
12954        'id',
12955        'name',
12956        'proxy_cluster_id',
12957        'secret_store_id',
12958        'subdomain',
12959        'tags',
12960        'url',
12961    ]
12962
12963    def __init__(
12964        self,
12965        bind_interface=None,
12966        default_path=None,
12967        egress_filter=None,
12968        headers_blacklist=None,
12969        healthcheck_path=None,
12970        healthy=None,
12971        host_override=None,
12972        id=None,
12973        name=None,
12974        proxy_cluster_id=None,
12975        secret_store_id=None,
12976        subdomain=None,
12977        tags=None,
12978        url=None,
12979    ):
12980        self.bind_interface = bind_interface if bind_interface is not None else ''
12981        '''
12982         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12983        '''
12984        self.default_path = default_path if default_path is not None else ''
12985        '''
12986         Automatically redirect to this path upon connecting.
12987        '''
12988        self.egress_filter = egress_filter if egress_filter is not None else ''
12989        '''
12990         A filter applied to the routing logic to pin datasource to nodes.
12991        '''
12992        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12993        '''
12994         Header names (e.g. Authorization), to omit from logs.
12995        '''
12996        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12997        '''
12998         This path will be used to check the health of your site.
12999        '''
13000        self.healthy = healthy if healthy is not None else False
13001        '''
13002         True if the datasource is reachable and the credentials are valid.
13003        '''
13004        self.host_override = host_override if host_override is not None else ''
13005        '''
13006         The host header will be overwritten with this field if provided.
13007        '''
13008        self.id = id if id is not None else ''
13009        '''
13010         Unique identifier of the Resource.
13011        '''
13012        self.name = name if name is not None else ''
13013        '''
13014         Unique human-readable name of the Resource.
13015        '''
13016        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13017        '''
13018         ID of the proxy cluster for this resource, if any.
13019        '''
13020        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13021        '''
13022         ID of the secret store containing credentials for this resource, if any.
13023        '''
13024        self.subdomain = subdomain if subdomain is not None else ''
13025        '''
13026         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13027        '''
13028        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13029        '''
13030         Tags is a map of key, value pairs.
13031        '''
13032        self.url = url if url is not None else ''
13033        '''
13034         The base address of your website without the path.
13035        '''
13036
13037    def __repr__(self):
13038        return '<sdm.HTTPNoAuth ' + \
13039            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13040            'default_path: ' + repr(self.default_path) + ' ' +\
13041            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13042            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13043            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13044            'healthy: ' + repr(self.healthy) + ' ' +\
13045            'host_override: ' + repr(self.host_override) + ' ' +\
13046            'id: ' + repr(self.id) + ' ' +\
13047            'name: ' + repr(self.name) + ' ' +\
13048            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13049            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13050            'subdomain: ' + repr(self.subdomain) + ' ' +\
13051            'tags: ' + repr(self.tags) + ' ' +\
13052            'url: ' + repr(self.url) + ' ' +\
13053            '>'
13054
13055    def to_dict(self):
13056        return {
13057            'bind_interface': self.bind_interface,
13058            'default_path': self.default_path,
13059            'egress_filter': self.egress_filter,
13060            'headers_blacklist': self.headers_blacklist,
13061            'healthcheck_path': self.healthcheck_path,
13062            'healthy': self.healthy,
13063            'host_override': self.host_override,
13064            'id': self.id,
13065            'name': self.name,
13066            'proxy_cluster_id': self.proxy_cluster_id,
13067            'secret_store_id': self.secret_store_id,
13068            'subdomain': self.subdomain,
13069            'tags': self.tags,
13070            'url': self.url,
13071        }
13072
13073    @classmethod
13074    def from_dict(cls, d):
13075        return cls(
13076            bind_interface=d.get('bind_interface'),
13077            default_path=d.get('default_path'),
13078            egress_filter=d.get('egress_filter'),
13079            headers_blacklist=d.get('headers_blacklist'),
13080            healthcheck_path=d.get('healthcheck_path'),
13081            healthy=d.get('healthy'),
13082            host_override=d.get('host_override'),
13083            id=d.get('id'),
13084            name=d.get('name'),
13085            proxy_cluster_id=d.get('proxy_cluster_id'),
13086            secret_store_id=d.get('secret_store_id'),
13087            subdomain=d.get('subdomain'),
13088            tags=d.get('tags'),
13089            url=d.get('url'),
13090        )
13091
13092
13093class Healthcheck:
13094    '''
13095         Healthcheck defines the status of the link between a node and a resource
13096    '''
13097    __slots__ = [
13098        'error_msg',
13099        'healthy',
13100        'id',
13101        'node_id',
13102        'node_name',
13103        'resource_id',
13104        'resource_name',
13105        'timestamp',
13106    ]
13107
13108    def __init__(
13109        self,
13110        error_msg=None,
13111        healthy=None,
13112        id=None,
13113        node_id=None,
13114        node_name=None,
13115        resource_id=None,
13116        resource_name=None,
13117        timestamp=None,
13118    ):
13119        self.error_msg = error_msg if error_msg is not None else ''
13120        '''
13121         The error if unhealthy
13122        '''
13123        self.healthy = healthy if healthy is not None else False
13124        '''
13125         Whether the healthcheck succeeded.
13126        '''
13127        self.id = id if id is not None else ''
13128        '''
13129         Unique identifier of the healthcheck.
13130        '''
13131        self.node_id = node_id if node_id is not None else ''
13132        '''
13133         Unique identifier of the healthcheck node.
13134        '''
13135        self.node_name = node_name if node_name is not None else ''
13136        '''
13137         The name of the node.
13138        '''
13139        self.resource_id = resource_id if resource_id is not None else ''
13140        '''
13141         Unique identifier of the healthcheck resource.
13142        '''
13143        self.resource_name = resource_name if resource_name is not None else ''
13144        '''
13145         The name of the resource.
13146        '''
13147        self.timestamp = timestamp if timestamp is not None else None
13148        '''
13149         The time at which the healthcheck state was recorded.
13150        '''
13151
13152    def __repr__(self):
13153        return '<sdm.Healthcheck ' + \
13154            'error_msg: ' + repr(self.error_msg) + ' ' +\
13155            'healthy: ' + repr(self.healthy) + ' ' +\
13156            'id: ' + repr(self.id) + ' ' +\
13157            'node_id: ' + repr(self.node_id) + ' ' +\
13158            'node_name: ' + repr(self.node_name) + ' ' +\
13159            'resource_id: ' + repr(self.resource_id) + ' ' +\
13160            'resource_name: ' + repr(self.resource_name) + ' ' +\
13161            'timestamp: ' + repr(self.timestamp) + ' ' +\
13162            '>'
13163
13164    def to_dict(self):
13165        return {
13166            'error_msg': self.error_msg,
13167            'healthy': self.healthy,
13168            'id': self.id,
13169            'node_id': self.node_id,
13170            'node_name': self.node_name,
13171            'resource_id': self.resource_id,
13172            'resource_name': self.resource_name,
13173            'timestamp': self.timestamp,
13174        }
13175
13176    @classmethod
13177    def from_dict(cls, d):
13178        return cls(
13179            error_msg=d.get('error_msg'),
13180            healthy=d.get('healthy'),
13181            id=d.get('id'),
13182            node_id=d.get('node_id'),
13183            node_name=d.get('node_name'),
13184            resource_id=d.get('resource_id'),
13185            resource_name=d.get('resource_name'),
13186            timestamp=d.get('timestamp'),
13187        )
13188
13189
13190class HealthcheckListResponse:
13191    '''
13192         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
13193     HealthcheckListRequest.
13194    '''
13195    __slots__ = [
13196        'rate_limit',
13197    ]
13198
13199    def __init__(
13200        self,
13201        rate_limit=None,
13202    ):
13203        self.rate_limit = rate_limit if rate_limit is not None else None
13204        '''
13205         Rate limit information.
13206        '''
13207
13208    def __repr__(self):
13209        return '<sdm.HealthcheckListResponse ' + \
13210            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13211            '>'
13212
13213    def to_dict(self):
13214        return {
13215            'rate_limit': self.rate_limit,
13216        }
13217
13218    @classmethod
13219    def from_dict(cls, d):
13220        return cls(rate_limit=d.get('rate_limit'), )
13221
13222
13223class IdentityAlias:
13224    '''
13225         IdentityAliases define the username to be used for a specific account
13226     when connecting to a remote resource using that identity set.
13227    '''
13228    __slots__ = [
13229        'account_id',
13230        'id',
13231        'identity_set_id',
13232        'username',
13233    ]
13234
13235    def __init__(
13236        self,
13237        account_id=None,
13238        id=None,
13239        identity_set_id=None,
13240        username=None,
13241    ):
13242        self.account_id = account_id if account_id is not None else ''
13243        '''
13244         The account for this identity alias.
13245        '''
13246        self.id = id if id is not None else ''
13247        '''
13248         Unique identifier of the IdentityAlias.
13249        '''
13250        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13251        '''
13252         The identity set.
13253        '''
13254        self.username = username if username is not None else ''
13255        '''
13256         The username to be used as the identity alias for this account.
13257        '''
13258
13259    def __repr__(self):
13260        return '<sdm.IdentityAlias ' + \
13261            'account_id: ' + repr(self.account_id) + ' ' +\
13262            'id: ' + repr(self.id) + ' ' +\
13263            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13264            'username: ' + repr(self.username) + ' ' +\
13265            '>'
13266
13267    def to_dict(self):
13268        return {
13269            'account_id': self.account_id,
13270            'id': self.id,
13271            'identity_set_id': self.identity_set_id,
13272            'username': self.username,
13273        }
13274
13275    @classmethod
13276    def from_dict(cls, d):
13277        return cls(
13278            account_id=d.get('account_id'),
13279            id=d.get('id'),
13280            identity_set_id=d.get('identity_set_id'),
13281            username=d.get('username'),
13282        )
13283
13284
13285class IdentityAliasCreateResponse:
13286    '''
13287         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
13288    '''
13289    __slots__ = [
13290        'identity_alias',
13291        'meta',
13292        'rate_limit',
13293    ]
13294
13295    def __init__(
13296        self,
13297        identity_alias=None,
13298        meta=None,
13299        rate_limit=None,
13300    ):
13301        self.identity_alias = identity_alias if identity_alias is not None else None
13302        '''
13303         The created IdentityAlias.
13304        '''
13305        self.meta = meta if meta is not None else None
13306        '''
13307         Reserved for future use.
13308        '''
13309        self.rate_limit = rate_limit if rate_limit is not None else None
13310        '''
13311         Rate limit information.
13312        '''
13313
13314    def __repr__(self):
13315        return '<sdm.IdentityAliasCreateResponse ' + \
13316            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13317            'meta: ' + repr(self.meta) + ' ' +\
13318            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13319            '>'
13320
13321    def to_dict(self):
13322        return {
13323            'identity_alias': self.identity_alias,
13324            'meta': self.meta,
13325            'rate_limit': self.rate_limit,
13326        }
13327
13328    @classmethod
13329    def from_dict(cls, d):
13330        return cls(
13331            identity_alias=d.get('identity_alias'),
13332            meta=d.get('meta'),
13333            rate_limit=d.get('rate_limit'),
13334        )
13335
13336
13337class IdentityAliasDeleteResponse:
13338    '''
13339         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
13340    '''
13341    __slots__ = [
13342        'meta',
13343        'rate_limit',
13344    ]
13345
13346    def __init__(
13347        self,
13348        meta=None,
13349        rate_limit=None,
13350    ):
13351        self.meta = meta if meta is not None else None
13352        '''
13353         Reserved for future use.
13354        '''
13355        self.rate_limit = rate_limit if rate_limit is not None else None
13356        '''
13357         Rate limit information.
13358        '''
13359
13360    def __repr__(self):
13361        return '<sdm.IdentityAliasDeleteResponse ' + \
13362            'meta: ' + repr(self.meta) + ' ' +\
13363            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13364            '>'
13365
13366    def to_dict(self):
13367        return {
13368            'meta': self.meta,
13369            'rate_limit': self.rate_limit,
13370        }
13371
13372    @classmethod
13373    def from_dict(cls, d):
13374        return cls(
13375            meta=d.get('meta'),
13376            rate_limit=d.get('rate_limit'),
13377        )
13378
13379
13380class IdentityAliasGetResponse:
13381    '''
13382         IdentityAliasGetResponse returns a requested IdentityAlias.
13383    '''
13384    __slots__ = [
13385        'identity_alias',
13386        'meta',
13387        'rate_limit',
13388    ]
13389
13390    def __init__(
13391        self,
13392        identity_alias=None,
13393        meta=None,
13394        rate_limit=None,
13395    ):
13396        self.identity_alias = identity_alias if identity_alias is not None else None
13397        '''
13398         The requested IdentityAlias.
13399        '''
13400        self.meta = meta if meta is not None else None
13401        '''
13402         Reserved for future use.
13403        '''
13404        self.rate_limit = rate_limit if rate_limit is not None else None
13405        '''
13406         Rate limit information.
13407        '''
13408
13409    def __repr__(self):
13410        return '<sdm.IdentityAliasGetResponse ' + \
13411            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13412            'meta: ' + repr(self.meta) + ' ' +\
13413            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13414            '>'
13415
13416    def to_dict(self):
13417        return {
13418            'identity_alias': self.identity_alias,
13419            'meta': self.meta,
13420            'rate_limit': self.rate_limit,
13421        }
13422
13423    @classmethod
13424    def from_dict(cls, d):
13425        return cls(
13426            identity_alias=d.get('identity_alias'),
13427            meta=d.get('meta'),
13428            rate_limit=d.get('rate_limit'),
13429        )
13430
13431
13432class IdentityAliasHistory:
13433    '''
13434         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
13435     where every change (create, update and delete) to a IdentityAlias produces an
13436     IdentityAliasHistory record.
13437    '''
13438    __slots__ = [
13439        'activity_id',
13440        'deleted_at',
13441        'identity_alias',
13442        'timestamp',
13443    ]
13444
13445    def __init__(
13446        self,
13447        activity_id=None,
13448        deleted_at=None,
13449        identity_alias=None,
13450        timestamp=None,
13451    ):
13452        self.activity_id = activity_id if activity_id is not None else ''
13453        '''
13454         The unique identifier of the Activity that produced this change to the IdentityAlias.
13455         May be empty for some system-initiated updates.
13456        '''
13457        self.deleted_at = deleted_at if deleted_at is not None else None
13458        '''
13459         If this IdentityAlias was deleted, the time it was deleted.
13460        '''
13461        self.identity_alias = identity_alias if identity_alias is not None else None
13462        '''
13463         The complete IdentityAlias state at this time.
13464        '''
13465        self.timestamp = timestamp if timestamp is not None else None
13466        '''
13467         The time at which the IdentityAlias state was recorded.
13468        '''
13469
13470    def __repr__(self):
13471        return '<sdm.IdentityAliasHistory ' + \
13472            'activity_id: ' + repr(self.activity_id) + ' ' +\
13473            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
13474            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13475            'timestamp: ' + repr(self.timestamp) + ' ' +\
13476            '>'
13477
13478    def to_dict(self):
13479        return {
13480            'activity_id': self.activity_id,
13481            'deleted_at': self.deleted_at,
13482            'identity_alias': self.identity_alias,
13483            'timestamp': self.timestamp,
13484        }
13485
13486    @classmethod
13487    def from_dict(cls, d):
13488        return cls(
13489            activity_id=d.get('activity_id'),
13490            deleted_at=d.get('deleted_at'),
13491            identity_alias=d.get('identity_alias'),
13492            timestamp=d.get('timestamp'),
13493        )
13494
13495
13496class IdentityAliasUpdateResponse:
13497    '''
13498         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
13499     a IdentityAliasUpdateRequest.
13500    '''
13501    __slots__ = [
13502        'identity_alias',
13503        'meta',
13504        'rate_limit',
13505    ]
13506
13507    def __init__(
13508        self,
13509        identity_alias=None,
13510        meta=None,
13511        rate_limit=None,
13512    ):
13513        self.identity_alias = identity_alias if identity_alias is not None else None
13514        '''
13515         The updated IdentityAlias.
13516        '''
13517        self.meta = meta if meta is not None else None
13518        '''
13519         Reserved for future use.
13520        '''
13521        self.rate_limit = rate_limit if rate_limit is not None else None
13522        '''
13523         Rate limit information.
13524        '''
13525
13526    def __repr__(self):
13527        return '<sdm.IdentityAliasUpdateResponse ' + \
13528            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13529            'meta: ' + repr(self.meta) + ' ' +\
13530            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13531            '>'
13532
13533    def to_dict(self):
13534        return {
13535            'identity_alias': self.identity_alias,
13536            'meta': self.meta,
13537            'rate_limit': self.rate_limit,
13538        }
13539
13540    @classmethod
13541    def from_dict(cls, d):
13542        return cls(
13543            identity_alias=d.get('identity_alias'),
13544            meta=d.get('meta'),
13545            rate_limit=d.get('rate_limit'),
13546        )
13547
13548
13549class IdentitySet:
13550    '''
13551         A IdentitySet defines a group of identity aliases.
13552    '''
13553    __slots__ = [
13554        'id',
13555        'name',
13556    ]
13557
13558    def __init__(
13559        self,
13560        id=None,
13561        name=None,
13562    ):
13563        self.id = id if id is not None else ''
13564        '''
13565         Unique identifier of the IdentitySet.
13566        '''
13567        self.name = name if name is not None else ''
13568        '''
13569         Unique human-readable name of the IdentitySet.
13570        '''
13571
13572    def __repr__(self):
13573        return '<sdm.IdentitySet ' + \
13574            'id: ' + repr(self.id) + ' ' +\
13575            'name: ' + repr(self.name) + ' ' +\
13576            '>'
13577
13578    def to_dict(self):
13579        return {
13580            'id': self.id,
13581            'name': self.name,
13582        }
13583
13584    @classmethod
13585    def from_dict(cls, d):
13586        return cls(
13587            id=d.get('id'),
13588            name=d.get('name'),
13589        )
13590
13591
13592class IdentitySetCreateResponse:
13593    '''
13594         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
13595     communicate partial successes or failures.
13596    '''
13597    __slots__ = [
13598        'identity_set',
13599        'meta',
13600        'rate_limit',
13601    ]
13602
13603    def __init__(
13604        self,
13605        identity_set=None,
13606        meta=None,
13607        rate_limit=None,
13608    ):
13609        self.identity_set = identity_set if identity_set is not None else None
13610        '''
13611         The created IdentitySet.
13612        '''
13613        self.meta = meta if meta is not None else None
13614        '''
13615         Reserved for future use.
13616        '''
13617        self.rate_limit = rate_limit if rate_limit is not None else None
13618        '''
13619         Rate limit information.
13620        '''
13621
13622    def __repr__(self):
13623        return '<sdm.IdentitySetCreateResponse ' + \
13624            'identity_set: ' + repr(self.identity_set) + ' ' +\
13625            'meta: ' + repr(self.meta) + ' ' +\
13626            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13627            '>'
13628
13629    def to_dict(self):
13630        return {
13631            'identity_set': self.identity_set,
13632            'meta': self.meta,
13633            'rate_limit': self.rate_limit,
13634        }
13635
13636    @classmethod
13637    def from_dict(cls, d):
13638        return cls(
13639            identity_set=d.get('identity_set'),
13640            meta=d.get('meta'),
13641            rate_limit=d.get('rate_limit'),
13642        )
13643
13644
13645class IdentitySetDeleteResponse:
13646    '''
13647         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
13648    '''
13649    __slots__ = [
13650        'meta',
13651        'rate_limit',
13652    ]
13653
13654    def __init__(
13655        self,
13656        meta=None,
13657        rate_limit=None,
13658    ):
13659        self.meta = meta if meta is not None else None
13660        '''
13661         Reserved for future use.
13662        '''
13663        self.rate_limit = rate_limit if rate_limit is not None else None
13664        '''
13665         Rate limit information.
13666        '''
13667
13668    def __repr__(self):
13669        return '<sdm.IdentitySetDeleteResponse ' + \
13670            'meta: ' + repr(self.meta) + ' ' +\
13671            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13672            '>'
13673
13674    def to_dict(self):
13675        return {
13676            'meta': self.meta,
13677            'rate_limit': self.rate_limit,
13678        }
13679
13680    @classmethod
13681    def from_dict(cls, d):
13682        return cls(
13683            meta=d.get('meta'),
13684            rate_limit=d.get('rate_limit'),
13685        )
13686
13687
13688class IdentitySetGetResponse:
13689    '''
13690         IdentitySetGetResponse returns a requested IdentitySet.
13691    '''
13692    __slots__ = [
13693        'identity_set',
13694        'meta',
13695        'rate_limit',
13696    ]
13697
13698    def __init__(
13699        self,
13700        identity_set=None,
13701        meta=None,
13702        rate_limit=None,
13703    ):
13704        self.identity_set = identity_set if identity_set is not None else None
13705        '''
13706         The requested IdentitySet.
13707        '''
13708        self.meta = meta if meta is not None else None
13709        '''
13710         Reserved for future use.
13711        '''
13712        self.rate_limit = rate_limit if rate_limit is not None else None
13713        '''
13714         Rate limit information.
13715        '''
13716
13717    def __repr__(self):
13718        return '<sdm.IdentitySetGetResponse ' + \
13719            'identity_set: ' + repr(self.identity_set) + ' ' +\
13720            'meta: ' + repr(self.meta) + ' ' +\
13721            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13722            '>'
13723
13724    def to_dict(self):
13725        return {
13726            'identity_set': self.identity_set,
13727            'meta': self.meta,
13728            'rate_limit': self.rate_limit,
13729        }
13730
13731    @classmethod
13732    def from_dict(cls, d):
13733        return cls(
13734            identity_set=d.get('identity_set'),
13735            meta=d.get('meta'),
13736            rate_limit=d.get('rate_limit'),
13737        )
13738
13739
13740class IdentitySetHistory:
13741    '''
13742         IdentitySetHistory records the state of a IdentitySet at a given point in time,
13743     where every change (create, update and delete) to a IdentitySet produces an
13744     IdentitySetHistory record.
13745    '''
13746    __slots__ = [
13747        'activity_id',
13748        'deleted_at',
13749        'identity_set',
13750        'timestamp',
13751    ]
13752
13753    def __init__(
13754        self,
13755        activity_id=None,
13756        deleted_at=None,
13757        identity_set=None,
13758        timestamp=None,
13759    ):
13760        self.activity_id = activity_id if activity_id is not None else ''
13761        '''
13762         The unique identifier of the Activity that produced this change to the IdentitySet.
13763         May be empty for some system-initiated updates.
13764        '''
13765        self.deleted_at = deleted_at if deleted_at is not None else None
13766        '''
13767         If this IdentitySet was deleted, the time it was deleted.
13768        '''
13769        self.identity_set = identity_set if identity_set is not None else None
13770        '''
13771         The complete IdentitySet state at this time.
13772        '''
13773        self.timestamp = timestamp if timestamp is not None else None
13774        '''
13775         The time at which the IdentitySet state was recorded.
13776        '''
13777
13778    def __repr__(self):
13779        return '<sdm.IdentitySetHistory ' + \
13780            'activity_id: ' + repr(self.activity_id) + ' ' +\
13781            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
13782            'identity_set: ' + repr(self.identity_set) + ' ' +\
13783            'timestamp: ' + repr(self.timestamp) + ' ' +\
13784            '>'
13785
13786    def to_dict(self):
13787        return {
13788            'activity_id': self.activity_id,
13789            'deleted_at': self.deleted_at,
13790            'identity_set': self.identity_set,
13791            'timestamp': self.timestamp,
13792        }
13793
13794    @classmethod
13795    def from_dict(cls, d):
13796        return cls(
13797            activity_id=d.get('activity_id'),
13798            deleted_at=d.get('deleted_at'),
13799            identity_set=d.get('identity_set'),
13800            timestamp=d.get('timestamp'),
13801        )
13802
13803
13804class IdentitySetUpdateResponse:
13805    '''
13806         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
13807     a IdentitySetUpdateRequest.
13808    '''
13809    __slots__ = [
13810        'identity_set',
13811        'meta',
13812        'rate_limit',
13813    ]
13814
13815    def __init__(
13816        self,
13817        identity_set=None,
13818        meta=None,
13819        rate_limit=None,
13820    ):
13821        self.identity_set = identity_set if identity_set is not None else None
13822        '''
13823         The updated IdentitySet.
13824        '''
13825        self.meta = meta if meta is not None else None
13826        '''
13827         Reserved for future use.
13828        '''
13829        self.rate_limit = rate_limit if rate_limit is not None else None
13830        '''
13831         Rate limit information.
13832        '''
13833
13834    def __repr__(self):
13835        return '<sdm.IdentitySetUpdateResponse ' + \
13836            'identity_set: ' + repr(self.identity_set) + ' ' +\
13837            'meta: ' + repr(self.meta) + ' ' +\
13838            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13839            '>'
13840
13841    def to_dict(self):
13842        return {
13843            'identity_set': self.identity_set,
13844            'meta': self.meta,
13845            'rate_limit': self.rate_limit,
13846        }
13847
13848    @classmethod
13849    def from_dict(cls, d):
13850        return cls(
13851            identity_set=d.get('identity_set'),
13852            meta=d.get('meta'),
13853            rate_limit=d.get('rate_limit'),
13854        )
13855
13856
13857class KeyfactorSSHStore:
13858    __slots__ = [
13859        'ca_file_path',
13860        'certificate_file_path',
13861        'default_certificate_authority_name',
13862        'default_certificate_profile_name',
13863        'default_end_entity_profile_name',
13864        'enrollment_code_env_var',
13865        'enrollment_username_env_var',
13866        'id',
13867        'key_file_path',
13868        'name',
13869        'server_address',
13870        'tags',
13871    ]
13872
13873    def __init__(
13874        self,
13875        ca_file_path=None,
13876        certificate_file_path=None,
13877        default_certificate_authority_name=None,
13878        default_certificate_profile_name=None,
13879        default_end_entity_profile_name=None,
13880        enrollment_code_env_var=None,
13881        enrollment_username_env_var=None,
13882        id=None,
13883        key_file_path=None,
13884        name=None,
13885        server_address=None,
13886        tags=None,
13887    ):
13888        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
13889        '''
13890         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
13891         This is not required if the CA is trusted by the host operating system. This should be a PEM
13892         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
13893        '''
13894        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
13895        '''
13896         Path to client certificate in PEM format. This certificate must contain a client certificate that
13897         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
13898         key associated with the certificate, but KeyFile can also be set to configure the private key.
13899        '''
13900        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
13901        '''
13902         Name of EJBCA certificate authority that will enroll CSR.
13903        '''
13904        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
13905        '''
13906         Certificate profile name that EJBCA will enroll the CSR with.
13907        '''
13908        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
13909        '''
13910         End entity profile that EJBCA will enroll the CSR with.
13911        '''
13912        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
13913        '''
13914         code used by EJBCA during enrollment. May be left blank if no code is required.
13915        '''
13916        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
13917        '''
13918         username that used by the EJBCA during enrollment. This can be left out. 
13919         If so, the username must be auto-generated on the Keyfactor side.
13920        '''
13921        self.id = id if id is not None else ''
13922        '''
13923         Unique identifier of the SecretStore.
13924        '''
13925        self.key_file_path = key_file_path if key_file_path is not None else ''
13926        '''
13927         Path to private key in PEM format. This file should contain the private key associated with the
13928         client certificate configured in CertificateFile.
13929        '''
13930        self.name = name if name is not None else ''
13931        '''
13932         Unique human-readable name of the SecretStore.
13933        '''
13934        self.server_address = server_address if server_address is not None else ''
13935        '''
13936         the host of the Key Factor CA
13937        '''
13938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13939        '''
13940         Tags is a map of key, value pairs.
13941        '''
13942
13943    def __repr__(self):
13944        return '<sdm.KeyfactorSSHStore ' + \
13945            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
13946            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
13947            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
13948            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
13949            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
13950            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
13951            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
13952            'id: ' + repr(self.id) + ' ' +\
13953            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
13954            'name: ' + repr(self.name) + ' ' +\
13955            'server_address: ' + repr(self.server_address) + ' ' +\
13956            'tags: ' + repr(self.tags) + ' ' +\
13957            '>'
13958
13959    def to_dict(self):
13960        return {
13961            'ca_file_path': self.ca_file_path,
13962            'certificate_file_path': self.certificate_file_path,
13963            'default_certificate_authority_name':
13964            self.default_certificate_authority_name,
13965            'default_certificate_profile_name':
13966            self.default_certificate_profile_name,
13967            'default_end_entity_profile_name':
13968            self.default_end_entity_profile_name,
13969            'enrollment_code_env_var': self.enrollment_code_env_var,
13970            'enrollment_username_env_var': self.enrollment_username_env_var,
13971            'id': self.id,
13972            'key_file_path': self.key_file_path,
13973            'name': self.name,
13974            'server_address': self.server_address,
13975            'tags': self.tags,
13976        }
13977
13978    @classmethod
13979    def from_dict(cls, d):
13980        return cls(
13981            ca_file_path=d.get('ca_file_path'),
13982            certificate_file_path=d.get('certificate_file_path'),
13983            default_certificate_authority_name=d.get(
13984                'default_certificate_authority_name'),
13985            default_certificate_profile_name=d.get(
13986                'default_certificate_profile_name'),
13987            default_end_entity_profile_name=d.get(
13988                'default_end_entity_profile_name'),
13989            enrollment_code_env_var=d.get('enrollment_code_env_var'),
13990            enrollment_username_env_var=d.get('enrollment_username_env_var'),
13991            id=d.get('id'),
13992            key_file_path=d.get('key_file_path'),
13993            name=d.get('name'),
13994            server_address=d.get('server_address'),
13995            tags=d.get('tags'),
13996        )
13997
13998
13999class KeyfactorX509Store:
14000    __slots__ = [
14001        'ca_file_path',
14002        'certificate_file_path',
14003        'default_certificate_authority_name',
14004        'default_certificate_profile_name',
14005        'default_end_entity_profile_name',
14006        'enrollment_code_env_var',
14007        'enrollment_username_env_var',
14008        'id',
14009        'key_file_path',
14010        'name',
14011        'server_address',
14012        'tags',
14013    ]
14014
14015    def __init__(
14016        self,
14017        ca_file_path=None,
14018        certificate_file_path=None,
14019        default_certificate_authority_name=None,
14020        default_certificate_profile_name=None,
14021        default_end_entity_profile_name=None,
14022        enrollment_code_env_var=None,
14023        enrollment_username_env_var=None,
14024        id=None,
14025        key_file_path=None,
14026        name=None,
14027        server_address=None,
14028        tags=None,
14029    ):
14030        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14031        '''
14032         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14033         This is not required if the CA is trusted by the host operating system. This should be a PEM
14034         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14035        '''
14036        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14037        '''
14038         Path to client certificate in PEM format. This certificate must contain a client certificate that
14039         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14040         key associated with the certificate, but KeyFile can also be set to configure the private key.
14041        '''
14042        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14043        '''
14044         Name of EJBCA certificate authority that will enroll CSR.
14045        '''
14046        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14047        '''
14048         Certificate profile name that EJBCA will enroll the CSR with.
14049        '''
14050        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14051        '''
14052         End entity profile that EJBCA will enroll the CSR with.
14053        '''
14054        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14055        '''
14056         code used by EJBCA during enrollment. May be left blank if no code is required.
14057        '''
14058        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14059        '''
14060         username that used by the EJBCA during enrollment. This can be left out. 
14061         If so, the username must be auto-generated on the Keyfactor side.
14062        '''
14063        self.id = id if id is not None else ''
14064        '''
14065         Unique identifier of the SecretStore.
14066        '''
14067        self.key_file_path = key_file_path if key_file_path is not None else ''
14068        '''
14069         Path to private key in PEM format. This file should contain the private key associated with the
14070         client certificate configured in CertificateFile.
14071        '''
14072        self.name = name if name is not None else ''
14073        '''
14074         Unique human-readable name of the SecretStore.
14075        '''
14076        self.server_address = server_address if server_address is not None else ''
14077        '''
14078         the host of the Key Factor CA
14079        '''
14080        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14081        '''
14082         Tags is a map of key, value pairs.
14083        '''
14084
14085    def __repr__(self):
14086        return '<sdm.KeyfactorX509Store ' + \
14087            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
14088            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
14089            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
14090            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
14091            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
14092            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
14093            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
14094            'id: ' + repr(self.id) + ' ' +\
14095            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
14096            'name: ' + repr(self.name) + ' ' +\
14097            'server_address: ' + repr(self.server_address) + ' ' +\
14098            'tags: ' + repr(self.tags) + ' ' +\
14099            '>'
14100
14101    def to_dict(self):
14102        return {
14103            'ca_file_path': self.ca_file_path,
14104            'certificate_file_path': self.certificate_file_path,
14105            'default_certificate_authority_name':
14106            self.default_certificate_authority_name,
14107            'default_certificate_profile_name':
14108            self.default_certificate_profile_name,
14109            'default_end_entity_profile_name':
14110            self.default_end_entity_profile_name,
14111            'enrollment_code_env_var': self.enrollment_code_env_var,
14112            'enrollment_username_env_var': self.enrollment_username_env_var,
14113            'id': self.id,
14114            'key_file_path': self.key_file_path,
14115            'name': self.name,
14116            'server_address': self.server_address,
14117            'tags': self.tags,
14118        }
14119
14120    @classmethod
14121    def from_dict(cls, d):
14122        return cls(
14123            ca_file_path=d.get('ca_file_path'),
14124            certificate_file_path=d.get('certificate_file_path'),
14125            default_certificate_authority_name=d.get(
14126                'default_certificate_authority_name'),
14127            default_certificate_profile_name=d.get(
14128                'default_certificate_profile_name'),
14129            default_end_entity_profile_name=d.get(
14130                'default_end_entity_profile_name'),
14131            enrollment_code_env_var=d.get('enrollment_code_env_var'),
14132            enrollment_username_env_var=d.get('enrollment_username_env_var'),
14133            id=d.get('id'),
14134            key_file_path=d.get('key_file_path'),
14135            name=d.get('name'),
14136            server_address=d.get('server_address'),
14137            tags=d.get('tags'),
14138        )
14139
14140
14141class Kubernetes:
14142    __slots__ = [
14143        'allow_resource_role_bypass',
14144        'bind_interface',
14145        'certificate_authority',
14146        'client_certificate',
14147        'client_key',
14148        'discovery_enabled',
14149        'discovery_username',
14150        'egress_filter',
14151        'healthcheck_namespace',
14152        'healthy',
14153        'hostname',
14154        'id',
14155        'identity_alias_healthcheck_username',
14156        'identity_set_id',
14157        'name',
14158        'port',
14159        'port_override',
14160        'proxy_cluster_id',
14161        'secret_store_id',
14162        'subdomain',
14163        'tags',
14164    ]
14165
14166    def __init__(
14167        self,
14168        allow_resource_role_bypass=None,
14169        bind_interface=None,
14170        certificate_authority=None,
14171        client_certificate=None,
14172        client_key=None,
14173        discovery_enabled=None,
14174        discovery_username=None,
14175        egress_filter=None,
14176        healthcheck_namespace=None,
14177        healthy=None,
14178        hostname=None,
14179        id=None,
14180        identity_alias_healthcheck_username=None,
14181        identity_set_id=None,
14182        name=None,
14183        port=None,
14184        port_override=None,
14185        proxy_cluster_id=None,
14186        secret_store_id=None,
14187        subdomain=None,
14188        tags=None,
14189    ):
14190        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14191        '''
14192         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14193         when a resource role is not provided.
14194        '''
14195        self.bind_interface = bind_interface if bind_interface is not None else ''
14196        '''
14197         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14198        '''
14199        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14200        '''
14201         The CA to authenticate TLS connections with.
14202        '''
14203        self.client_certificate = client_certificate if client_certificate is not None else ''
14204        '''
14205         The certificate to authenticate TLS connections with.
14206        '''
14207        self.client_key = client_key if client_key is not None else ''
14208        '''
14209         The key to authenticate TLS connections with.
14210        '''
14211        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14212        '''
14213         If true, configures discovery of a cluster to be run from a node.
14214        '''
14215        self.discovery_username = discovery_username if discovery_username is not None else ''
14216        '''
14217         If a cluster is configured for user impersonation, this is the user to impersonate when
14218         running discovery.
14219        '''
14220        self.egress_filter = egress_filter if egress_filter is not None else ''
14221        '''
14222         A filter applied to the routing logic to pin datasource to nodes.
14223        '''
14224        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14225        '''
14226         The path used to check the health of your connection.  Defaults to `default`.
14227        '''
14228        self.healthy = healthy if healthy is not None else False
14229        '''
14230         True if the datasource is reachable and the credentials are valid.
14231        '''
14232        self.hostname = hostname if hostname is not None else ''
14233        '''
14234         The host to dial to initiate a connection from the egress node to this resource.
14235        '''
14236        self.id = id if id is not None else ''
14237        '''
14238         Unique identifier of the Resource.
14239        '''
14240        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14241        '''
14242         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14243        '''
14244        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14245        '''
14246         The ID of the identity set to use for identity connections.
14247        '''
14248        self.name = name if name is not None else ''
14249        '''
14250         Unique human-readable name of the Resource.
14251        '''
14252        self.port = port if port is not None else 0
14253        '''
14254         The port to dial to initiate a connection from the egress node to this resource.
14255        '''
14256        self.port_override = port_override if port_override is not None else 0
14257        '''
14258         The local port used by clients to connect to this resource.
14259        '''
14260        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14261        '''
14262         ID of the proxy cluster for this resource, if any.
14263        '''
14264        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14265        '''
14266         ID of the secret store containing credentials for this resource, if any.
14267        '''
14268        self.subdomain = subdomain if subdomain is not None else ''
14269        '''
14270         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14271        '''
14272        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14273        '''
14274         Tags is a map of key, value pairs.
14275        '''
14276
14277    def __repr__(self):
14278        return '<sdm.Kubernetes ' + \
14279            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
14280            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14281            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14282            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
14283            'client_key: ' + repr(self.client_key) + ' ' +\
14284            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
14285            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
14286            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14287            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14288            'healthy: ' + repr(self.healthy) + ' ' +\
14289            'hostname: ' + repr(self.hostname) + ' ' +\
14290            'id: ' + repr(self.id) + ' ' +\
14291            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14292            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14293            'name: ' + repr(self.name) + ' ' +\
14294            'port: ' + repr(self.port) + ' ' +\
14295            'port_override: ' + repr(self.port_override) + ' ' +\
14296            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14297            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14298            'subdomain: ' + repr(self.subdomain) + ' ' +\
14299            'tags: ' + repr(self.tags) + ' ' +\
14300            '>'
14301
14302    def to_dict(self):
14303        return {
14304            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14305            'bind_interface': self.bind_interface,
14306            'certificate_authority': self.certificate_authority,
14307            'client_certificate': self.client_certificate,
14308            'client_key': self.client_key,
14309            'discovery_enabled': self.discovery_enabled,
14310            'discovery_username': self.discovery_username,
14311            'egress_filter': self.egress_filter,
14312            'healthcheck_namespace': self.healthcheck_namespace,
14313            'healthy': self.healthy,
14314            'hostname': self.hostname,
14315            'id': self.id,
14316            'identity_alias_healthcheck_username':
14317            self.identity_alias_healthcheck_username,
14318            'identity_set_id': self.identity_set_id,
14319            'name': self.name,
14320            'port': self.port,
14321            'port_override': self.port_override,
14322            'proxy_cluster_id': self.proxy_cluster_id,
14323            'secret_store_id': self.secret_store_id,
14324            'subdomain': self.subdomain,
14325            'tags': self.tags,
14326        }
14327
14328    @classmethod
14329    def from_dict(cls, d):
14330        return cls(
14331            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14332            bind_interface=d.get('bind_interface'),
14333            certificate_authority=d.get('certificate_authority'),
14334            client_certificate=d.get('client_certificate'),
14335            client_key=d.get('client_key'),
14336            discovery_enabled=d.get('discovery_enabled'),
14337            discovery_username=d.get('discovery_username'),
14338            egress_filter=d.get('egress_filter'),
14339            healthcheck_namespace=d.get('healthcheck_namespace'),
14340            healthy=d.get('healthy'),
14341            hostname=d.get('hostname'),
14342            id=d.get('id'),
14343            identity_alias_healthcheck_username=d.get(
14344                'identity_alias_healthcheck_username'),
14345            identity_set_id=d.get('identity_set_id'),
14346            name=d.get('name'),
14347            port=d.get('port'),
14348            port_override=d.get('port_override'),
14349            proxy_cluster_id=d.get('proxy_cluster_id'),
14350            secret_store_id=d.get('secret_store_id'),
14351            subdomain=d.get('subdomain'),
14352            tags=d.get('tags'),
14353        )
14354
14355
14356class KubernetesBasicAuth:
14357    '''
14358    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
14359    without a major version bump.
14360    '''
14361    __slots__ = [
14362        'bind_interface',
14363        'egress_filter',
14364        'healthcheck_namespace',
14365        'healthy',
14366        'hostname',
14367        'id',
14368        'name',
14369        'password',
14370        'port',
14371        'port_override',
14372        'proxy_cluster_id',
14373        'secret_store_id',
14374        'subdomain',
14375        'tags',
14376        'username',
14377    ]
14378
14379    def __init__(
14380        self,
14381        bind_interface=None,
14382        egress_filter=None,
14383        healthcheck_namespace=None,
14384        healthy=None,
14385        hostname=None,
14386        id=None,
14387        name=None,
14388        password=None,
14389        port=None,
14390        port_override=None,
14391        proxy_cluster_id=None,
14392        secret_store_id=None,
14393        subdomain=None,
14394        tags=None,
14395        username=None,
14396    ):
14397        self.bind_interface = bind_interface if bind_interface is not None else ''
14398        '''
14399         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14400        '''
14401        self.egress_filter = egress_filter if egress_filter is not None else ''
14402        '''
14403         A filter applied to the routing logic to pin datasource to nodes.
14404        '''
14405        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14406        '''
14407         The path used to check the health of your connection.  Defaults to `default`.
14408        '''
14409        self.healthy = healthy if healthy is not None else False
14410        '''
14411         True if the datasource is reachable and the credentials are valid.
14412        '''
14413        self.hostname = hostname if hostname is not None else ''
14414        '''
14415         The host to dial to initiate a connection from the egress node to this resource.
14416        '''
14417        self.id = id if id is not None else ''
14418        '''
14419         Unique identifier of the Resource.
14420        '''
14421        self.name = name if name is not None else ''
14422        '''
14423         Unique human-readable name of the Resource.
14424        '''
14425        self.password = password if password is not None else ''
14426        '''
14427         The password to authenticate with.
14428        '''
14429        self.port = port if port is not None else 0
14430        '''
14431         The port to dial to initiate a connection from the egress node to this resource.
14432        '''
14433        self.port_override = port_override if port_override is not None else 0
14434        '''
14435         The local port used by clients to connect to this resource.
14436        '''
14437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14438        '''
14439         ID of the proxy cluster for this resource, if any.
14440        '''
14441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14442        '''
14443         ID of the secret store containing credentials for this resource, if any.
14444        '''
14445        self.subdomain = subdomain if subdomain is not None else ''
14446        '''
14447         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14448        '''
14449        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14450        '''
14451         Tags is a map of key, value pairs.
14452        '''
14453        self.username = username if username is not None else ''
14454        '''
14455         The username to authenticate with.
14456        '''
14457
14458    def __repr__(self):
14459        return '<sdm.KubernetesBasicAuth ' + \
14460            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14461            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14462            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14463            'healthy: ' + repr(self.healthy) + ' ' +\
14464            'hostname: ' + repr(self.hostname) + ' ' +\
14465            'id: ' + repr(self.id) + ' ' +\
14466            'name: ' + repr(self.name) + ' ' +\
14467            'password: ' + repr(self.password) + ' ' +\
14468            'port: ' + repr(self.port) + ' ' +\
14469            'port_override: ' + repr(self.port_override) + ' ' +\
14470            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14471            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14472            'subdomain: ' + repr(self.subdomain) + ' ' +\
14473            'tags: ' + repr(self.tags) + ' ' +\
14474            'username: ' + repr(self.username) + ' ' +\
14475            '>'
14476
14477    def to_dict(self):
14478        return {
14479            'bind_interface': self.bind_interface,
14480            'egress_filter': self.egress_filter,
14481            'healthcheck_namespace': self.healthcheck_namespace,
14482            'healthy': self.healthy,
14483            'hostname': self.hostname,
14484            'id': self.id,
14485            'name': self.name,
14486            'password': self.password,
14487            'port': self.port,
14488            'port_override': self.port_override,
14489            'proxy_cluster_id': self.proxy_cluster_id,
14490            'secret_store_id': self.secret_store_id,
14491            'subdomain': self.subdomain,
14492            'tags': self.tags,
14493            'username': self.username,
14494        }
14495
14496    @classmethod
14497    def from_dict(cls, d):
14498        return cls(
14499            bind_interface=d.get('bind_interface'),
14500            egress_filter=d.get('egress_filter'),
14501            healthcheck_namespace=d.get('healthcheck_namespace'),
14502            healthy=d.get('healthy'),
14503            hostname=d.get('hostname'),
14504            id=d.get('id'),
14505            name=d.get('name'),
14506            password=d.get('password'),
14507            port=d.get('port'),
14508            port_override=d.get('port_override'),
14509            proxy_cluster_id=d.get('proxy_cluster_id'),
14510            secret_store_id=d.get('secret_store_id'),
14511            subdomain=d.get('subdomain'),
14512            tags=d.get('tags'),
14513            username=d.get('username'),
14514        )
14515
14516
14517class KubernetesPodIdentity:
14518    __slots__ = [
14519        'allow_resource_role_bypass',
14520        'bind_interface',
14521        'certificate_authority',
14522        'egress_filter',
14523        'healthcheck_namespace',
14524        'healthy',
14525        'id',
14526        'identity_alias_healthcheck_username',
14527        'identity_set_id',
14528        'name',
14529        'port_override',
14530        'proxy_cluster_id',
14531        'secret_store_id',
14532        'subdomain',
14533        'tags',
14534    ]
14535
14536    def __init__(
14537        self,
14538        allow_resource_role_bypass=None,
14539        bind_interface=None,
14540        certificate_authority=None,
14541        egress_filter=None,
14542        healthcheck_namespace=None,
14543        healthy=None,
14544        id=None,
14545        identity_alias_healthcheck_username=None,
14546        identity_set_id=None,
14547        name=None,
14548        port_override=None,
14549        proxy_cluster_id=None,
14550        secret_store_id=None,
14551        subdomain=None,
14552        tags=None,
14553    ):
14554        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14555        '''
14556         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14557         when a resource role is not provided.
14558        '''
14559        self.bind_interface = bind_interface if bind_interface is not None else ''
14560        '''
14561         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14562        '''
14563        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14564        '''
14565         The CA to authenticate TLS connections with.
14566        '''
14567        self.egress_filter = egress_filter if egress_filter is not None else ''
14568        '''
14569         A filter applied to the routing logic to pin datasource to nodes.
14570        '''
14571        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14572        '''
14573         The path used to check the health of your connection.  Defaults to `default`.
14574        '''
14575        self.healthy = healthy if healthy is not None else False
14576        '''
14577         True if the datasource is reachable and the credentials are valid.
14578        '''
14579        self.id = id if id is not None else ''
14580        '''
14581         Unique identifier of the Resource.
14582        '''
14583        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14584        '''
14585         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14586        '''
14587        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14588        '''
14589         The ID of the identity set to use for identity connections.
14590        '''
14591        self.name = name if name is not None else ''
14592        '''
14593         Unique human-readable name of the Resource.
14594        '''
14595        self.port_override = port_override if port_override is not None else 0
14596        '''
14597         The local port used by clients to connect to this resource.
14598        '''
14599        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14600        '''
14601         ID of the proxy cluster for this resource, if any.
14602        '''
14603        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14604        '''
14605         ID of the secret store containing credentials for this resource, if any.
14606        '''
14607        self.subdomain = subdomain if subdomain is not None else ''
14608        '''
14609         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14610        '''
14611        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14612        '''
14613         Tags is a map of key, value pairs.
14614        '''
14615
14616    def __repr__(self):
14617        return '<sdm.KubernetesPodIdentity ' + \
14618            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
14619            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14620            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14621            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14622            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14623            'healthy: ' + repr(self.healthy) + ' ' +\
14624            'id: ' + repr(self.id) + ' ' +\
14625            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14626            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14627            'name: ' + repr(self.name) + ' ' +\
14628            'port_override: ' + repr(self.port_override) + ' ' +\
14629            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14630            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14631            'subdomain: ' + repr(self.subdomain) + ' ' +\
14632            'tags: ' + repr(self.tags) + ' ' +\
14633            '>'
14634
14635    def to_dict(self):
14636        return {
14637            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14638            'bind_interface': self.bind_interface,
14639            'certificate_authority': self.certificate_authority,
14640            'egress_filter': self.egress_filter,
14641            'healthcheck_namespace': self.healthcheck_namespace,
14642            'healthy': self.healthy,
14643            'id': self.id,
14644            'identity_alias_healthcheck_username':
14645            self.identity_alias_healthcheck_username,
14646            'identity_set_id': self.identity_set_id,
14647            'name': self.name,
14648            'port_override': self.port_override,
14649            'proxy_cluster_id': self.proxy_cluster_id,
14650            'secret_store_id': self.secret_store_id,
14651            'subdomain': self.subdomain,
14652            'tags': self.tags,
14653        }
14654
14655    @classmethod
14656    def from_dict(cls, d):
14657        return cls(
14658            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14659            bind_interface=d.get('bind_interface'),
14660            certificate_authority=d.get('certificate_authority'),
14661            egress_filter=d.get('egress_filter'),
14662            healthcheck_namespace=d.get('healthcheck_namespace'),
14663            healthy=d.get('healthy'),
14664            id=d.get('id'),
14665            identity_alias_healthcheck_username=d.get(
14666                'identity_alias_healthcheck_username'),
14667            identity_set_id=d.get('identity_set_id'),
14668            name=d.get('name'),
14669            port_override=d.get('port_override'),
14670            proxy_cluster_id=d.get('proxy_cluster_id'),
14671            secret_store_id=d.get('secret_store_id'),
14672            subdomain=d.get('subdomain'),
14673            tags=d.get('tags'),
14674        )
14675
14676
14677class KubernetesServiceAccount:
14678    __slots__ = [
14679        'allow_resource_role_bypass',
14680        'bind_interface',
14681        'discovery_enabled',
14682        'discovery_username',
14683        'egress_filter',
14684        'healthcheck_namespace',
14685        'healthy',
14686        'hostname',
14687        'id',
14688        'identity_alias_healthcheck_username',
14689        'identity_set_id',
14690        'name',
14691        'port',
14692        'port_override',
14693        'proxy_cluster_id',
14694        'secret_store_id',
14695        'subdomain',
14696        'tags',
14697        'token',
14698    ]
14699
14700    def __init__(
14701        self,
14702        allow_resource_role_bypass=None,
14703        bind_interface=None,
14704        discovery_enabled=None,
14705        discovery_username=None,
14706        egress_filter=None,
14707        healthcheck_namespace=None,
14708        healthy=None,
14709        hostname=None,
14710        id=None,
14711        identity_alias_healthcheck_username=None,
14712        identity_set_id=None,
14713        name=None,
14714        port=None,
14715        port_override=None,
14716        proxy_cluster_id=None,
14717        secret_store_id=None,
14718        subdomain=None,
14719        tags=None,
14720        token=None,
14721    ):
14722        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14723        '''
14724         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14725         when a resource role is not provided.
14726        '''
14727        self.bind_interface = bind_interface if bind_interface is not None else ''
14728        '''
14729         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14730        '''
14731        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14732        '''
14733         If true, configures discovery of a cluster to be run from a node.
14734        '''
14735        self.discovery_username = discovery_username if discovery_username is not None else ''
14736        '''
14737         If a cluster is configured for user impersonation, this is the user to impersonate when
14738         running discovery.
14739        '''
14740        self.egress_filter = egress_filter if egress_filter is not None else ''
14741        '''
14742         A filter applied to the routing logic to pin datasource to nodes.
14743        '''
14744        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14745        '''
14746         The path used to check the health of your connection.  Defaults to `default`.
14747        '''
14748        self.healthy = healthy if healthy is not None else False
14749        '''
14750         True if the datasource is reachable and the credentials are valid.
14751        '''
14752        self.hostname = hostname if hostname is not None else ''
14753        '''
14754         The host to dial to initiate a connection from the egress node to this resource.
14755        '''
14756        self.id = id if id is not None else ''
14757        '''
14758         Unique identifier of the Resource.
14759        '''
14760        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14761        '''
14762         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14763        '''
14764        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14765        '''
14766         The ID of the identity set to use for identity connections.
14767        '''
14768        self.name = name if name is not None else ''
14769        '''
14770         Unique human-readable name of the Resource.
14771        '''
14772        self.port = port if port is not None else 0
14773        '''
14774         The port to dial to initiate a connection from the egress node to this resource.
14775        '''
14776        self.port_override = port_override if port_override is not None else 0
14777        '''
14778         The local port used by clients to connect to this resource.
14779        '''
14780        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14781        '''
14782         ID of the proxy cluster for this resource, if any.
14783        '''
14784        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14785        '''
14786         ID of the secret store containing credentials for this resource, if any.
14787        '''
14788        self.subdomain = subdomain if subdomain is not None else ''
14789        '''
14790         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14791        '''
14792        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14793        '''
14794         Tags is a map of key, value pairs.
14795        '''
14796        self.token = token if token is not None else ''
14797        '''
14798         The API token to authenticate with.
14799        '''
14800
14801    def __repr__(self):
14802        return '<sdm.KubernetesServiceAccount ' + \
14803            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
14804            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14805            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
14806            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
14807            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14808            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14809            'healthy: ' + repr(self.healthy) + ' ' +\
14810            'hostname: ' + repr(self.hostname) + ' ' +\
14811            'id: ' + repr(self.id) + ' ' +\
14812            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14813            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14814            'name: ' + repr(self.name) + ' ' +\
14815            'port: ' + repr(self.port) + ' ' +\
14816            'port_override: ' + repr(self.port_override) + ' ' +\
14817            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14818            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14819            'subdomain: ' + repr(self.subdomain) + ' ' +\
14820            'tags: ' + repr(self.tags) + ' ' +\
14821            'token: ' + repr(self.token) + ' ' +\
14822            '>'
14823
14824    def to_dict(self):
14825        return {
14826            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14827            'bind_interface': self.bind_interface,
14828            'discovery_enabled': self.discovery_enabled,
14829            'discovery_username': self.discovery_username,
14830            'egress_filter': self.egress_filter,
14831            'healthcheck_namespace': self.healthcheck_namespace,
14832            'healthy': self.healthy,
14833            'hostname': self.hostname,
14834            'id': self.id,
14835            'identity_alias_healthcheck_username':
14836            self.identity_alias_healthcheck_username,
14837            'identity_set_id': self.identity_set_id,
14838            'name': self.name,
14839            'port': self.port,
14840            'port_override': self.port_override,
14841            'proxy_cluster_id': self.proxy_cluster_id,
14842            'secret_store_id': self.secret_store_id,
14843            'subdomain': self.subdomain,
14844            'tags': self.tags,
14845            'token': self.token,
14846        }
14847
14848    @classmethod
14849    def from_dict(cls, d):
14850        return cls(
14851            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14852            bind_interface=d.get('bind_interface'),
14853            discovery_enabled=d.get('discovery_enabled'),
14854            discovery_username=d.get('discovery_username'),
14855            egress_filter=d.get('egress_filter'),
14856            healthcheck_namespace=d.get('healthcheck_namespace'),
14857            healthy=d.get('healthy'),
14858            hostname=d.get('hostname'),
14859            id=d.get('id'),
14860            identity_alias_healthcheck_username=d.get(
14861                'identity_alias_healthcheck_username'),
14862            identity_set_id=d.get('identity_set_id'),
14863            name=d.get('name'),
14864            port=d.get('port'),
14865            port_override=d.get('port_override'),
14866            proxy_cluster_id=d.get('proxy_cluster_id'),
14867            secret_store_id=d.get('secret_store_id'),
14868            subdomain=d.get('subdomain'),
14869            tags=d.get('tags'),
14870            token=d.get('token'),
14871        )
14872
14873
14874class KubernetesServiceAccountUserImpersonation:
14875    __slots__ = [
14876        'bind_interface',
14877        'egress_filter',
14878        'healthcheck_namespace',
14879        'healthy',
14880        'hostname',
14881        'id',
14882        'name',
14883        'port',
14884        'port_override',
14885        'proxy_cluster_id',
14886        'secret_store_id',
14887        'subdomain',
14888        'tags',
14889        'token',
14890    ]
14891
14892    def __init__(
14893        self,
14894        bind_interface=None,
14895        egress_filter=None,
14896        healthcheck_namespace=None,
14897        healthy=None,
14898        hostname=None,
14899        id=None,
14900        name=None,
14901        port=None,
14902        port_override=None,
14903        proxy_cluster_id=None,
14904        secret_store_id=None,
14905        subdomain=None,
14906        tags=None,
14907        token=None,
14908    ):
14909        self.bind_interface = bind_interface if bind_interface is not None else ''
14910        '''
14911         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14912        '''
14913        self.egress_filter = egress_filter if egress_filter is not None else ''
14914        '''
14915         A filter applied to the routing logic to pin datasource to nodes.
14916        '''
14917        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14918        '''
14919         The path used to check the health of your connection.  Defaults to `default`.
14920        '''
14921        self.healthy = healthy if healthy is not None else False
14922        '''
14923         True if the datasource is reachable and the credentials are valid.
14924        '''
14925        self.hostname = hostname if hostname is not None else ''
14926        '''
14927         The host to dial to initiate a connection from the egress node to this resource.
14928        '''
14929        self.id = id if id is not None else ''
14930        '''
14931         Unique identifier of the Resource.
14932        '''
14933        self.name = name if name is not None else ''
14934        '''
14935         Unique human-readable name of the Resource.
14936        '''
14937        self.port = port if port is not None else 0
14938        '''
14939         The port to dial to initiate a connection from the egress node to this resource.
14940        '''
14941        self.port_override = port_override if port_override is not None else 0
14942        '''
14943         The local port used by clients to connect to this resource.
14944        '''
14945        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14946        '''
14947         ID of the proxy cluster for this resource, if any.
14948        '''
14949        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14950        '''
14951         ID of the secret store containing credentials for this resource, if any.
14952        '''
14953        self.subdomain = subdomain if subdomain is not None else ''
14954        '''
14955         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14956        '''
14957        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14958        '''
14959         Tags is a map of key, value pairs.
14960        '''
14961        self.token = token if token is not None else ''
14962        '''
14963         The API token to authenticate with.
14964        '''
14965
14966    def __repr__(self):
14967        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
14968            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14969            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14970            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14971            'healthy: ' + repr(self.healthy) + ' ' +\
14972            'hostname: ' + repr(self.hostname) + ' ' +\
14973            'id: ' + repr(self.id) + ' ' +\
14974            'name: ' + repr(self.name) + ' ' +\
14975            'port: ' + repr(self.port) + ' ' +\
14976            'port_override: ' + repr(self.port_override) + ' ' +\
14977            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14978            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14979            'subdomain: ' + repr(self.subdomain) + ' ' +\
14980            'tags: ' + repr(self.tags) + ' ' +\
14981            'token: ' + repr(self.token) + ' ' +\
14982            '>'
14983
14984    def to_dict(self):
14985        return {
14986            'bind_interface': self.bind_interface,
14987            'egress_filter': self.egress_filter,
14988            'healthcheck_namespace': self.healthcheck_namespace,
14989            'healthy': self.healthy,
14990            'hostname': self.hostname,
14991            'id': self.id,
14992            'name': self.name,
14993            'port': self.port,
14994            'port_override': self.port_override,
14995            'proxy_cluster_id': self.proxy_cluster_id,
14996            'secret_store_id': self.secret_store_id,
14997            'subdomain': self.subdomain,
14998            'tags': self.tags,
14999            'token': self.token,
15000        }
15001
15002    @classmethod
15003    def from_dict(cls, d):
15004        return cls(
15005            bind_interface=d.get('bind_interface'),
15006            egress_filter=d.get('egress_filter'),
15007            healthcheck_namespace=d.get('healthcheck_namespace'),
15008            healthy=d.get('healthy'),
15009            hostname=d.get('hostname'),
15010            id=d.get('id'),
15011            name=d.get('name'),
15012            port=d.get('port'),
15013            port_override=d.get('port_override'),
15014            proxy_cluster_id=d.get('proxy_cluster_id'),
15015            secret_store_id=d.get('secret_store_id'),
15016            subdomain=d.get('subdomain'),
15017            tags=d.get('tags'),
15018            token=d.get('token'),
15019        )
15020
15021
15022class KubernetesUserImpersonation:
15023    __slots__ = [
15024        'bind_interface',
15025        'certificate_authority',
15026        'client_certificate',
15027        'client_key',
15028        'egress_filter',
15029        'healthcheck_namespace',
15030        'healthy',
15031        'hostname',
15032        'id',
15033        'name',
15034        'port',
15035        'port_override',
15036        'proxy_cluster_id',
15037        'secret_store_id',
15038        'subdomain',
15039        'tags',
15040    ]
15041
15042    def __init__(
15043        self,
15044        bind_interface=None,
15045        certificate_authority=None,
15046        client_certificate=None,
15047        client_key=None,
15048        egress_filter=None,
15049        healthcheck_namespace=None,
15050        healthy=None,
15051        hostname=None,
15052        id=None,
15053        name=None,
15054        port=None,
15055        port_override=None,
15056        proxy_cluster_id=None,
15057        secret_store_id=None,
15058        subdomain=None,
15059        tags=None,
15060    ):
15061        self.bind_interface = bind_interface if bind_interface is not None else ''
15062        '''
15063         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15064        '''
15065        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15066        '''
15067         The CA to authenticate TLS connections with.
15068        '''
15069        self.client_certificate = client_certificate if client_certificate is not None else ''
15070        '''
15071         The certificate to authenticate TLS connections with.
15072        '''
15073        self.client_key = client_key if client_key is not None else ''
15074        '''
15075         The key to authenticate TLS connections with.
15076        '''
15077        self.egress_filter = egress_filter if egress_filter is not None else ''
15078        '''
15079         A filter applied to the routing logic to pin datasource to nodes.
15080        '''
15081        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15082        '''
15083         The path used to check the health of your connection.  Defaults to `default`.
15084        '''
15085        self.healthy = healthy if healthy is not None else False
15086        '''
15087         True if the datasource is reachable and the credentials are valid.
15088        '''
15089        self.hostname = hostname if hostname is not None else ''
15090        '''
15091         The host to dial to initiate a connection from the egress node to this resource.
15092        '''
15093        self.id = id if id is not None else ''
15094        '''
15095         Unique identifier of the Resource.
15096        '''
15097        self.name = name if name is not None else ''
15098        '''
15099         Unique human-readable name of the Resource.
15100        '''
15101        self.port = port if port is not None else 0
15102        '''
15103         The port to dial to initiate a connection from the egress node to this resource.
15104        '''
15105        self.port_override = port_override if port_override is not None else 0
15106        '''
15107         The local port used by clients to connect to this resource.
15108        '''
15109        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15110        '''
15111         ID of the proxy cluster for this resource, if any.
15112        '''
15113        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15114        '''
15115         ID of the secret store containing credentials for this resource, if any.
15116        '''
15117        self.subdomain = subdomain if subdomain is not None else ''
15118        '''
15119         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15120        '''
15121        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15122        '''
15123         Tags is a map of key, value pairs.
15124        '''
15125
15126    def __repr__(self):
15127        return '<sdm.KubernetesUserImpersonation ' + \
15128            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15129            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15130            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15131            'client_key: ' + repr(self.client_key) + ' ' +\
15132            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15133            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15134            'healthy: ' + repr(self.healthy) + ' ' +\
15135            'hostname: ' + repr(self.hostname) + ' ' +\
15136            'id: ' + repr(self.id) + ' ' +\
15137            'name: ' + repr(self.name) + ' ' +\
15138            'port: ' + repr(self.port) + ' ' +\
15139            'port_override: ' + repr(self.port_override) + ' ' +\
15140            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15141            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15142            'subdomain: ' + repr(self.subdomain) + ' ' +\
15143            'tags: ' + repr(self.tags) + ' ' +\
15144            '>'
15145
15146    def to_dict(self):
15147        return {
15148            'bind_interface': self.bind_interface,
15149            'certificate_authority': self.certificate_authority,
15150            'client_certificate': self.client_certificate,
15151            'client_key': self.client_key,
15152            'egress_filter': self.egress_filter,
15153            'healthcheck_namespace': self.healthcheck_namespace,
15154            'healthy': self.healthy,
15155            'hostname': self.hostname,
15156            'id': self.id,
15157            'name': self.name,
15158            'port': self.port,
15159            'port_override': self.port_override,
15160            'proxy_cluster_id': self.proxy_cluster_id,
15161            'secret_store_id': self.secret_store_id,
15162            'subdomain': self.subdomain,
15163            'tags': self.tags,
15164        }
15165
15166    @classmethod
15167    def from_dict(cls, d):
15168        return cls(
15169            bind_interface=d.get('bind_interface'),
15170            certificate_authority=d.get('certificate_authority'),
15171            client_certificate=d.get('client_certificate'),
15172            client_key=d.get('client_key'),
15173            egress_filter=d.get('egress_filter'),
15174            healthcheck_namespace=d.get('healthcheck_namespace'),
15175            healthy=d.get('healthy'),
15176            hostname=d.get('hostname'),
15177            id=d.get('id'),
15178            name=d.get('name'),
15179            port=d.get('port'),
15180            port_override=d.get('port_override'),
15181            proxy_cluster_id=d.get('proxy_cluster_id'),
15182            secret_store_id=d.get('secret_store_id'),
15183            subdomain=d.get('subdomain'),
15184            tags=d.get('tags'),
15185        )
15186
15187
15188class MTLSMysql:
15189    '''
15190    MTLSMysql is currently unstable, and its API may change, or it may be removed,
15191    without a major version bump.
15192    '''
15193    __slots__ = [
15194        'bind_interface',
15195        'certificate_authority',
15196        'client_certificate',
15197        'client_key',
15198        'database',
15199        'egress_filter',
15200        'healthy',
15201        'hostname',
15202        'id',
15203        'name',
15204        'password',
15205        'port',
15206        'port_override',
15207        'proxy_cluster_id',
15208        'require_native_auth',
15209        'secret_store_id',
15210        'server_name',
15211        'subdomain',
15212        'tags',
15213        'use_azure_single_server_usernames',
15214        'username',
15215    ]
15216
15217    def __init__(
15218        self,
15219        bind_interface=None,
15220        certificate_authority=None,
15221        client_certificate=None,
15222        client_key=None,
15223        database=None,
15224        egress_filter=None,
15225        healthy=None,
15226        hostname=None,
15227        id=None,
15228        name=None,
15229        password=None,
15230        port=None,
15231        port_override=None,
15232        proxy_cluster_id=None,
15233        require_native_auth=None,
15234        secret_store_id=None,
15235        server_name=None,
15236        subdomain=None,
15237        tags=None,
15238        use_azure_single_server_usernames=None,
15239        username=None,
15240    ):
15241        self.bind_interface = bind_interface if bind_interface is not None else ''
15242        '''
15243         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15244        '''
15245        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15246        '''
15247         The CA to authenticate TLS connections with.
15248        '''
15249        self.client_certificate = client_certificate if client_certificate is not None else ''
15250        '''
15251         The certificate to authenticate TLS connections with.
15252        '''
15253        self.client_key = client_key if client_key is not None else ''
15254        '''
15255         The key to authenticate TLS connections with.
15256        '''
15257        self.database = database if database is not None else ''
15258        '''
15259         The database for healthchecks. Does not affect client requests.
15260        '''
15261        self.egress_filter = egress_filter if egress_filter is not None else ''
15262        '''
15263         A filter applied to the routing logic to pin datasource to nodes.
15264        '''
15265        self.healthy = healthy if healthy is not None else False
15266        '''
15267         True if the datasource is reachable and the credentials are valid.
15268        '''
15269        self.hostname = hostname if hostname is not None else ''
15270        '''
15271         The host to dial to initiate a connection from the egress node to this resource.
15272        '''
15273        self.id = id if id is not None else ''
15274        '''
15275         Unique identifier of the Resource.
15276        '''
15277        self.name = name if name is not None else ''
15278        '''
15279         Unique human-readable name of the Resource.
15280        '''
15281        self.password = password if password is not None else ''
15282        '''
15283         The password to authenticate with.
15284        '''
15285        self.port = port if port is not None else 0
15286        '''
15287         The port to dial to initiate a connection from the egress node to this resource.
15288        '''
15289        self.port_override = port_override if port_override is not None else 0
15290        '''
15291         The local port used by clients to connect to this resource.
15292        '''
15293        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15294        '''
15295         ID of the proxy cluster for this resource, if any.
15296        '''
15297        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15298        '''
15299         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15300        '''
15301        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15302        '''
15303         ID of the secret store containing credentials for this resource, if any.
15304        '''
15305        self.server_name = server_name if server_name is not None else ''
15306        '''
15307         Server name for TLS verification (unverified by StrongDM if empty)
15308        '''
15309        self.subdomain = subdomain if subdomain is not None else ''
15310        '''
15311         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15312        '''
15313        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15314        '''
15315         Tags is a map of key, value pairs.
15316        '''
15317        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15318        '''
15319         If true, appends the hostname to the username when hitting a database.azure.com address
15320        '''
15321        self.username = username if username is not None else ''
15322        '''
15323         The username to authenticate with.
15324        '''
15325
15326    def __repr__(self):
15327        return '<sdm.MTLSMysql ' + \
15328            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15329            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15330            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15331            'client_key: ' + repr(self.client_key) + ' ' +\
15332            'database: ' + repr(self.database) + ' ' +\
15333            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15334            'healthy: ' + repr(self.healthy) + ' ' +\
15335            'hostname: ' + repr(self.hostname) + ' ' +\
15336            'id: ' + repr(self.id) + ' ' +\
15337            'name: ' + repr(self.name) + ' ' +\
15338            'password: ' + repr(self.password) + ' ' +\
15339            'port: ' + repr(self.port) + ' ' +\
15340            'port_override: ' + repr(self.port_override) + ' ' +\
15341            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15342            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
15343            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15344            'server_name: ' + repr(self.server_name) + ' ' +\
15345            'subdomain: ' + repr(self.subdomain) + ' ' +\
15346            'tags: ' + repr(self.tags) + ' ' +\
15347            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
15348            'username: ' + repr(self.username) + ' ' +\
15349            '>'
15350
15351    def to_dict(self):
15352        return {
15353            'bind_interface': self.bind_interface,
15354            'certificate_authority': self.certificate_authority,
15355            'client_certificate': self.client_certificate,
15356            'client_key': self.client_key,
15357            'database': self.database,
15358            'egress_filter': self.egress_filter,
15359            'healthy': self.healthy,
15360            'hostname': self.hostname,
15361            'id': self.id,
15362            'name': self.name,
15363            'password': self.password,
15364            'port': self.port,
15365            'port_override': self.port_override,
15366            'proxy_cluster_id': self.proxy_cluster_id,
15367            'require_native_auth': self.require_native_auth,
15368            'secret_store_id': self.secret_store_id,
15369            'server_name': self.server_name,
15370            'subdomain': self.subdomain,
15371            'tags': self.tags,
15372            'use_azure_single_server_usernames':
15373            self.use_azure_single_server_usernames,
15374            'username': self.username,
15375        }
15376
15377    @classmethod
15378    def from_dict(cls, d):
15379        return cls(
15380            bind_interface=d.get('bind_interface'),
15381            certificate_authority=d.get('certificate_authority'),
15382            client_certificate=d.get('client_certificate'),
15383            client_key=d.get('client_key'),
15384            database=d.get('database'),
15385            egress_filter=d.get('egress_filter'),
15386            healthy=d.get('healthy'),
15387            hostname=d.get('hostname'),
15388            id=d.get('id'),
15389            name=d.get('name'),
15390            password=d.get('password'),
15391            port=d.get('port'),
15392            port_override=d.get('port_override'),
15393            proxy_cluster_id=d.get('proxy_cluster_id'),
15394            require_native_auth=d.get('require_native_auth'),
15395            secret_store_id=d.get('secret_store_id'),
15396            server_name=d.get('server_name'),
15397            subdomain=d.get('subdomain'),
15398            tags=d.get('tags'),
15399            use_azure_single_server_usernames=d.get(
15400                'use_azure_single_server_usernames'),
15401            username=d.get('username'),
15402        )
15403
15404
15405class MTLSPostgres:
15406    __slots__ = [
15407        'bind_interface',
15408        'certificate_authority',
15409        'client_certificate',
15410        'client_key',
15411        'database',
15412        'egress_filter',
15413        'healthy',
15414        'hostname',
15415        'id',
15416        'name',
15417        'override_database',
15418        'password',
15419        'port',
15420        'port_override',
15421        'proxy_cluster_id',
15422        'secret_store_id',
15423        'server_name',
15424        'subdomain',
15425        'tags',
15426        'username',
15427    ]
15428
15429    def __init__(
15430        self,
15431        bind_interface=None,
15432        certificate_authority=None,
15433        client_certificate=None,
15434        client_key=None,
15435        database=None,
15436        egress_filter=None,
15437        healthy=None,
15438        hostname=None,
15439        id=None,
15440        name=None,
15441        override_database=None,
15442        password=None,
15443        port=None,
15444        port_override=None,
15445        proxy_cluster_id=None,
15446        secret_store_id=None,
15447        server_name=None,
15448        subdomain=None,
15449        tags=None,
15450        username=None,
15451    ):
15452        self.bind_interface = bind_interface if bind_interface is not None else ''
15453        '''
15454         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15455        '''
15456        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15457        '''
15458         The CA to authenticate TLS connections with.
15459        '''
15460        self.client_certificate = client_certificate if client_certificate is not None else ''
15461        '''
15462         The certificate to authenticate TLS connections with.
15463        '''
15464        self.client_key = client_key if client_key is not None else ''
15465        '''
15466         The key to authenticate TLS connections with.
15467        '''
15468        self.database = database if database is not None else ''
15469        '''
15470         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15471        '''
15472        self.egress_filter = egress_filter if egress_filter is not None else ''
15473        '''
15474         A filter applied to the routing logic to pin datasource to nodes.
15475        '''
15476        self.healthy = healthy if healthy is not None else False
15477        '''
15478         True if the datasource is reachable and the credentials are valid.
15479        '''
15480        self.hostname = hostname if hostname is not None else ''
15481        '''
15482         The host to dial to initiate a connection from the egress node to this resource.
15483        '''
15484        self.id = id if id is not None else ''
15485        '''
15486         Unique identifier of the Resource.
15487        '''
15488        self.name = name if name is not None else ''
15489        '''
15490         Unique human-readable name of the Resource.
15491        '''
15492        self.override_database = override_database if override_database is not None else False
15493        '''
15494         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.
15495        '''
15496        self.password = password if password is not None else ''
15497        '''
15498         The password to authenticate with.
15499        '''
15500        self.port = port if port is not None else 0
15501        '''
15502         The port to dial to initiate a connection from the egress node to this resource.
15503        '''
15504        self.port_override = port_override if port_override is not None else 0
15505        '''
15506         The local port used by clients to connect to this resource.
15507        '''
15508        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15509        '''
15510         ID of the proxy cluster for this resource, if any.
15511        '''
15512        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15513        '''
15514         ID of the secret store containing credentials for this resource, if any.
15515        '''
15516        self.server_name = server_name if server_name is not None else ''
15517        '''
15518         Server name for TLS verification (unverified by StrongDM if empty)
15519        '''
15520        self.subdomain = subdomain if subdomain is not None else ''
15521        '''
15522         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15523        '''
15524        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15525        '''
15526         Tags is a map of key, value pairs.
15527        '''
15528        self.username = username if username is not None else ''
15529        '''
15530         The username to authenticate with.
15531        '''
15532
15533    def __repr__(self):
15534        return '<sdm.MTLSPostgres ' + \
15535            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15536            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15537            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15538            'client_key: ' + repr(self.client_key) + ' ' +\
15539            'database: ' + repr(self.database) + ' ' +\
15540            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15541            'healthy: ' + repr(self.healthy) + ' ' +\
15542            'hostname: ' + repr(self.hostname) + ' ' +\
15543            'id: ' + repr(self.id) + ' ' +\
15544            'name: ' + repr(self.name) + ' ' +\
15545            'override_database: ' + repr(self.override_database) + ' ' +\
15546            'password: ' + repr(self.password) + ' ' +\
15547            'port: ' + repr(self.port) + ' ' +\
15548            'port_override: ' + repr(self.port_override) + ' ' +\
15549            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15550            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15551            'server_name: ' + repr(self.server_name) + ' ' +\
15552            'subdomain: ' + repr(self.subdomain) + ' ' +\
15553            'tags: ' + repr(self.tags) + ' ' +\
15554            'username: ' + repr(self.username) + ' ' +\
15555            '>'
15556
15557    def to_dict(self):
15558        return {
15559            'bind_interface': self.bind_interface,
15560            'certificate_authority': self.certificate_authority,
15561            'client_certificate': self.client_certificate,
15562            'client_key': self.client_key,
15563            'database': self.database,
15564            'egress_filter': self.egress_filter,
15565            'healthy': self.healthy,
15566            'hostname': self.hostname,
15567            'id': self.id,
15568            'name': self.name,
15569            'override_database': self.override_database,
15570            'password': self.password,
15571            'port': self.port,
15572            'port_override': self.port_override,
15573            'proxy_cluster_id': self.proxy_cluster_id,
15574            'secret_store_id': self.secret_store_id,
15575            'server_name': self.server_name,
15576            'subdomain': self.subdomain,
15577            'tags': self.tags,
15578            'username': self.username,
15579        }
15580
15581    @classmethod
15582    def from_dict(cls, d):
15583        return cls(
15584            bind_interface=d.get('bind_interface'),
15585            certificate_authority=d.get('certificate_authority'),
15586            client_certificate=d.get('client_certificate'),
15587            client_key=d.get('client_key'),
15588            database=d.get('database'),
15589            egress_filter=d.get('egress_filter'),
15590            healthy=d.get('healthy'),
15591            hostname=d.get('hostname'),
15592            id=d.get('id'),
15593            name=d.get('name'),
15594            override_database=d.get('override_database'),
15595            password=d.get('password'),
15596            port=d.get('port'),
15597            port_override=d.get('port_override'),
15598            proxy_cluster_id=d.get('proxy_cluster_id'),
15599            secret_store_id=d.get('secret_store_id'),
15600            server_name=d.get('server_name'),
15601            subdomain=d.get('subdomain'),
15602            tags=d.get('tags'),
15603            username=d.get('username'),
15604        )
15605
15606
15607class Maria:
15608    __slots__ = [
15609        'bind_interface',
15610        'database',
15611        'egress_filter',
15612        'healthy',
15613        'hostname',
15614        'id',
15615        'name',
15616        'password',
15617        'port',
15618        'port_override',
15619        'proxy_cluster_id',
15620        'require_native_auth',
15621        'secret_store_id',
15622        'subdomain',
15623        'tags',
15624        'use_azure_single_server_usernames',
15625        'username',
15626    ]
15627
15628    def __init__(
15629        self,
15630        bind_interface=None,
15631        database=None,
15632        egress_filter=None,
15633        healthy=None,
15634        hostname=None,
15635        id=None,
15636        name=None,
15637        password=None,
15638        port=None,
15639        port_override=None,
15640        proxy_cluster_id=None,
15641        require_native_auth=None,
15642        secret_store_id=None,
15643        subdomain=None,
15644        tags=None,
15645        use_azure_single_server_usernames=None,
15646        username=None,
15647    ):
15648        self.bind_interface = bind_interface if bind_interface is not None else ''
15649        '''
15650         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15651        '''
15652        self.database = database if database is not None else ''
15653        '''
15654         The database for healthchecks. Does not affect client requests.
15655        '''
15656        self.egress_filter = egress_filter if egress_filter is not None else ''
15657        '''
15658         A filter applied to the routing logic to pin datasource to nodes.
15659        '''
15660        self.healthy = healthy if healthy is not None else False
15661        '''
15662         True if the datasource is reachable and the credentials are valid.
15663        '''
15664        self.hostname = hostname if hostname is not None else ''
15665        '''
15666         The host to dial to initiate a connection from the egress node to this resource.
15667        '''
15668        self.id = id if id is not None else ''
15669        '''
15670         Unique identifier of the Resource.
15671        '''
15672        self.name = name if name is not None else ''
15673        '''
15674         Unique human-readable name of the Resource.
15675        '''
15676        self.password = password if password is not None else ''
15677        '''
15678         The password to authenticate with.
15679        '''
15680        self.port = port if port is not None else 0
15681        '''
15682         The port to dial to initiate a connection from the egress node to this resource.
15683        '''
15684        self.port_override = port_override if port_override is not None else 0
15685        '''
15686         The local port used by clients to connect to this resource.
15687        '''
15688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15689        '''
15690         ID of the proxy cluster for this resource, if any.
15691        '''
15692        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15693        '''
15694         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15695        '''
15696        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15697        '''
15698         ID of the secret store containing credentials for this resource, if any.
15699        '''
15700        self.subdomain = subdomain if subdomain is not None else ''
15701        '''
15702         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15703        '''
15704        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15705        '''
15706         Tags is a map of key, value pairs.
15707        '''
15708        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15709        '''
15710         If true, appends the hostname to the username when hitting a database.azure.com address
15711        '''
15712        self.username = username if username is not None else ''
15713        '''
15714         The username to authenticate with.
15715        '''
15716
15717    def __repr__(self):
15718        return '<sdm.Maria ' + \
15719            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15720            'database: ' + repr(self.database) + ' ' +\
15721            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15722            'healthy: ' + repr(self.healthy) + ' ' +\
15723            'hostname: ' + repr(self.hostname) + ' ' +\
15724            'id: ' + repr(self.id) + ' ' +\
15725            'name: ' + repr(self.name) + ' ' +\
15726            'password: ' + repr(self.password) + ' ' +\
15727            'port: ' + repr(self.port) + ' ' +\
15728            'port_override: ' + repr(self.port_override) + ' ' +\
15729            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15730            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
15731            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15732            'subdomain: ' + repr(self.subdomain) + ' ' +\
15733            'tags: ' + repr(self.tags) + ' ' +\
15734            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
15735            'username: ' + repr(self.username) + ' ' +\
15736            '>'
15737
15738    def to_dict(self):
15739        return {
15740            'bind_interface': self.bind_interface,
15741            'database': self.database,
15742            'egress_filter': self.egress_filter,
15743            'healthy': self.healthy,
15744            'hostname': self.hostname,
15745            'id': self.id,
15746            'name': self.name,
15747            'password': self.password,
15748            'port': self.port,
15749            'port_override': self.port_override,
15750            'proxy_cluster_id': self.proxy_cluster_id,
15751            'require_native_auth': self.require_native_auth,
15752            'secret_store_id': self.secret_store_id,
15753            'subdomain': self.subdomain,
15754            'tags': self.tags,
15755            'use_azure_single_server_usernames':
15756            self.use_azure_single_server_usernames,
15757            'username': self.username,
15758        }
15759
15760    @classmethod
15761    def from_dict(cls, d):
15762        return cls(
15763            bind_interface=d.get('bind_interface'),
15764            database=d.get('database'),
15765            egress_filter=d.get('egress_filter'),
15766            healthy=d.get('healthy'),
15767            hostname=d.get('hostname'),
15768            id=d.get('id'),
15769            name=d.get('name'),
15770            password=d.get('password'),
15771            port=d.get('port'),
15772            port_override=d.get('port_override'),
15773            proxy_cluster_id=d.get('proxy_cluster_id'),
15774            require_native_auth=d.get('require_native_auth'),
15775            secret_store_id=d.get('secret_store_id'),
15776            subdomain=d.get('subdomain'),
15777            tags=d.get('tags'),
15778            use_azure_single_server_usernames=d.get(
15779                'use_azure_single_server_usernames'),
15780            username=d.get('username'),
15781        )
15782
15783
15784class Memcached:
15785    __slots__ = [
15786        'bind_interface',
15787        'egress_filter',
15788        'healthy',
15789        'hostname',
15790        'id',
15791        'name',
15792        'port',
15793        'port_override',
15794        'proxy_cluster_id',
15795        'secret_store_id',
15796        'subdomain',
15797        'tags',
15798    ]
15799
15800    def __init__(
15801        self,
15802        bind_interface=None,
15803        egress_filter=None,
15804        healthy=None,
15805        hostname=None,
15806        id=None,
15807        name=None,
15808        port=None,
15809        port_override=None,
15810        proxy_cluster_id=None,
15811        secret_store_id=None,
15812        subdomain=None,
15813        tags=None,
15814    ):
15815        self.bind_interface = bind_interface if bind_interface is not None else ''
15816        '''
15817         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15818        '''
15819        self.egress_filter = egress_filter if egress_filter is not None else ''
15820        '''
15821         A filter applied to the routing logic to pin datasource to nodes.
15822        '''
15823        self.healthy = healthy if healthy is not None else False
15824        '''
15825         True if the datasource is reachable and the credentials are valid.
15826        '''
15827        self.hostname = hostname if hostname is not None else ''
15828        '''
15829         The host to dial to initiate a connection from the egress node to this resource.
15830        '''
15831        self.id = id if id is not None else ''
15832        '''
15833         Unique identifier of the Resource.
15834        '''
15835        self.name = name if name is not None else ''
15836        '''
15837         Unique human-readable name of the Resource.
15838        '''
15839        self.port = port if port is not None else 0
15840        '''
15841         The port to dial to initiate a connection from the egress node to this resource.
15842        '''
15843        self.port_override = port_override if port_override is not None else 0
15844        '''
15845         The local port used by clients to connect to this resource.
15846        '''
15847        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15848        '''
15849         ID of the proxy cluster for this resource, if any.
15850        '''
15851        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15852        '''
15853         ID of the secret store containing credentials for this resource, if any.
15854        '''
15855        self.subdomain = subdomain if subdomain is not None else ''
15856        '''
15857         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15858        '''
15859        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15860        '''
15861         Tags is a map of key, value pairs.
15862        '''
15863
15864    def __repr__(self):
15865        return '<sdm.Memcached ' + \
15866            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15867            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15868            'healthy: ' + repr(self.healthy) + ' ' +\
15869            'hostname: ' + repr(self.hostname) + ' ' +\
15870            'id: ' + repr(self.id) + ' ' +\
15871            'name: ' + repr(self.name) + ' ' +\
15872            'port: ' + repr(self.port) + ' ' +\
15873            'port_override: ' + repr(self.port_override) + ' ' +\
15874            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15875            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15876            'subdomain: ' + repr(self.subdomain) + ' ' +\
15877            'tags: ' + repr(self.tags) + ' ' +\
15878            '>'
15879
15880    def to_dict(self):
15881        return {
15882            'bind_interface': self.bind_interface,
15883            'egress_filter': self.egress_filter,
15884            'healthy': self.healthy,
15885            'hostname': self.hostname,
15886            'id': self.id,
15887            'name': self.name,
15888            'port': self.port,
15889            'port_override': self.port_override,
15890            'proxy_cluster_id': self.proxy_cluster_id,
15891            'secret_store_id': self.secret_store_id,
15892            'subdomain': self.subdomain,
15893            'tags': self.tags,
15894        }
15895
15896    @classmethod
15897    def from_dict(cls, d):
15898        return cls(
15899            bind_interface=d.get('bind_interface'),
15900            egress_filter=d.get('egress_filter'),
15901            healthy=d.get('healthy'),
15902            hostname=d.get('hostname'),
15903            id=d.get('id'),
15904            name=d.get('name'),
15905            port=d.get('port'),
15906            port_override=d.get('port_override'),
15907            proxy_cluster_id=d.get('proxy_cluster_id'),
15908            secret_store_id=d.get('secret_store_id'),
15909            subdomain=d.get('subdomain'),
15910            tags=d.get('tags'),
15911        )
15912
15913
15914class Memsql:
15915    __slots__ = [
15916        'bind_interface',
15917        'database',
15918        'egress_filter',
15919        'healthy',
15920        'hostname',
15921        'id',
15922        'name',
15923        'password',
15924        'port',
15925        'port_override',
15926        'proxy_cluster_id',
15927        'require_native_auth',
15928        'secret_store_id',
15929        'subdomain',
15930        'tags',
15931        'use_azure_single_server_usernames',
15932        'username',
15933    ]
15934
15935    def __init__(
15936        self,
15937        bind_interface=None,
15938        database=None,
15939        egress_filter=None,
15940        healthy=None,
15941        hostname=None,
15942        id=None,
15943        name=None,
15944        password=None,
15945        port=None,
15946        port_override=None,
15947        proxy_cluster_id=None,
15948        require_native_auth=None,
15949        secret_store_id=None,
15950        subdomain=None,
15951        tags=None,
15952        use_azure_single_server_usernames=None,
15953        username=None,
15954    ):
15955        self.bind_interface = bind_interface if bind_interface is not None else ''
15956        '''
15957         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15958        '''
15959        self.database = database if database is not None else ''
15960        '''
15961         The database for healthchecks. Does not affect client requests.
15962        '''
15963        self.egress_filter = egress_filter if egress_filter is not None else ''
15964        '''
15965         A filter applied to the routing logic to pin datasource to nodes.
15966        '''
15967        self.healthy = healthy if healthy is not None else False
15968        '''
15969         True if the datasource is reachable and the credentials are valid.
15970        '''
15971        self.hostname = hostname if hostname is not None else ''
15972        '''
15973         The host to dial to initiate a connection from the egress node to this resource.
15974        '''
15975        self.id = id if id is not None else ''
15976        '''
15977         Unique identifier of the Resource.
15978        '''
15979        self.name = name if name is not None else ''
15980        '''
15981         Unique human-readable name of the Resource.
15982        '''
15983        self.password = password if password is not None else ''
15984        '''
15985         The password to authenticate with.
15986        '''
15987        self.port = port if port is not None else 0
15988        '''
15989         The port to dial to initiate a connection from the egress node to this resource.
15990        '''
15991        self.port_override = port_override if port_override is not None else 0
15992        '''
15993         The local port used by clients to connect to this resource.
15994        '''
15995        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15996        '''
15997         ID of the proxy cluster for this resource, if any.
15998        '''
15999        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16000        '''
16001         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16002        '''
16003        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16004        '''
16005         ID of the secret store containing credentials for this resource, if any.
16006        '''
16007        self.subdomain = subdomain if subdomain is not None else ''
16008        '''
16009         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16010        '''
16011        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16012        '''
16013         Tags is a map of key, value pairs.
16014        '''
16015        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16016        '''
16017         If true, appends the hostname to the username when hitting a database.azure.com address
16018        '''
16019        self.username = username if username is not None else ''
16020        '''
16021         The username to authenticate with.
16022        '''
16023
16024    def __repr__(self):
16025        return '<sdm.Memsql ' + \
16026            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16027            'database: ' + repr(self.database) + ' ' +\
16028            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16029            'healthy: ' + repr(self.healthy) + ' ' +\
16030            'hostname: ' + repr(self.hostname) + ' ' +\
16031            'id: ' + repr(self.id) + ' ' +\
16032            'name: ' + repr(self.name) + ' ' +\
16033            'password: ' + repr(self.password) + ' ' +\
16034            'port: ' + repr(self.port) + ' ' +\
16035            'port_override: ' + repr(self.port_override) + ' ' +\
16036            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16037            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16038            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16039            'subdomain: ' + repr(self.subdomain) + ' ' +\
16040            'tags: ' + repr(self.tags) + ' ' +\
16041            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16042            'username: ' + repr(self.username) + ' ' +\
16043            '>'
16044
16045    def to_dict(self):
16046        return {
16047            'bind_interface': self.bind_interface,
16048            'database': self.database,
16049            'egress_filter': self.egress_filter,
16050            'healthy': self.healthy,
16051            'hostname': self.hostname,
16052            'id': self.id,
16053            'name': self.name,
16054            'password': self.password,
16055            'port': self.port,
16056            'port_override': self.port_override,
16057            'proxy_cluster_id': self.proxy_cluster_id,
16058            'require_native_auth': self.require_native_auth,
16059            'secret_store_id': self.secret_store_id,
16060            'subdomain': self.subdomain,
16061            'tags': self.tags,
16062            'use_azure_single_server_usernames':
16063            self.use_azure_single_server_usernames,
16064            'username': self.username,
16065        }
16066
16067    @classmethod
16068    def from_dict(cls, d):
16069        return cls(
16070            bind_interface=d.get('bind_interface'),
16071            database=d.get('database'),
16072            egress_filter=d.get('egress_filter'),
16073            healthy=d.get('healthy'),
16074            hostname=d.get('hostname'),
16075            id=d.get('id'),
16076            name=d.get('name'),
16077            password=d.get('password'),
16078            port=d.get('port'),
16079            port_override=d.get('port_override'),
16080            proxy_cluster_id=d.get('proxy_cluster_id'),
16081            require_native_auth=d.get('require_native_auth'),
16082            secret_store_id=d.get('secret_store_id'),
16083            subdomain=d.get('subdomain'),
16084            tags=d.get('tags'),
16085            use_azure_single_server_usernames=d.get(
16086                'use_azure_single_server_usernames'),
16087            username=d.get('username'),
16088        )
16089
16090
16091class MongoHost:
16092    __slots__ = [
16093        'auth_database',
16094        'bind_interface',
16095        'egress_filter',
16096        'healthy',
16097        'hostname',
16098        'id',
16099        'name',
16100        'password',
16101        'port',
16102        'port_override',
16103        'proxy_cluster_id',
16104        'secret_store_id',
16105        'subdomain',
16106        'tags',
16107        'tls_required',
16108        'username',
16109    ]
16110
16111    def __init__(
16112        self,
16113        auth_database=None,
16114        bind_interface=None,
16115        egress_filter=None,
16116        healthy=None,
16117        hostname=None,
16118        id=None,
16119        name=None,
16120        password=None,
16121        port=None,
16122        port_override=None,
16123        proxy_cluster_id=None,
16124        secret_store_id=None,
16125        subdomain=None,
16126        tags=None,
16127        tls_required=None,
16128        username=None,
16129    ):
16130        self.auth_database = auth_database if auth_database is not None else ''
16131        '''
16132         The authentication database to use.
16133        '''
16134        self.bind_interface = bind_interface if bind_interface is not None else ''
16135        '''
16136         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16137        '''
16138        self.egress_filter = egress_filter if egress_filter is not None else ''
16139        '''
16140         A filter applied to the routing logic to pin datasource to nodes.
16141        '''
16142        self.healthy = healthy if healthy is not None else False
16143        '''
16144         True if the datasource is reachable and the credentials are valid.
16145        '''
16146        self.hostname = hostname if hostname is not None else ''
16147        '''
16148         The host to dial to initiate a connection from the egress node to this resource.
16149        '''
16150        self.id = id if id is not None else ''
16151        '''
16152         Unique identifier of the Resource.
16153        '''
16154        self.name = name if name is not None else ''
16155        '''
16156         Unique human-readable name of the Resource.
16157        '''
16158        self.password = password if password is not None else ''
16159        '''
16160         The password to authenticate with.
16161        '''
16162        self.port = port if port is not None else 0
16163        '''
16164         The port to dial to initiate a connection from the egress node to this resource.
16165        '''
16166        self.port_override = port_override if port_override is not None else 0
16167        '''
16168         The local port used by clients to connect to this resource.
16169        '''
16170        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16171        '''
16172         ID of the proxy cluster for this resource, if any.
16173        '''
16174        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16175        '''
16176         ID of the secret store containing credentials for this resource, if any.
16177        '''
16178        self.subdomain = subdomain if subdomain is not None else ''
16179        '''
16180         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16181        '''
16182        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16183        '''
16184         Tags is a map of key, value pairs.
16185        '''
16186        self.tls_required = tls_required if tls_required is not None else False
16187        '''
16188         If set, TLS must be used to connect to this resource.
16189        '''
16190        self.username = username if username is not None else ''
16191        '''
16192         The username to authenticate with.
16193        '''
16194
16195    def __repr__(self):
16196        return '<sdm.MongoHost ' + \
16197            'auth_database: ' + repr(self.auth_database) + ' ' +\
16198            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16199            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16200            'healthy: ' + repr(self.healthy) + ' ' +\
16201            'hostname: ' + repr(self.hostname) + ' ' +\
16202            'id: ' + repr(self.id) + ' ' +\
16203            'name: ' + repr(self.name) + ' ' +\
16204            'password: ' + repr(self.password) + ' ' +\
16205            'port: ' + repr(self.port) + ' ' +\
16206            'port_override: ' + repr(self.port_override) + ' ' +\
16207            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16208            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16209            'subdomain: ' + repr(self.subdomain) + ' ' +\
16210            'tags: ' + repr(self.tags) + ' ' +\
16211            'tls_required: ' + repr(self.tls_required) + ' ' +\
16212            'username: ' + repr(self.username) + ' ' +\
16213            '>'
16214
16215    def to_dict(self):
16216        return {
16217            'auth_database': self.auth_database,
16218            'bind_interface': self.bind_interface,
16219            'egress_filter': self.egress_filter,
16220            'healthy': self.healthy,
16221            'hostname': self.hostname,
16222            'id': self.id,
16223            'name': self.name,
16224            'password': self.password,
16225            'port': self.port,
16226            'port_override': self.port_override,
16227            'proxy_cluster_id': self.proxy_cluster_id,
16228            'secret_store_id': self.secret_store_id,
16229            'subdomain': self.subdomain,
16230            'tags': self.tags,
16231            'tls_required': self.tls_required,
16232            'username': self.username,
16233        }
16234
16235    @classmethod
16236    def from_dict(cls, d):
16237        return cls(
16238            auth_database=d.get('auth_database'),
16239            bind_interface=d.get('bind_interface'),
16240            egress_filter=d.get('egress_filter'),
16241            healthy=d.get('healthy'),
16242            hostname=d.get('hostname'),
16243            id=d.get('id'),
16244            name=d.get('name'),
16245            password=d.get('password'),
16246            port=d.get('port'),
16247            port_override=d.get('port_override'),
16248            proxy_cluster_id=d.get('proxy_cluster_id'),
16249            secret_store_id=d.get('secret_store_id'),
16250            subdomain=d.get('subdomain'),
16251            tags=d.get('tags'),
16252            tls_required=d.get('tls_required'),
16253            username=d.get('username'),
16254        )
16255
16256
16257class MongoLegacyHost:
16258    '''
16259    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
16260    without a major version bump.
16261    '''
16262    __slots__ = [
16263        'auth_database',
16264        'bind_interface',
16265        'egress_filter',
16266        'healthy',
16267        'hostname',
16268        'id',
16269        'name',
16270        'password',
16271        'port',
16272        'port_override',
16273        'proxy_cluster_id',
16274        'secret_store_id',
16275        'subdomain',
16276        'tags',
16277        'tls_required',
16278        'username',
16279    ]
16280
16281    def __init__(
16282        self,
16283        auth_database=None,
16284        bind_interface=None,
16285        egress_filter=None,
16286        healthy=None,
16287        hostname=None,
16288        id=None,
16289        name=None,
16290        password=None,
16291        port=None,
16292        port_override=None,
16293        proxy_cluster_id=None,
16294        secret_store_id=None,
16295        subdomain=None,
16296        tags=None,
16297        tls_required=None,
16298        username=None,
16299    ):
16300        self.auth_database = auth_database if auth_database is not None else ''
16301        '''
16302         The authentication database to use.
16303        '''
16304        self.bind_interface = bind_interface if bind_interface is not None else ''
16305        '''
16306         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16307        '''
16308        self.egress_filter = egress_filter if egress_filter is not None else ''
16309        '''
16310         A filter applied to the routing logic to pin datasource to nodes.
16311        '''
16312        self.healthy = healthy if healthy is not None else False
16313        '''
16314         True if the datasource is reachable and the credentials are valid.
16315        '''
16316        self.hostname = hostname if hostname is not None else ''
16317        '''
16318         The host to dial to initiate a connection from the egress node to this resource.
16319        '''
16320        self.id = id if id is not None else ''
16321        '''
16322         Unique identifier of the Resource.
16323        '''
16324        self.name = name if name is not None else ''
16325        '''
16326         Unique human-readable name of the Resource.
16327        '''
16328        self.password = password if password is not None else ''
16329        '''
16330         The password to authenticate with.
16331        '''
16332        self.port = port if port is not None else 0
16333        '''
16334         The port to dial to initiate a connection from the egress node to this resource.
16335        '''
16336        self.port_override = port_override if port_override is not None else 0
16337        '''
16338         The local port used by clients to connect to this resource.
16339        '''
16340        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16341        '''
16342         ID of the proxy cluster for this resource, if any.
16343        '''
16344        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16345        '''
16346         ID of the secret store containing credentials for this resource, if any.
16347        '''
16348        self.subdomain = subdomain if subdomain is not None else ''
16349        '''
16350         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16351        '''
16352        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16353        '''
16354         Tags is a map of key, value pairs.
16355        '''
16356        self.tls_required = tls_required if tls_required is not None else False
16357        '''
16358         If set, TLS must be used to connect to this resource.
16359        '''
16360        self.username = username if username is not None else ''
16361        '''
16362         The username to authenticate with.
16363        '''
16364
16365    def __repr__(self):
16366        return '<sdm.MongoLegacyHost ' + \
16367            'auth_database: ' + repr(self.auth_database) + ' ' +\
16368            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16369            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16370            'healthy: ' + repr(self.healthy) + ' ' +\
16371            'hostname: ' + repr(self.hostname) + ' ' +\
16372            'id: ' + repr(self.id) + ' ' +\
16373            'name: ' + repr(self.name) + ' ' +\
16374            'password: ' + repr(self.password) + ' ' +\
16375            'port: ' + repr(self.port) + ' ' +\
16376            'port_override: ' + repr(self.port_override) + ' ' +\
16377            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16378            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16379            'subdomain: ' + repr(self.subdomain) + ' ' +\
16380            'tags: ' + repr(self.tags) + ' ' +\
16381            'tls_required: ' + repr(self.tls_required) + ' ' +\
16382            'username: ' + repr(self.username) + ' ' +\
16383            '>'
16384
16385    def to_dict(self):
16386        return {
16387            'auth_database': self.auth_database,
16388            'bind_interface': self.bind_interface,
16389            'egress_filter': self.egress_filter,
16390            'healthy': self.healthy,
16391            'hostname': self.hostname,
16392            'id': self.id,
16393            'name': self.name,
16394            'password': self.password,
16395            'port': self.port,
16396            'port_override': self.port_override,
16397            'proxy_cluster_id': self.proxy_cluster_id,
16398            'secret_store_id': self.secret_store_id,
16399            'subdomain': self.subdomain,
16400            'tags': self.tags,
16401            'tls_required': self.tls_required,
16402            'username': self.username,
16403        }
16404
16405    @classmethod
16406    def from_dict(cls, d):
16407        return cls(
16408            auth_database=d.get('auth_database'),
16409            bind_interface=d.get('bind_interface'),
16410            egress_filter=d.get('egress_filter'),
16411            healthy=d.get('healthy'),
16412            hostname=d.get('hostname'),
16413            id=d.get('id'),
16414            name=d.get('name'),
16415            password=d.get('password'),
16416            port=d.get('port'),
16417            port_override=d.get('port_override'),
16418            proxy_cluster_id=d.get('proxy_cluster_id'),
16419            secret_store_id=d.get('secret_store_id'),
16420            subdomain=d.get('subdomain'),
16421            tags=d.get('tags'),
16422            tls_required=d.get('tls_required'),
16423            username=d.get('username'),
16424        )
16425
16426
16427class MongoLegacyReplicaset:
16428    '''
16429    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
16430    without a major version bump.
16431    '''
16432    __slots__ = [
16433        'auth_database',
16434        'bind_interface',
16435        'connect_to_replica',
16436        'egress_filter',
16437        'healthy',
16438        'hostname',
16439        'id',
16440        'name',
16441        'password',
16442        'port',
16443        'port_override',
16444        'proxy_cluster_id',
16445        'replica_set',
16446        'secret_store_id',
16447        'subdomain',
16448        'tags',
16449        'tls_required',
16450        'username',
16451    ]
16452
16453    def __init__(
16454        self,
16455        auth_database=None,
16456        bind_interface=None,
16457        connect_to_replica=None,
16458        egress_filter=None,
16459        healthy=None,
16460        hostname=None,
16461        id=None,
16462        name=None,
16463        password=None,
16464        port=None,
16465        port_override=None,
16466        proxy_cluster_id=None,
16467        replica_set=None,
16468        secret_store_id=None,
16469        subdomain=None,
16470        tags=None,
16471        tls_required=None,
16472        username=None,
16473    ):
16474        self.auth_database = auth_database if auth_database is not None else ''
16475        '''
16476         The authentication database to use.
16477        '''
16478        self.bind_interface = bind_interface if bind_interface is not None else ''
16479        '''
16480         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16481        '''
16482        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
16483        '''
16484         Set to connect to a replica instead of the primary node.
16485        '''
16486        self.egress_filter = egress_filter if egress_filter is not None else ''
16487        '''
16488         A filter applied to the routing logic to pin datasource to nodes.
16489        '''
16490        self.healthy = healthy if healthy is not None else False
16491        '''
16492         True if the datasource is reachable and the credentials are valid.
16493        '''
16494        self.hostname = hostname if hostname is not None else ''
16495        '''
16496         The host to dial to initiate a connection from the egress node to this resource.
16497        '''
16498        self.id = id if id is not None else ''
16499        '''
16500         Unique identifier of the Resource.
16501        '''
16502        self.name = name if name is not None else ''
16503        '''
16504         Unique human-readable name of the Resource.
16505        '''
16506        self.password = password if password is not None else ''
16507        '''
16508         The password to authenticate with.
16509        '''
16510        self.port = port if port is not None else 0
16511        '''
16512         The port to dial to initiate a connection from the egress node to this resource.
16513        '''
16514        self.port_override = port_override if port_override is not None else 0
16515        '''
16516         The local port used by clients to connect to this resource.
16517        '''
16518        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16519        '''
16520         ID of the proxy cluster for this resource, if any.
16521        '''
16522        self.replica_set = replica_set if replica_set is not None else ''
16523        '''
16524         The name of the mongo replicaset.
16525        '''
16526        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16527        '''
16528         ID of the secret store containing credentials for this resource, if any.
16529        '''
16530        self.subdomain = subdomain if subdomain is not None else ''
16531        '''
16532         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16533        '''
16534        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16535        '''
16536         Tags is a map of key, value pairs.
16537        '''
16538        self.tls_required = tls_required if tls_required is not None else False
16539        '''
16540         If set, TLS must be used to connect to this resource.
16541        '''
16542        self.username = username if username is not None else ''
16543        '''
16544         The username to authenticate with.
16545        '''
16546
16547    def __repr__(self):
16548        return '<sdm.MongoLegacyReplicaset ' + \
16549            'auth_database: ' + repr(self.auth_database) + ' ' +\
16550            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16551            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
16552            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16553            'healthy: ' + repr(self.healthy) + ' ' +\
16554            'hostname: ' + repr(self.hostname) + ' ' +\
16555            'id: ' + repr(self.id) + ' ' +\
16556            'name: ' + repr(self.name) + ' ' +\
16557            'password: ' + repr(self.password) + ' ' +\
16558            'port: ' + repr(self.port) + ' ' +\
16559            'port_override: ' + repr(self.port_override) + ' ' +\
16560            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16561            'replica_set: ' + repr(self.replica_set) + ' ' +\
16562            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16563            'subdomain: ' + repr(self.subdomain) + ' ' +\
16564            'tags: ' + repr(self.tags) + ' ' +\
16565            'tls_required: ' + repr(self.tls_required) + ' ' +\
16566            'username: ' + repr(self.username) + ' ' +\
16567            '>'
16568
16569    def to_dict(self):
16570        return {
16571            'auth_database': self.auth_database,
16572            'bind_interface': self.bind_interface,
16573            'connect_to_replica': self.connect_to_replica,
16574            'egress_filter': self.egress_filter,
16575            'healthy': self.healthy,
16576            'hostname': self.hostname,
16577            'id': self.id,
16578            'name': self.name,
16579            'password': self.password,
16580            'port': self.port,
16581            'port_override': self.port_override,
16582            'proxy_cluster_id': self.proxy_cluster_id,
16583            'replica_set': self.replica_set,
16584            'secret_store_id': self.secret_store_id,
16585            'subdomain': self.subdomain,
16586            'tags': self.tags,
16587            'tls_required': self.tls_required,
16588            'username': self.username,
16589        }
16590
16591    @classmethod
16592    def from_dict(cls, d):
16593        return cls(
16594            auth_database=d.get('auth_database'),
16595            bind_interface=d.get('bind_interface'),
16596            connect_to_replica=d.get('connect_to_replica'),
16597            egress_filter=d.get('egress_filter'),
16598            healthy=d.get('healthy'),
16599            hostname=d.get('hostname'),
16600            id=d.get('id'),
16601            name=d.get('name'),
16602            password=d.get('password'),
16603            port=d.get('port'),
16604            port_override=d.get('port_override'),
16605            proxy_cluster_id=d.get('proxy_cluster_id'),
16606            replica_set=d.get('replica_set'),
16607            secret_store_id=d.get('secret_store_id'),
16608            subdomain=d.get('subdomain'),
16609            tags=d.get('tags'),
16610            tls_required=d.get('tls_required'),
16611            username=d.get('username'),
16612        )
16613
16614
16615class MongoReplicaSet:
16616    __slots__ = [
16617        'auth_database',
16618        'bind_interface',
16619        'connect_to_replica',
16620        'egress_filter',
16621        'healthy',
16622        'hostname',
16623        'id',
16624        'name',
16625        'password',
16626        'port',
16627        'port_override',
16628        'proxy_cluster_id',
16629        'replica_set',
16630        'secret_store_id',
16631        'subdomain',
16632        'tags',
16633        'tls_required',
16634        'username',
16635    ]
16636
16637    def __init__(
16638        self,
16639        auth_database=None,
16640        bind_interface=None,
16641        connect_to_replica=None,
16642        egress_filter=None,
16643        healthy=None,
16644        hostname=None,
16645        id=None,
16646        name=None,
16647        password=None,
16648        port=None,
16649        port_override=None,
16650        proxy_cluster_id=None,
16651        replica_set=None,
16652        secret_store_id=None,
16653        subdomain=None,
16654        tags=None,
16655        tls_required=None,
16656        username=None,
16657    ):
16658        self.auth_database = auth_database if auth_database is not None else ''
16659        '''
16660         The authentication database to use.
16661        '''
16662        self.bind_interface = bind_interface if bind_interface is not None else ''
16663        '''
16664         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16665        '''
16666        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
16667        '''
16668         Set to connect to a replica instead of the primary node.
16669        '''
16670        self.egress_filter = egress_filter if egress_filter is not None else ''
16671        '''
16672         A filter applied to the routing logic to pin datasource to nodes.
16673        '''
16674        self.healthy = healthy if healthy is not None else False
16675        '''
16676         True if the datasource is reachable and the credentials are valid.
16677        '''
16678        self.hostname = hostname if hostname is not None else ''
16679        '''
16680         The host to dial to initiate a connection from the egress node to this resource.
16681        '''
16682        self.id = id if id is not None else ''
16683        '''
16684         Unique identifier of the Resource.
16685        '''
16686        self.name = name if name is not None else ''
16687        '''
16688         Unique human-readable name of the Resource.
16689        '''
16690        self.password = password if password is not None else ''
16691        '''
16692         The password to authenticate with.
16693        '''
16694        self.port = port if port is not None else 0
16695        '''
16696         The port to dial to initiate a connection from the egress node to this resource.
16697        '''
16698        self.port_override = port_override if port_override is not None else 0
16699        '''
16700         The local port used by clients to connect to this resource.
16701        '''
16702        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16703        '''
16704         ID of the proxy cluster for this resource, if any.
16705        '''
16706        self.replica_set = replica_set if replica_set is not None else ''
16707        '''
16708         The name of the mongo replicaset.
16709        '''
16710        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16711        '''
16712         ID of the secret store containing credentials for this resource, if any.
16713        '''
16714        self.subdomain = subdomain if subdomain is not None else ''
16715        '''
16716         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16717        '''
16718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16719        '''
16720         Tags is a map of key, value pairs.
16721        '''
16722        self.tls_required = tls_required if tls_required is not None else False
16723        '''
16724         If set, TLS must be used to connect to this resource.
16725        '''
16726        self.username = username if username is not None else ''
16727        '''
16728         The username to authenticate with.
16729        '''
16730
16731    def __repr__(self):
16732        return '<sdm.MongoReplicaSet ' + \
16733            'auth_database: ' + repr(self.auth_database) + ' ' +\
16734            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16735            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
16736            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16737            'healthy: ' + repr(self.healthy) + ' ' +\
16738            'hostname: ' + repr(self.hostname) + ' ' +\
16739            'id: ' + repr(self.id) + ' ' +\
16740            'name: ' + repr(self.name) + ' ' +\
16741            'password: ' + repr(self.password) + ' ' +\
16742            'port: ' + repr(self.port) + ' ' +\
16743            'port_override: ' + repr(self.port_override) + ' ' +\
16744            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16745            'replica_set: ' + repr(self.replica_set) + ' ' +\
16746            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16747            'subdomain: ' + repr(self.subdomain) + ' ' +\
16748            'tags: ' + repr(self.tags) + ' ' +\
16749            'tls_required: ' + repr(self.tls_required) + ' ' +\
16750            'username: ' + repr(self.username) + ' ' +\
16751            '>'
16752
16753    def to_dict(self):
16754        return {
16755            'auth_database': self.auth_database,
16756            'bind_interface': self.bind_interface,
16757            'connect_to_replica': self.connect_to_replica,
16758            'egress_filter': self.egress_filter,
16759            'healthy': self.healthy,
16760            'hostname': self.hostname,
16761            'id': self.id,
16762            'name': self.name,
16763            'password': self.password,
16764            'port': self.port,
16765            'port_override': self.port_override,
16766            'proxy_cluster_id': self.proxy_cluster_id,
16767            'replica_set': self.replica_set,
16768            'secret_store_id': self.secret_store_id,
16769            'subdomain': self.subdomain,
16770            'tags': self.tags,
16771            'tls_required': self.tls_required,
16772            'username': self.username,
16773        }
16774
16775    @classmethod
16776    def from_dict(cls, d):
16777        return cls(
16778            auth_database=d.get('auth_database'),
16779            bind_interface=d.get('bind_interface'),
16780            connect_to_replica=d.get('connect_to_replica'),
16781            egress_filter=d.get('egress_filter'),
16782            healthy=d.get('healthy'),
16783            hostname=d.get('hostname'),
16784            id=d.get('id'),
16785            name=d.get('name'),
16786            password=d.get('password'),
16787            port=d.get('port'),
16788            port_override=d.get('port_override'),
16789            proxy_cluster_id=d.get('proxy_cluster_id'),
16790            replica_set=d.get('replica_set'),
16791            secret_store_id=d.get('secret_store_id'),
16792            subdomain=d.get('subdomain'),
16793            tags=d.get('tags'),
16794            tls_required=d.get('tls_required'),
16795            username=d.get('username'),
16796        )
16797
16798
16799class MongoShardedCluster:
16800    __slots__ = [
16801        'auth_database',
16802        'bind_interface',
16803        'egress_filter',
16804        'healthy',
16805        'hostname',
16806        'id',
16807        'name',
16808        'password',
16809        'port_override',
16810        'proxy_cluster_id',
16811        'secret_store_id',
16812        'subdomain',
16813        'tags',
16814        'tls_required',
16815        'username',
16816    ]
16817
16818    def __init__(
16819        self,
16820        auth_database=None,
16821        bind_interface=None,
16822        egress_filter=None,
16823        healthy=None,
16824        hostname=None,
16825        id=None,
16826        name=None,
16827        password=None,
16828        port_override=None,
16829        proxy_cluster_id=None,
16830        secret_store_id=None,
16831        subdomain=None,
16832        tags=None,
16833        tls_required=None,
16834        username=None,
16835    ):
16836        self.auth_database = auth_database if auth_database is not None else ''
16837        '''
16838         The authentication database to use.
16839        '''
16840        self.bind_interface = bind_interface if bind_interface is not None else ''
16841        '''
16842         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16843        '''
16844        self.egress_filter = egress_filter if egress_filter is not None else ''
16845        '''
16846         A filter applied to the routing logic to pin datasource to nodes.
16847        '''
16848        self.healthy = healthy if healthy is not None else False
16849        '''
16850         True if the datasource is reachable and the credentials are valid.
16851        '''
16852        self.hostname = hostname if hostname is not None else ''
16853        '''
16854         The host to dial to initiate a connection from the egress node to this resource.
16855        '''
16856        self.id = id if id is not None else ''
16857        '''
16858         Unique identifier of the Resource.
16859        '''
16860        self.name = name if name is not None else ''
16861        '''
16862         Unique human-readable name of the Resource.
16863        '''
16864        self.password = password if password is not None else ''
16865        '''
16866         The password to authenticate with.
16867        '''
16868        self.port_override = port_override if port_override is not None else 0
16869        '''
16870         The local port used by clients to connect to this resource.
16871        '''
16872        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16873        '''
16874         ID of the proxy cluster for this resource, if any.
16875        '''
16876        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16877        '''
16878         ID of the secret store containing credentials for this resource, if any.
16879        '''
16880        self.subdomain = subdomain if subdomain is not None else ''
16881        '''
16882         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16883        '''
16884        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16885        '''
16886         Tags is a map of key, value pairs.
16887        '''
16888        self.tls_required = tls_required if tls_required is not None else False
16889        '''
16890         If set, TLS must be used to connect to this resource.
16891        '''
16892        self.username = username if username is not None else ''
16893        '''
16894         The username to authenticate with.
16895        '''
16896
16897    def __repr__(self):
16898        return '<sdm.MongoShardedCluster ' + \
16899            'auth_database: ' + repr(self.auth_database) + ' ' +\
16900            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16901            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16902            'healthy: ' + repr(self.healthy) + ' ' +\
16903            'hostname: ' + repr(self.hostname) + ' ' +\
16904            'id: ' + repr(self.id) + ' ' +\
16905            'name: ' + repr(self.name) + ' ' +\
16906            'password: ' + repr(self.password) + ' ' +\
16907            'port_override: ' + repr(self.port_override) + ' ' +\
16908            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16909            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16910            'subdomain: ' + repr(self.subdomain) + ' ' +\
16911            'tags: ' + repr(self.tags) + ' ' +\
16912            'tls_required: ' + repr(self.tls_required) + ' ' +\
16913            'username: ' + repr(self.username) + ' ' +\
16914            '>'
16915
16916    def to_dict(self):
16917        return {
16918            'auth_database': self.auth_database,
16919            'bind_interface': self.bind_interface,
16920            'egress_filter': self.egress_filter,
16921            'healthy': self.healthy,
16922            'hostname': self.hostname,
16923            'id': self.id,
16924            'name': self.name,
16925            'password': self.password,
16926            'port_override': self.port_override,
16927            'proxy_cluster_id': self.proxy_cluster_id,
16928            'secret_store_id': self.secret_store_id,
16929            'subdomain': self.subdomain,
16930            'tags': self.tags,
16931            'tls_required': self.tls_required,
16932            'username': self.username,
16933        }
16934
16935    @classmethod
16936    def from_dict(cls, d):
16937        return cls(
16938            auth_database=d.get('auth_database'),
16939            bind_interface=d.get('bind_interface'),
16940            egress_filter=d.get('egress_filter'),
16941            healthy=d.get('healthy'),
16942            hostname=d.get('hostname'),
16943            id=d.get('id'),
16944            name=d.get('name'),
16945            password=d.get('password'),
16946            port_override=d.get('port_override'),
16947            proxy_cluster_id=d.get('proxy_cluster_id'),
16948            secret_store_id=d.get('secret_store_id'),
16949            subdomain=d.get('subdomain'),
16950            tags=d.get('tags'),
16951            tls_required=d.get('tls_required'),
16952            username=d.get('username'),
16953        )
16954
16955
16956class Mysql:
16957    __slots__ = [
16958        'bind_interface',
16959        'database',
16960        'egress_filter',
16961        'healthy',
16962        'hostname',
16963        'id',
16964        'name',
16965        'password',
16966        'port',
16967        'port_override',
16968        'proxy_cluster_id',
16969        'require_native_auth',
16970        'secret_store_id',
16971        'subdomain',
16972        'tags',
16973        'use_azure_single_server_usernames',
16974        'username',
16975    ]
16976
16977    def __init__(
16978        self,
16979        bind_interface=None,
16980        database=None,
16981        egress_filter=None,
16982        healthy=None,
16983        hostname=None,
16984        id=None,
16985        name=None,
16986        password=None,
16987        port=None,
16988        port_override=None,
16989        proxy_cluster_id=None,
16990        require_native_auth=None,
16991        secret_store_id=None,
16992        subdomain=None,
16993        tags=None,
16994        use_azure_single_server_usernames=None,
16995        username=None,
16996    ):
16997        self.bind_interface = bind_interface if bind_interface is not None else ''
16998        '''
16999         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17000        '''
17001        self.database = database if database is not None else ''
17002        '''
17003         The database for healthchecks. Does not affect client requests.
17004        '''
17005        self.egress_filter = egress_filter if egress_filter is not None else ''
17006        '''
17007         A filter applied to the routing logic to pin datasource to nodes.
17008        '''
17009        self.healthy = healthy if healthy is not None else False
17010        '''
17011         True if the datasource is reachable and the credentials are valid.
17012        '''
17013        self.hostname = hostname if hostname is not None else ''
17014        '''
17015         The host to dial to initiate a connection from the egress node to this resource.
17016        '''
17017        self.id = id if id is not None else ''
17018        '''
17019         Unique identifier of the Resource.
17020        '''
17021        self.name = name if name is not None else ''
17022        '''
17023         Unique human-readable name of the Resource.
17024        '''
17025        self.password = password if password is not None else ''
17026        '''
17027         The password to authenticate with.
17028        '''
17029        self.port = port if port is not None else 0
17030        '''
17031         The port to dial to initiate a connection from the egress node to this resource.
17032        '''
17033        self.port_override = port_override if port_override is not None else 0
17034        '''
17035         The local port used by clients to connect to this resource.
17036        '''
17037        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17038        '''
17039         ID of the proxy cluster for this resource, if any.
17040        '''
17041        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17042        '''
17043         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17044        '''
17045        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17046        '''
17047         ID of the secret store containing credentials for this resource, if any.
17048        '''
17049        self.subdomain = subdomain if subdomain is not None else ''
17050        '''
17051         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17052        '''
17053        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17054        '''
17055         Tags is a map of key, value pairs.
17056        '''
17057        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17058        '''
17059         If true, appends the hostname to the username when hitting a database.azure.com address
17060        '''
17061        self.username = username if username is not None else ''
17062        '''
17063         The username to authenticate with.
17064        '''
17065
17066    def __repr__(self):
17067        return '<sdm.Mysql ' + \
17068            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17069            'database: ' + repr(self.database) + ' ' +\
17070            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17071            'healthy: ' + repr(self.healthy) + ' ' +\
17072            'hostname: ' + repr(self.hostname) + ' ' +\
17073            'id: ' + repr(self.id) + ' ' +\
17074            'name: ' + repr(self.name) + ' ' +\
17075            'password: ' + repr(self.password) + ' ' +\
17076            'port: ' + repr(self.port) + ' ' +\
17077            'port_override: ' + repr(self.port_override) + ' ' +\
17078            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17079            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17080            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17081            'subdomain: ' + repr(self.subdomain) + ' ' +\
17082            'tags: ' + repr(self.tags) + ' ' +\
17083            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17084            'username: ' + repr(self.username) + ' ' +\
17085            '>'
17086
17087    def to_dict(self):
17088        return {
17089            'bind_interface': self.bind_interface,
17090            'database': self.database,
17091            'egress_filter': self.egress_filter,
17092            'healthy': self.healthy,
17093            'hostname': self.hostname,
17094            'id': self.id,
17095            'name': self.name,
17096            'password': self.password,
17097            'port': self.port,
17098            'port_override': self.port_override,
17099            'proxy_cluster_id': self.proxy_cluster_id,
17100            'require_native_auth': self.require_native_auth,
17101            'secret_store_id': self.secret_store_id,
17102            'subdomain': self.subdomain,
17103            'tags': self.tags,
17104            'use_azure_single_server_usernames':
17105            self.use_azure_single_server_usernames,
17106            'username': self.username,
17107        }
17108
17109    @classmethod
17110    def from_dict(cls, d):
17111        return cls(
17112            bind_interface=d.get('bind_interface'),
17113            database=d.get('database'),
17114            egress_filter=d.get('egress_filter'),
17115            healthy=d.get('healthy'),
17116            hostname=d.get('hostname'),
17117            id=d.get('id'),
17118            name=d.get('name'),
17119            password=d.get('password'),
17120            port=d.get('port'),
17121            port_override=d.get('port_override'),
17122            proxy_cluster_id=d.get('proxy_cluster_id'),
17123            require_native_auth=d.get('require_native_auth'),
17124            secret_store_id=d.get('secret_store_id'),
17125            subdomain=d.get('subdomain'),
17126            tags=d.get('tags'),
17127            use_azure_single_server_usernames=d.get(
17128                'use_azure_single_server_usernames'),
17129            username=d.get('username'),
17130        )
17131
17132
17133class Neptune:
17134    __slots__ = [
17135        'bind_interface',
17136        'egress_filter',
17137        'endpoint',
17138        'healthy',
17139        'id',
17140        'name',
17141        'port',
17142        'port_override',
17143        'proxy_cluster_id',
17144        'secret_store_id',
17145        'subdomain',
17146        'tags',
17147    ]
17148
17149    def __init__(
17150        self,
17151        bind_interface=None,
17152        egress_filter=None,
17153        endpoint=None,
17154        healthy=None,
17155        id=None,
17156        name=None,
17157        port=None,
17158        port_override=None,
17159        proxy_cluster_id=None,
17160        secret_store_id=None,
17161        subdomain=None,
17162        tags=None,
17163    ):
17164        self.bind_interface = bind_interface if bind_interface is not None else ''
17165        '''
17166         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17167        '''
17168        self.egress_filter = egress_filter if egress_filter is not None else ''
17169        '''
17170         A filter applied to the routing logic to pin datasource to nodes.
17171        '''
17172        self.endpoint = endpoint if endpoint is not None else ''
17173        '''
17174         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
17175        '''
17176        self.healthy = healthy if healthy is not None else False
17177        '''
17178         True if the datasource is reachable and the credentials are valid.
17179        '''
17180        self.id = id if id is not None else ''
17181        '''
17182         Unique identifier of the Resource.
17183        '''
17184        self.name = name if name is not None else ''
17185        '''
17186         Unique human-readable name of the Resource.
17187        '''
17188        self.port = port if port is not None else 0
17189        '''
17190         The port to dial to initiate a connection from the egress node to this resource.
17191        '''
17192        self.port_override = port_override if port_override is not None else 0
17193        '''
17194         The local port used by clients to connect to this resource.
17195        '''
17196        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17197        '''
17198         ID of the proxy cluster for this resource, if any.
17199        '''
17200        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17201        '''
17202         ID of the secret store containing credentials for this resource, if any.
17203        '''
17204        self.subdomain = subdomain if subdomain is not None else ''
17205        '''
17206         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17207        '''
17208        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17209        '''
17210         Tags is a map of key, value pairs.
17211        '''
17212
17213    def __repr__(self):
17214        return '<sdm.Neptune ' + \
17215            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17216            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17217            'endpoint: ' + repr(self.endpoint) + ' ' +\
17218            'healthy: ' + repr(self.healthy) + ' ' +\
17219            'id: ' + repr(self.id) + ' ' +\
17220            'name: ' + repr(self.name) + ' ' +\
17221            'port: ' + repr(self.port) + ' ' +\
17222            'port_override: ' + repr(self.port_override) + ' ' +\
17223            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17224            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17225            'subdomain: ' + repr(self.subdomain) + ' ' +\
17226            'tags: ' + repr(self.tags) + ' ' +\
17227            '>'
17228
17229    def to_dict(self):
17230        return {
17231            'bind_interface': self.bind_interface,
17232            'egress_filter': self.egress_filter,
17233            'endpoint': self.endpoint,
17234            'healthy': self.healthy,
17235            'id': self.id,
17236            'name': self.name,
17237            'port': self.port,
17238            'port_override': self.port_override,
17239            'proxy_cluster_id': self.proxy_cluster_id,
17240            'secret_store_id': self.secret_store_id,
17241            'subdomain': self.subdomain,
17242            'tags': self.tags,
17243        }
17244
17245    @classmethod
17246    def from_dict(cls, d):
17247        return cls(
17248            bind_interface=d.get('bind_interface'),
17249            egress_filter=d.get('egress_filter'),
17250            endpoint=d.get('endpoint'),
17251            healthy=d.get('healthy'),
17252            id=d.get('id'),
17253            name=d.get('name'),
17254            port=d.get('port'),
17255            port_override=d.get('port_override'),
17256            proxy_cluster_id=d.get('proxy_cluster_id'),
17257            secret_store_id=d.get('secret_store_id'),
17258            subdomain=d.get('subdomain'),
17259            tags=d.get('tags'),
17260        )
17261
17262
17263class NeptuneIAM:
17264    __slots__ = [
17265        'access_key',
17266        'bind_interface',
17267        'egress_filter',
17268        'endpoint',
17269        'healthy',
17270        'id',
17271        'name',
17272        'port',
17273        'port_override',
17274        'proxy_cluster_id',
17275        'region',
17276        'role_arn',
17277        'role_external_id',
17278        'secret_access_key',
17279        'secret_store_id',
17280        'subdomain',
17281        'tags',
17282    ]
17283
17284    def __init__(
17285        self,
17286        access_key=None,
17287        bind_interface=None,
17288        egress_filter=None,
17289        endpoint=None,
17290        healthy=None,
17291        id=None,
17292        name=None,
17293        port=None,
17294        port_override=None,
17295        proxy_cluster_id=None,
17296        region=None,
17297        role_arn=None,
17298        role_external_id=None,
17299        secret_access_key=None,
17300        secret_store_id=None,
17301        subdomain=None,
17302        tags=None,
17303    ):
17304        self.access_key = access_key if access_key is not None else ''
17305        '''
17306         The Access Key ID to use to authenticate.
17307        '''
17308        self.bind_interface = bind_interface if bind_interface is not None else ''
17309        '''
17310         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17311        '''
17312        self.egress_filter = egress_filter if egress_filter is not None else ''
17313        '''
17314         A filter applied to the routing logic to pin datasource to nodes.
17315        '''
17316        self.endpoint = endpoint if endpoint is not None else ''
17317        '''
17318         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
17319        '''
17320        self.healthy = healthy if healthy is not None else False
17321        '''
17322         True if the datasource is reachable and the credentials are valid.
17323        '''
17324        self.id = id if id is not None else ''
17325        '''
17326         Unique identifier of the Resource.
17327        '''
17328        self.name = name if name is not None else ''
17329        '''
17330         Unique human-readable name of the Resource.
17331        '''
17332        self.port = port if port is not None else 0
17333        '''
17334         The port to dial to initiate a connection from the egress node to this resource.
17335        '''
17336        self.port_override = port_override if port_override is not None else 0
17337        '''
17338         The local port used by clients to connect to this resource.
17339        '''
17340        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17341        '''
17342         ID of the proxy cluster for this resource, if any.
17343        '''
17344        self.region = region if region is not None else ''
17345        '''
17346         The AWS region to connect to.
17347        '''
17348        self.role_arn = role_arn if role_arn is not None else ''
17349        '''
17350         The role to assume after logging in.
17351        '''
17352        self.role_external_id = role_external_id if role_external_id is not None else ''
17353        '''
17354         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
17355        '''
17356        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
17357        '''
17358         The Secret Access Key to use to authenticate.
17359        '''
17360        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17361        '''
17362         ID of the secret store containing credentials for this resource, if any.
17363        '''
17364        self.subdomain = subdomain if subdomain is not None else ''
17365        '''
17366         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17367        '''
17368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17369        '''
17370         Tags is a map of key, value pairs.
17371        '''
17372
17373    def __repr__(self):
17374        return '<sdm.NeptuneIAM ' + \
17375            'access_key: ' + repr(self.access_key) + ' ' +\
17376            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17377            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17378            'endpoint: ' + repr(self.endpoint) + ' ' +\
17379            'healthy: ' + repr(self.healthy) + ' ' +\
17380            'id: ' + repr(self.id) + ' ' +\
17381            'name: ' + repr(self.name) + ' ' +\
17382            'port: ' + repr(self.port) + ' ' +\
17383            'port_override: ' + repr(self.port_override) + ' ' +\
17384            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17385            'region: ' + repr(self.region) + ' ' +\
17386            'role_arn: ' + repr(self.role_arn) + ' ' +\
17387            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
17388            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
17389            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17390            'subdomain: ' + repr(self.subdomain) + ' ' +\
17391            'tags: ' + repr(self.tags) + ' ' +\
17392            '>'
17393
17394    def to_dict(self):
17395        return {
17396            'access_key': self.access_key,
17397            'bind_interface': self.bind_interface,
17398            'egress_filter': self.egress_filter,
17399            'endpoint': self.endpoint,
17400            'healthy': self.healthy,
17401            'id': self.id,
17402            'name': self.name,
17403            'port': self.port,
17404            'port_override': self.port_override,
17405            'proxy_cluster_id': self.proxy_cluster_id,
17406            'region': self.region,
17407            'role_arn': self.role_arn,
17408            'role_external_id': self.role_external_id,
17409            'secret_access_key': self.secret_access_key,
17410            'secret_store_id': self.secret_store_id,
17411            'subdomain': self.subdomain,
17412            'tags': self.tags,
17413        }
17414
17415    @classmethod
17416    def from_dict(cls, d):
17417        return cls(
17418            access_key=d.get('access_key'),
17419            bind_interface=d.get('bind_interface'),
17420            egress_filter=d.get('egress_filter'),
17421            endpoint=d.get('endpoint'),
17422            healthy=d.get('healthy'),
17423            id=d.get('id'),
17424            name=d.get('name'),
17425            port=d.get('port'),
17426            port_override=d.get('port_override'),
17427            proxy_cluster_id=d.get('proxy_cluster_id'),
17428            region=d.get('region'),
17429            role_arn=d.get('role_arn'),
17430            role_external_id=d.get('role_external_id'),
17431            secret_access_key=d.get('secret_access_key'),
17432            secret_store_id=d.get('secret_store_id'),
17433            subdomain=d.get('subdomain'),
17434            tags=d.get('tags'),
17435        )
17436
17437
17438class NodeCreateResponse:
17439    '''
17440         NodeCreateResponse reports how the Nodes were created in the system.
17441    '''
17442    __slots__ = [
17443        'meta',
17444        'node',
17445        'rate_limit',
17446        'token',
17447    ]
17448
17449    def __init__(
17450        self,
17451        meta=None,
17452        node=None,
17453        rate_limit=None,
17454        token=None,
17455    ):
17456        self.meta = meta if meta is not None else None
17457        '''
17458         Reserved for future use.
17459        '''
17460        self.node = node if node is not None else None
17461        '''
17462         The created Node.
17463        '''
17464        self.rate_limit = rate_limit if rate_limit is not None else None
17465        '''
17466         Rate limit information.
17467        '''
17468        self.token = token if token is not None else ''
17469        '''
17470         The auth token generated for the Node. The Node will use this token to
17471         authenticate with the strongDM API.
17472        '''
17473
17474    def __repr__(self):
17475        return '<sdm.NodeCreateResponse ' + \
17476            'meta: ' + repr(self.meta) + ' ' +\
17477            'node: ' + repr(self.node) + ' ' +\
17478            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17479            'token: ' + repr(self.token) + ' ' +\
17480            '>'
17481
17482    def to_dict(self):
17483        return {
17484            'meta': self.meta,
17485            'node': self.node,
17486            'rate_limit': self.rate_limit,
17487            'token': self.token,
17488        }
17489
17490    @classmethod
17491    def from_dict(cls, d):
17492        return cls(
17493            meta=d.get('meta'),
17494            node=d.get('node'),
17495            rate_limit=d.get('rate_limit'),
17496            token=d.get('token'),
17497        )
17498
17499
17500class NodeDeleteResponse:
17501    '''
17502         NodeDeleteResponse returns information about a Node that was deleted.
17503    '''
17504    __slots__ = [
17505        'meta',
17506        'rate_limit',
17507    ]
17508
17509    def __init__(
17510        self,
17511        meta=None,
17512        rate_limit=None,
17513    ):
17514        self.meta = meta if meta is not None else None
17515        '''
17516         Reserved for future use.
17517        '''
17518        self.rate_limit = rate_limit if rate_limit is not None else None
17519        '''
17520         Rate limit information.
17521        '''
17522
17523    def __repr__(self):
17524        return '<sdm.NodeDeleteResponse ' + \
17525            'meta: ' + repr(self.meta) + ' ' +\
17526            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17527            '>'
17528
17529    def to_dict(self):
17530        return {
17531            'meta': self.meta,
17532            'rate_limit': self.rate_limit,
17533        }
17534
17535    @classmethod
17536    def from_dict(cls, d):
17537        return cls(
17538            meta=d.get('meta'),
17539            rate_limit=d.get('rate_limit'),
17540        )
17541
17542
17543class NodeGetResponse:
17544    '''
17545         NodeGetResponse returns a requested Node.
17546    '''
17547    __slots__ = [
17548        'meta',
17549        'node',
17550        'rate_limit',
17551    ]
17552
17553    def __init__(
17554        self,
17555        meta=None,
17556        node=None,
17557        rate_limit=None,
17558    ):
17559        self.meta = meta if meta is not None else None
17560        '''
17561         Reserved for future use.
17562        '''
17563        self.node = node if node is not None else None
17564        '''
17565         The requested Node.
17566        '''
17567        self.rate_limit = rate_limit if rate_limit is not None else None
17568        '''
17569         Rate limit information.
17570        '''
17571
17572    def __repr__(self):
17573        return '<sdm.NodeGetResponse ' + \
17574            'meta: ' + repr(self.meta) + ' ' +\
17575            'node: ' + repr(self.node) + ' ' +\
17576            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17577            '>'
17578
17579    def to_dict(self):
17580        return {
17581            'meta': self.meta,
17582            'node': self.node,
17583            'rate_limit': self.rate_limit,
17584        }
17585
17586    @classmethod
17587    def from_dict(cls, d):
17588        return cls(
17589            meta=d.get('meta'),
17590            node=d.get('node'),
17591            rate_limit=d.get('rate_limit'),
17592        )
17593
17594
17595class NodeHistory:
17596    '''
17597         NodeHistory records the state of a Node at a given point in time,
17598     where every change (create, update and delete) to a Node produces an
17599     NodeHistory record.
17600    '''
17601    __slots__ = [
17602        'activity_id',
17603        'deleted_at',
17604        'node',
17605        'timestamp',
17606    ]
17607
17608    def __init__(
17609        self,
17610        activity_id=None,
17611        deleted_at=None,
17612        node=None,
17613        timestamp=None,
17614    ):
17615        self.activity_id = activity_id if activity_id is not None else ''
17616        '''
17617         The unique identifier of the Activity that produced this change to the Node.
17618         May be empty for some system-initiated updates.
17619        '''
17620        self.deleted_at = deleted_at if deleted_at is not None else None
17621        '''
17622         If this Node was deleted, the time it was deleted.
17623        '''
17624        self.node = node if node is not None else None
17625        '''
17626         The complete Node state at this time.
17627        '''
17628        self.timestamp = timestamp if timestamp is not None else None
17629        '''
17630         The time at which the Node state was recorded.
17631        '''
17632
17633    def __repr__(self):
17634        return '<sdm.NodeHistory ' + \
17635            'activity_id: ' + repr(self.activity_id) + ' ' +\
17636            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
17637            'node: ' + repr(self.node) + ' ' +\
17638            'timestamp: ' + repr(self.timestamp) + ' ' +\
17639            '>'
17640
17641    def to_dict(self):
17642        return {
17643            'activity_id': self.activity_id,
17644            'deleted_at': self.deleted_at,
17645            'node': self.node,
17646            'timestamp': self.timestamp,
17647        }
17648
17649    @classmethod
17650    def from_dict(cls, d):
17651        return cls(
17652            activity_id=d.get('activity_id'),
17653            deleted_at=d.get('deleted_at'),
17654            node=d.get('node'),
17655            timestamp=d.get('timestamp'),
17656        )
17657
17658
17659class NodeMaintenanceWindow:
17660    __slots__ = [
17661        'cron_schedule',
17662        'require_idleness',
17663    ]
17664
17665    def __init__(
17666        self,
17667        cron_schedule=None,
17668        require_idleness=None,
17669    ):
17670        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
17671        '''
17672         Cron job syntax for when this maintenance window is active. On this schedule, associated
17673         nodes will restart if requested, provided other checks allow the restart to proceed. Times
17674         are represented in UTC.
17675         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
17676         Saturday. Not all possible inputs are supported: the month and day of month selections
17677         must be '*'.
17678        '''
17679        self.require_idleness = require_idleness if require_idleness is not None else False
17680        '''
17681         Require Idleness defines whether this window can sever live connections. If true,
17682         this window will not allow a node to be restarted unless it is serving no connections.
17683         If false, given a restart of the node has been requested (for an update, usually), the
17684         node will restart as soon as it enters an allowed day / hour combination. At least one
17685         maintenance window, out of all configured windows for a node, must have this as false.
17686        '''
17687
17688    def __repr__(self):
17689        return '<sdm.NodeMaintenanceWindow ' + \
17690            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
17691            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
17692            '>'
17693
17694    def to_dict(self):
17695        return {
17696            'cron_schedule': self.cron_schedule,
17697            'require_idleness': self.require_idleness,
17698        }
17699
17700    @classmethod
17701    def from_dict(cls, d):
17702        return cls(
17703            cron_schedule=d.get('cron_schedule'),
17704            require_idleness=d.get('require_idleness'),
17705        )
17706
17707
17708class NodeUpdateResponse:
17709    '''
17710         NodeUpdateResponse returns the fields of a Node after it has been updated by
17711     a NodeUpdateRequest.
17712    '''
17713    __slots__ = [
17714        'meta',
17715        'node',
17716        'rate_limit',
17717    ]
17718
17719    def __init__(
17720        self,
17721        meta=None,
17722        node=None,
17723        rate_limit=None,
17724    ):
17725        self.meta = meta if meta is not None else None
17726        '''
17727         Reserved for future use.
17728        '''
17729        self.node = node if node is not None else None
17730        '''
17731         The updated Node.
17732        '''
17733        self.rate_limit = rate_limit if rate_limit is not None else None
17734        '''
17735         Rate limit information.
17736        '''
17737
17738    def __repr__(self):
17739        return '<sdm.NodeUpdateResponse ' + \
17740            'meta: ' + repr(self.meta) + ' ' +\
17741            'node: ' + repr(self.node) + ' ' +\
17742            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17743            '>'
17744
17745    def to_dict(self):
17746        return {
17747            'meta': self.meta,
17748            'node': self.node,
17749            'rate_limit': self.rate_limit,
17750        }
17751
17752    @classmethod
17753    def from_dict(cls, d):
17754        return cls(
17755            meta=d.get('meta'),
17756            node=d.get('node'),
17757            rate_limit=d.get('rate_limit'),
17758        )
17759
17760
17761class Oracle:
17762    __slots__ = [
17763        'bind_interface',
17764        'database',
17765        'egress_filter',
17766        'healthy',
17767        'hostname',
17768        'id',
17769        'name',
17770        'password',
17771        'port',
17772        'port_override',
17773        'proxy_cluster_id',
17774        'secret_store_id',
17775        'subdomain',
17776        'tags',
17777        'tls_required',
17778        'username',
17779    ]
17780
17781    def __init__(
17782        self,
17783        bind_interface=None,
17784        database=None,
17785        egress_filter=None,
17786        healthy=None,
17787        hostname=None,
17788        id=None,
17789        name=None,
17790        password=None,
17791        port=None,
17792        port_override=None,
17793        proxy_cluster_id=None,
17794        secret_store_id=None,
17795        subdomain=None,
17796        tags=None,
17797        tls_required=None,
17798        username=None,
17799    ):
17800        self.bind_interface = bind_interface if bind_interface is not None else ''
17801        '''
17802         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17803        '''
17804        self.database = database if database is not None else ''
17805        '''
17806         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
17807        '''
17808        self.egress_filter = egress_filter if egress_filter is not None else ''
17809        '''
17810         A filter applied to the routing logic to pin datasource to nodes.
17811        '''
17812        self.healthy = healthy if healthy is not None else False
17813        '''
17814         True if the datasource is reachable and the credentials are valid.
17815        '''
17816        self.hostname = hostname if hostname is not None else ''
17817        '''
17818         The host to dial to initiate a connection from the egress node to this resource.
17819        '''
17820        self.id = id if id is not None else ''
17821        '''
17822         Unique identifier of the Resource.
17823        '''
17824        self.name = name if name is not None else ''
17825        '''
17826         Unique human-readable name of the Resource.
17827        '''
17828        self.password = password if password is not None else ''
17829        '''
17830         The password to authenticate with.
17831        '''
17832        self.port = port if port is not None else 0
17833        '''
17834         The port to dial to initiate a connection from the egress node to this resource.
17835        '''
17836        self.port_override = port_override if port_override is not None else 0
17837        '''
17838         The local port used by clients to connect to this resource.
17839        '''
17840        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17841        '''
17842         ID of the proxy cluster for this resource, if any.
17843        '''
17844        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17845        '''
17846         ID of the secret store containing credentials for this resource, if any.
17847        '''
17848        self.subdomain = subdomain if subdomain is not None else ''
17849        '''
17850         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17851        '''
17852        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17853        '''
17854         Tags is a map of key, value pairs.
17855        '''
17856        self.tls_required = tls_required if tls_required is not None else False
17857        '''
17858         If set, TLS must be used to connect to this resource.
17859        '''
17860        self.username = username if username is not None else ''
17861        '''
17862         The username to authenticate with.
17863        '''
17864
17865    def __repr__(self):
17866        return '<sdm.Oracle ' + \
17867            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17868            'database: ' + repr(self.database) + ' ' +\
17869            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17870            'healthy: ' + repr(self.healthy) + ' ' +\
17871            'hostname: ' + repr(self.hostname) + ' ' +\
17872            'id: ' + repr(self.id) + ' ' +\
17873            'name: ' + repr(self.name) + ' ' +\
17874            'password: ' + repr(self.password) + ' ' +\
17875            'port: ' + repr(self.port) + ' ' +\
17876            'port_override: ' + repr(self.port_override) + ' ' +\
17877            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17878            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17879            'subdomain: ' + repr(self.subdomain) + ' ' +\
17880            'tags: ' + repr(self.tags) + ' ' +\
17881            'tls_required: ' + repr(self.tls_required) + ' ' +\
17882            'username: ' + repr(self.username) + ' ' +\
17883            '>'
17884
17885    def to_dict(self):
17886        return {
17887            'bind_interface': self.bind_interface,
17888            'database': self.database,
17889            'egress_filter': self.egress_filter,
17890            'healthy': self.healthy,
17891            'hostname': self.hostname,
17892            'id': self.id,
17893            'name': self.name,
17894            'password': self.password,
17895            'port': self.port,
17896            'port_override': self.port_override,
17897            'proxy_cluster_id': self.proxy_cluster_id,
17898            'secret_store_id': self.secret_store_id,
17899            'subdomain': self.subdomain,
17900            'tags': self.tags,
17901            'tls_required': self.tls_required,
17902            'username': self.username,
17903        }
17904
17905    @classmethod
17906    def from_dict(cls, d):
17907        return cls(
17908            bind_interface=d.get('bind_interface'),
17909            database=d.get('database'),
17910            egress_filter=d.get('egress_filter'),
17911            healthy=d.get('healthy'),
17912            hostname=d.get('hostname'),
17913            id=d.get('id'),
17914            name=d.get('name'),
17915            password=d.get('password'),
17916            port=d.get('port'),
17917            port_override=d.get('port_override'),
17918            proxy_cluster_id=d.get('proxy_cluster_id'),
17919            secret_store_id=d.get('secret_store_id'),
17920            subdomain=d.get('subdomain'),
17921            tags=d.get('tags'),
17922            tls_required=d.get('tls_required'),
17923            username=d.get('username'),
17924        )
17925
17926
17927class Organization:
17928    __slots__ = [
17929        'auth_provider',
17930        'created_at',
17931        'device_trust_enabled',
17932        'device_trust_provider',
17933        'enforce_single_session',
17934        'idle_timeout',
17935        'idle_timeout_enabled',
17936        'kind',
17937        'log_local_encoder',
17938        'log_local_format',
17939        'log_local_storage',
17940        'log_remote_encoder',
17941        'log_socket_path',
17942        'log_tcp_address',
17943        'loopback_range',
17944        'mfa_enabled',
17945        'mfa_provider',
17946        'name',
17947        'require_secret_store',
17948        'saml_metadata_url',
17949        'scim_provider',
17950        'sensitive_label',
17951        'session_timeout',
17952        'session_timeout_enabled',
17953        'ssh_certificate_authority_public_key',
17954        'ssh_certificate_authority_updated_at',
17955        'updated_at',
17956        'websites_subdomain',
17957    ]
17958
17959    def __init__(
17960        self,
17961        auth_provider=None,
17962        created_at=None,
17963        device_trust_enabled=None,
17964        device_trust_provider=None,
17965        enforce_single_session=None,
17966        idle_timeout=None,
17967        idle_timeout_enabled=None,
17968        kind=None,
17969        log_local_encoder=None,
17970        log_local_format=None,
17971        log_local_storage=None,
17972        log_remote_encoder=None,
17973        log_socket_path=None,
17974        log_tcp_address=None,
17975        loopback_range=None,
17976        mfa_enabled=None,
17977        mfa_provider=None,
17978        name=None,
17979        require_secret_store=None,
17980        saml_metadata_url=None,
17981        scim_provider=None,
17982        sensitive_label=None,
17983        session_timeout=None,
17984        session_timeout_enabled=None,
17985        ssh_certificate_authority_public_key=None,
17986        ssh_certificate_authority_updated_at=None,
17987        updated_at=None,
17988        websites_subdomain=None,
17989    ):
17990        self.auth_provider = auth_provider if auth_provider is not None else ''
17991        '''
17992         The Organization's authentication provider, one of the AuthProvider constants.
17993        '''
17994        self.created_at = created_at if created_at is not None else None
17995        '''
17996         The time at which the Organization was created.
17997        '''
17998        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
17999        '''
18000         Indicates if the Organization has device trust enabled.
18001        '''
18002        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
18003        '''
18004         The Organization's device trust provider, one of the DeviceTrustProvider constants.
18005        '''
18006        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
18007        '''
18008         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
18009        '''
18010        self.idle_timeout = idle_timeout if idle_timeout is not None else None
18011        '''
18012         The Organization's idle timeout, if enabled.
18013        '''
18014        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
18015        '''
18016         Indicates if the Organization has idle timeouts enabled.
18017        '''
18018        self.kind = kind if kind is not None else ''
18019        '''
18020         The Organization's type, one of the OrgKind constants.
18021        '''
18022        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
18023        '''
18024         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
18025        '''
18026        self.log_local_format = log_local_format if log_local_format is not None else ''
18027        '''
18028         The Organization's local log format, one of the LogLocalFormat constants.
18029        '''
18030        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
18031        '''
18032         The Organization's local log storage, one of the LogLocalStorage constants.
18033        '''
18034        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
18035        '''
18036         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
18037        '''
18038        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
18039        '''
18040         The Organization's socket path for Socket local log storage.
18041        '''
18042        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
18043        '''
18044         The Organization's TCP address for TCP or Syslog local log storage.
18045        '''
18046        self.loopback_range = loopback_range if loopback_range is not None else ''
18047        '''
18048         The Organization's loopback range.
18049        '''
18050        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
18051        '''
18052         Indicates if the Organization has multi-factor authentication enabled.
18053        '''
18054        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
18055        '''
18056         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
18057        '''
18058        self.name = name if name is not None else ''
18059        '''
18060         The Organization's name.
18061        '''
18062        self.require_secret_store = require_secret_store if require_secret_store is not None else False
18063        '''
18064         Indicates if the Organization requires secret stores.
18065        '''
18066        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
18067        '''
18068         The Organization's URL for SAML metadata.
18069        '''
18070        self.scim_provider = scim_provider if scim_provider is not None else ''
18071        '''
18072         The Organization's SCIM provider, one of the SCIMProvider constants.
18073        '''
18074        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
18075        '''
18076         The Organization's label for sensitive resources.
18077        '''
18078        self.session_timeout = session_timeout if session_timeout is not None else None
18079        '''
18080         The Organization's session timeout, if enabled.
18081        '''
18082        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
18083        '''
18084         Indicates if the Organization has session timeouts enabled.
18085        '''
18086        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
18087        '''
18088         The Organization's SSH certificate authority public key.
18089        '''
18090        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
18091        '''
18092         The time at which the Organization's SSH certificate authority was last updated.
18093        '''
18094        self.updated_at = updated_at if updated_at is not None else None
18095        '''
18096         The time at which the Organization was last updated.
18097        '''
18098        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
18099        '''
18100         The Organization's web site domain.
18101        '''
18102
18103    def __repr__(self):
18104        return '<sdm.Organization ' + \
18105            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
18106            'created_at: ' + repr(self.created_at) + ' ' +\
18107            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
18108            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
18109            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
18110            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
18111            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
18112            'kind: ' + repr(self.kind) + ' ' +\
18113            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
18114            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
18115            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
18116            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
18117            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
18118            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
18119            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
18120            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
18121            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
18122            'name: ' + repr(self.name) + ' ' +\
18123            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
18124            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
18125            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
18126            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
18127            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
18128            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
18129            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
18130            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
18131            'updated_at: ' + repr(self.updated_at) + ' ' +\
18132            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
18133            '>'
18134
18135    def to_dict(self):
18136        return {
18137            'auth_provider': self.auth_provider,
18138            'created_at': self.created_at,
18139            'device_trust_enabled': self.device_trust_enabled,
18140            'device_trust_provider': self.device_trust_provider,
18141            'enforce_single_session': self.enforce_single_session,
18142            'idle_timeout': self.idle_timeout,
18143            'idle_timeout_enabled': self.idle_timeout_enabled,
18144            'kind': self.kind,
18145            'log_local_encoder': self.log_local_encoder,
18146            'log_local_format': self.log_local_format,
18147            'log_local_storage': self.log_local_storage,
18148            'log_remote_encoder': self.log_remote_encoder,
18149            'log_socket_path': self.log_socket_path,
18150            'log_tcp_address': self.log_tcp_address,
18151            'loopback_range': self.loopback_range,
18152            'mfa_enabled': self.mfa_enabled,
18153            'mfa_provider': self.mfa_provider,
18154            'name': self.name,
18155            'require_secret_store': self.require_secret_store,
18156            'saml_metadata_url': self.saml_metadata_url,
18157            'scim_provider': self.scim_provider,
18158            'sensitive_label': self.sensitive_label,
18159            'session_timeout': self.session_timeout,
18160            'session_timeout_enabled': self.session_timeout_enabled,
18161            'ssh_certificate_authority_public_key':
18162            self.ssh_certificate_authority_public_key,
18163            'ssh_certificate_authority_updated_at':
18164            self.ssh_certificate_authority_updated_at,
18165            'updated_at': self.updated_at,
18166            'websites_subdomain': self.websites_subdomain,
18167        }
18168
18169    @classmethod
18170    def from_dict(cls, d):
18171        return cls(
18172            auth_provider=d.get('auth_provider'),
18173            created_at=d.get('created_at'),
18174            device_trust_enabled=d.get('device_trust_enabled'),
18175            device_trust_provider=d.get('device_trust_provider'),
18176            enforce_single_session=d.get('enforce_single_session'),
18177            idle_timeout=d.get('idle_timeout'),
18178            idle_timeout_enabled=d.get('idle_timeout_enabled'),
18179            kind=d.get('kind'),
18180            log_local_encoder=d.get('log_local_encoder'),
18181            log_local_format=d.get('log_local_format'),
18182            log_local_storage=d.get('log_local_storage'),
18183            log_remote_encoder=d.get('log_remote_encoder'),
18184            log_socket_path=d.get('log_socket_path'),
18185            log_tcp_address=d.get('log_tcp_address'),
18186            loopback_range=d.get('loopback_range'),
18187            mfa_enabled=d.get('mfa_enabled'),
18188            mfa_provider=d.get('mfa_provider'),
18189            name=d.get('name'),
18190            require_secret_store=d.get('require_secret_store'),
18191            saml_metadata_url=d.get('saml_metadata_url'),
18192            scim_provider=d.get('scim_provider'),
18193            sensitive_label=d.get('sensitive_label'),
18194            session_timeout=d.get('session_timeout'),
18195            session_timeout_enabled=d.get('session_timeout_enabled'),
18196            ssh_certificate_authority_public_key=d.get(
18197                'ssh_certificate_authority_public_key'),
18198            ssh_certificate_authority_updated_at=d.get(
18199                'ssh_certificate_authority_updated_at'),
18200            updated_at=d.get('updated_at'),
18201            websites_subdomain=d.get('websites_subdomain'),
18202        )
18203
18204
18205class OrganizationHistoryRecord:
18206    '''
18207         OrganizationHistoryRecord records the state of an Organization at a given point in time,
18208     where every change to an Organization produces an OrganizationHistoryRecord.
18209    '''
18210    __slots__ = [
18211        'activity_id',
18212        'organization',
18213        'timestamp',
18214    ]
18215
18216    def __init__(
18217        self,
18218        activity_id=None,
18219        organization=None,
18220        timestamp=None,
18221    ):
18222        self.activity_id = activity_id if activity_id is not None else ''
18223        '''
18224         The unique identifier of the Activity that produced this change to the Organization.
18225         May be empty for some system-initiated organization updates.
18226        '''
18227        self.organization = organization if organization is not None else None
18228        '''
18229         The complete Organization state at this time.
18230        '''
18231        self.timestamp = timestamp if timestamp is not None else None
18232        '''
18233         The time at which the Organization state was recorded.
18234        '''
18235
18236    def __repr__(self):
18237        return '<sdm.OrganizationHistoryRecord ' + \
18238            'activity_id: ' + repr(self.activity_id) + ' ' +\
18239            'organization: ' + repr(self.organization) + ' ' +\
18240            'timestamp: ' + repr(self.timestamp) + ' ' +\
18241            '>'
18242
18243    def to_dict(self):
18244        return {
18245            'activity_id': self.activity_id,
18246            'organization': self.organization,
18247            'timestamp': self.timestamp,
18248        }
18249
18250    @classmethod
18251    def from_dict(cls, d):
18252        return cls(
18253            activity_id=d.get('activity_id'),
18254            organization=d.get('organization'),
18255            timestamp=d.get('timestamp'),
18256        )
18257
18258
18259class PeeringGroup:
18260    '''
18261         PeeringGroups are the building blocks used for explicit network topology making.
18262     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
18263    '''
18264    __slots__ = [
18265        'id',
18266        'name',
18267    ]
18268
18269    def __init__(
18270        self,
18271        id=None,
18272        name=None,
18273    ):
18274        self.id = id if id is not None else ''
18275        '''
18276         Unique identifier of the PeeringGroup.
18277        '''
18278        self.name = name if name is not None else ''
18279        '''
18280         Unique human-readable name of the PeeringGroup.
18281        '''
18282
18283    def __repr__(self):
18284        return '<sdm.PeeringGroup ' + \
18285            'id: ' + repr(self.id) + ' ' +\
18286            'name: ' + repr(self.name) + ' ' +\
18287            '>'
18288
18289    def to_dict(self):
18290        return {
18291            'id': self.id,
18292            'name': self.name,
18293        }
18294
18295    @classmethod
18296    def from_dict(cls, d):
18297        return cls(
18298            id=d.get('id'),
18299            name=d.get('name'),
18300        )
18301
18302
18303class PeeringGroupCreateResponse:
18304    '''
18305         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
18306    '''
18307    __slots__ = [
18308        'meta',
18309        'peering_group',
18310        'rate_limit',
18311    ]
18312
18313    def __init__(
18314        self,
18315        meta=None,
18316        peering_group=None,
18317        rate_limit=None,
18318    ):
18319        self.meta = meta if meta is not None else None
18320        '''
18321         Reserved for future use.
18322        '''
18323        self.peering_group = peering_group if peering_group is not None else None
18324        '''
18325         The created PeeringGroup.
18326        '''
18327        self.rate_limit = rate_limit if rate_limit is not None else None
18328        '''
18329         Rate limit information.
18330        '''
18331
18332    def __repr__(self):
18333        return '<sdm.PeeringGroupCreateResponse ' + \
18334            'meta: ' + repr(self.meta) + ' ' +\
18335            'peering_group: ' + repr(self.peering_group) + ' ' +\
18336            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18337            '>'
18338
18339    def to_dict(self):
18340        return {
18341            'meta': self.meta,
18342            'peering_group': self.peering_group,
18343            'rate_limit': self.rate_limit,
18344        }
18345
18346    @classmethod
18347    def from_dict(cls, d):
18348        return cls(
18349            meta=d.get('meta'),
18350            peering_group=d.get('peering_group'),
18351            rate_limit=d.get('rate_limit'),
18352        )
18353
18354
18355class PeeringGroupDeleteResponse:
18356    '''
18357         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
18358    '''
18359    __slots__ = [
18360        'meta',
18361        'rate_limit',
18362    ]
18363
18364    def __init__(
18365        self,
18366        meta=None,
18367        rate_limit=None,
18368    ):
18369        self.meta = meta if meta is not None else None
18370        '''
18371         Reserved for future use.
18372        '''
18373        self.rate_limit = rate_limit if rate_limit is not None else None
18374        '''
18375         Rate limit information.
18376        '''
18377
18378    def __repr__(self):
18379        return '<sdm.PeeringGroupDeleteResponse ' + \
18380            'meta: ' + repr(self.meta) + ' ' +\
18381            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18382            '>'
18383
18384    def to_dict(self):
18385        return {
18386            'meta': self.meta,
18387            'rate_limit': self.rate_limit,
18388        }
18389
18390    @classmethod
18391    def from_dict(cls, d):
18392        return cls(
18393            meta=d.get('meta'),
18394            rate_limit=d.get('rate_limit'),
18395        )
18396
18397
18398class PeeringGroupGetResponse:
18399    '''
18400         PeeringGroupGetResponse returns a requested PeeringGroup.
18401    '''
18402    __slots__ = [
18403        'meta',
18404        'peering_group',
18405        'rate_limit',
18406    ]
18407
18408    def __init__(
18409        self,
18410        meta=None,
18411        peering_group=None,
18412        rate_limit=None,
18413    ):
18414        self.meta = meta if meta is not None else None
18415        '''
18416         Reserved for future use.
18417        '''
18418        self.peering_group = peering_group if peering_group is not None else None
18419        '''
18420         The requested PeeringGroup.
18421        '''
18422        self.rate_limit = rate_limit if rate_limit is not None else None
18423        '''
18424         Rate limit information.
18425        '''
18426
18427    def __repr__(self):
18428        return '<sdm.PeeringGroupGetResponse ' + \
18429            'meta: ' + repr(self.meta) + ' ' +\
18430            'peering_group: ' + repr(self.peering_group) + ' ' +\
18431            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18432            '>'
18433
18434    def to_dict(self):
18435        return {
18436            'meta': self.meta,
18437            'peering_group': self.peering_group,
18438            'rate_limit': self.rate_limit,
18439        }
18440
18441    @classmethod
18442    def from_dict(cls, d):
18443        return cls(
18444            meta=d.get('meta'),
18445            peering_group=d.get('peering_group'),
18446            rate_limit=d.get('rate_limit'),
18447        )
18448
18449
18450class PeeringGroupNode:
18451    '''
18452         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
18453    '''
18454    __slots__ = [
18455        'group_id',
18456        'id',
18457        'node_id',
18458    ]
18459
18460    def __init__(
18461        self,
18462        group_id=None,
18463        id=None,
18464        node_id=None,
18465    ):
18466        self.group_id = group_id if group_id is not None else ''
18467        '''
18468         Peering Group ID to which the node will be attached to.
18469        '''
18470        self.id = id if id is not None else ''
18471        '''
18472         Unique identifier of the Attachment.
18473        '''
18474        self.node_id = node_id if node_id is not None else ''
18475        '''
18476         Node ID to be attached.
18477        '''
18478
18479    def __repr__(self):
18480        return '<sdm.PeeringGroupNode ' + \
18481            'group_id: ' + repr(self.group_id) + ' ' +\
18482            'id: ' + repr(self.id) + ' ' +\
18483            'node_id: ' + repr(self.node_id) + ' ' +\
18484            '>'
18485
18486    def to_dict(self):
18487        return {
18488            'group_id': self.group_id,
18489            'id': self.id,
18490            'node_id': self.node_id,
18491        }
18492
18493    @classmethod
18494    def from_dict(cls, d):
18495        return cls(
18496            group_id=d.get('group_id'),
18497            id=d.get('id'),
18498            node_id=d.get('node_id'),
18499        )
18500
18501
18502class PeeringGroupNodeCreateResponse:
18503    '''
18504         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
18505    '''
18506    __slots__ = [
18507        'meta',
18508        'peering_group_node',
18509        'rate_limit',
18510    ]
18511
18512    def __init__(
18513        self,
18514        meta=None,
18515        peering_group_node=None,
18516        rate_limit=None,
18517    ):
18518        self.meta = meta if meta is not None else None
18519        '''
18520         Reserved for future use.
18521        '''
18522        self.peering_group_node = peering_group_node if peering_group_node is not None else None
18523        '''
18524         The created PeeringGroupNode.
18525        '''
18526        self.rate_limit = rate_limit if rate_limit is not None else None
18527        '''
18528         Rate limit information.
18529        '''
18530
18531    def __repr__(self):
18532        return '<sdm.PeeringGroupNodeCreateResponse ' + \
18533            'meta: ' + repr(self.meta) + ' ' +\
18534            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
18535            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18536            '>'
18537
18538    def to_dict(self):
18539        return {
18540            'meta': self.meta,
18541            'peering_group_node': self.peering_group_node,
18542            'rate_limit': self.rate_limit,
18543        }
18544
18545    @classmethod
18546    def from_dict(cls, d):
18547        return cls(
18548            meta=d.get('meta'),
18549            peering_group_node=d.get('peering_group_node'),
18550            rate_limit=d.get('rate_limit'),
18551        )
18552
18553
18554class PeeringGroupNodeDeleteResponse:
18555    '''
18556         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
18557    '''
18558    __slots__ = [
18559        'meta',
18560        'rate_limit',
18561    ]
18562
18563    def __init__(
18564        self,
18565        meta=None,
18566        rate_limit=None,
18567    ):
18568        self.meta = meta if meta is not None else None
18569        '''
18570         Reserved for future use.
18571        '''
18572        self.rate_limit = rate_limit if rate_limit is not None else None
18573        '''
18574         Rate limit information.
18575        '''
18576
18577    def __repr__(self):
18578        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
18579            'meta: ' + repr(self.meta) + ' ' +\
18580            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18581            '>'
18582
18583    def to_dict(self):
18584        return {
18585            'meta': self.meta,
18586            'rate_limit': self.rate_limit,
18587        }
18588
18589    @classmethod
18590    def from_dict(cls, d):
18591        return cls(
18592            meta=d.get('meta'),
18593            rate_limit=d.get('rate_limit'),
18594        )
18595
18596
18597class PeeringGroupNodeGetResponse:
18598    '''
18599         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
18600    '''
18601    __slots__ = [
18602        'meta',
18603        'peering_group_node',
18604        'rate_limit',
18605    ]
18606
18607    def __init__(
18608        self,
18609        meta=None,
18610        peering_group_node=None,
18611        rate_limit=None,
18612    ):
18613        self.meta = meta if meta is not None else None
18614        '''
18615         Reserved for future use.
18616        '''
18617        self.peering_group_node = peering_group_node if peering_group_node is not None else None
18618        '''
18619         The requested PeeringGroupNode.
18620        '''
18621        self.rate_limit = rate_limit if rate_limit is not None else None
18622        '''
18623         Rate limit information.
18624        '''
18625
18626    def __repr__(self):
18627        return '<sdm.PeeringGroupNodeGetResponse ' + \
18628            'meta: ' + repr(self.meta) + ' ' +\
18629            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
18630            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18631            '>'
18632
18633    def to_dict(self):
18634        return {
18635            'meta': self.meta,
18636            'peering_group_node': self.peering_group_node,
18637            'rate_limit': self.rate_limit,
18638        }
18639
18640    @classmethod
18641    def from_dict(cls, d):
18642        return cls(
18643            meta=d.get('meta'),
18644            peering_group_node=d.get('peering_group_node'),
18645            rate_limit=d.get('rate_limit'),
18646        )
18647
18648
18649class PeeringGroupPeer:
18650    '''
18651         PeeringGroupPeer represents the link between two PeeringGroups
18652    '''
18653    __slots__ = [
18654        'group_id',
18655        'id',
18656        'peers_with_group_id',
18657    ]
18658
18659    def __init__(
18660        self,
18661        group_id=None,
18662        id=None,
18663        peers_with_group_id=None,
18664    ):
18665        self.group_id = group_id if group_id is not None else ''
18666        '''
18667         Group ID from which the link will originate.
18668        '''
18669        self.id = id if id is not None else ''
18670        '''
18671         Unique identifier of the Attachment.
18672        '''
18673        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
18674        '''
18675         Peering Group ID to which Group ID will link.
18676        '''
18677
18678    def __repr__(self):
18679        return '<sdm.PeeringGroupPeer ' + \
18680            'group_id: ' + repr(self.group_id) + ' ' +\
18681            'id: ' + repr(self.id) + ' ' +\
18682            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
18683            '>'
18684
18685    def to_dict(self):
18686        return {
18687            'group_id': self.group_id,
18688            'id': self.id,
18689            'peers_with_group_id': self.peers_with_group_id,
18690        }
18691
18692    @classmethod
18693    def from_dict(cls, d):
18694        return cls(
18695            group_id=d.get('group_id'),
18696            id=d.get('id'),
18697            peers_with_group_id=d.get('peers_with_group_id'),
18698        )
18699
18700
18701class PeeringGroupPeerCreateResponse:
18702    '''
18703         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
18704    '''
18705    __slots__ = [
18706        'meta',
18707        'peering_group_peer',
18708        'rate_limit',
18709    ]
18710
18711    def __init__(
18712        self,
18713        meta=None,
18714        peering_group_peer=None,
18715        rate_limit=None,
18716    ):
18717        self.meta = meta if meta is not None else None
18718        '''
18719         Reserved for future use.
18720        '''
18721        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
18722        '''
18723         The created PeeringGroupPeer.
18724        '''
18725        self.rate_limit = rate_limit if rate_limit is not None else None
18726        '''
18727         Rate limit information.
18728        '''
18729
18730    def __repr__(self):
18731        return '<sdm.PeeringGroupPeerCreateResponse ' + \
18732            'meta: ' + repr(self.meta) + ' ' +\
18733            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
18734            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18735            '>'
18736
18737    def to_dict(self):
18738        return {
18739            'meta': self.meta,
18740            'peering_group_peer': self.peering_group_peer,
18741            'rate_limit': self.rate_limit,
18742        }
18743
18744    @classmethod
18745    def from_dict(cls, d):
18746        return cls(
18747            meta=d.get('meta'),
18748            peering_group_peer=d.get('peering_group_peer'),
18749            rate_limit=d.get('rate_limit'),
18750        )
18751
18752
18753class PeeringGroupPeerDeleteResponse:
18754    '''
18755         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
18756    '''
18757    __slots__ = [
18758        'meta',
18759        'rate_limit',
18760    ]
18761
18762    def __init__(
18763        self,
18764        meta=None,
18765        rate_limit=None,
18766    ):
18767        self.meta = meta if meta is not None else None
18768        '''
18769         Reserved for future use.
18770        '''
18771        self.rate_limit = rate_limit if rate_limit is not None else None
18772        '''
18773         Rate limit information.
18774        '''
18775
18776    def __repr__(self):
18777        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
18778            'meta: ' + repr(self.meta) + ' ' +\
18779            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18780            '>'
18781
18782    def to_dict(self):
18783        return {
18784            'meta': self.meta,
18785            'rate_limit': self.rate_limit,
18786        }
18787
18788    @classmethod
18789    def from_dict(cls, d):
18790        return cls(
18791            meta=d.get('meta'),
18792            rate_limit=d.get('rate_limit'),
18793        )
18794
18795
18796class PeeringGroupPeerGetResponse:
18797    '''
18798         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
18799    '''
18800    __slots__ = [
18801        'meta',
18802        'peering_group_peer',
18803        'rate_limit',
18804    ]
18805
18806    def __init__(
18807        self,
18808        meta=None,
18809        peering_group_peer=None,
18810        rate_limit=None,
18811    ):
18812        self.meta = meta if meta is not None else None
18813        '''
18814         Reserved for future use.
18815        '''
18816        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
18817        '''
18818         The requested PeeringGroupPeer.
18819        '''
18820        self.rate_limit = rate_limit if rate_limit is not None else None
18821        '''
18822         Rate limit information.
18823        '''
18824
18825    def __repr__(self):
18826        return '<sdm.PeeringGroupPeerGetResponse ' + \
18827            'meta: ' + repr(self.meta) + ' ' +\
18828            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
18829            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18830            '>'
18831
18832    def to_dict(self):
18833        return {
18834            'meta': self.meta,
18835            'peering_group_peer': self.peering_group_peer,
18836            'rate_limit': self.rate_limit,
18837        }
18838
18839    @classmethod
18840    def from_dict(cls, d):
18841        return cls(
18842            meta=d.get('meta'),
18843            peering_group_peer=d.get('peering_group_peer'),
18844            rate_limit=d.get('rate_limit'),
18845        )
18846
18847
18848class PeeringGroupResource:
18849    '''
18850         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
18851    '''
18852    __slots__ = [
18853        'group_id',
18854        'id',
18855        'resource_id',
18856    ]
18857
18858    def __init__(
18859        self,
18860        group_id=None,
18861        id=None,
18862        resource_id=None,
18863    ):
18864        self.group_id = group_id if group_id is not None else ''
18865        '''
18866         Peering Group ID to which the resource will be attached to.
18867        '''
18868        self.id = id if id is not None else ''
18869        '''
18870         Unique identifier of the Attachment.
18871        '''
18872        self.resource_id = resource_id if resource_id is not None else ''
18873        '''
18874         Resource ID to be attached.
18875        '''
18876
18877    def __repr__(self):
18878        return '<sdm.PeeringGroupResource ' + \
18879            'group_id: ' + repr(self.group_id) + ' ' +\
18880            'id: ' + repr(self.id) + ' ' +\
18881            'resource_id: ' + repr(self.resource_id) + ' ' +\
18882            '>'
18883
18884    def to_dict(self):
18885        return {
18886            'group_id': self.group_id,
18887            'id': self.id,
18888            'resource_id': self.resource_id,
18889        }
18890
18891    @classmethod
18892    def from_dict(cls, d):
18893        return cls(
18894            group_id=d.get('group_id'),
18895            id=d.get('id'),
18896            resource_id=d.get('resource_id'),
18897        )
18898
18899
18900class PeeringGroupResourceCreateResponse:
18901    '''
18902         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
18903    '''
18904    __slots__ = [
18905        'meta',
18906        'peering_group_resource',
18907        'rate_limit',
18908    ]
18909
18910    def __init__(
18911        self,
18912        meta=None,
18913        peering_group_resource=None,
18914        rate_limit=None,
18915    ):
18916        self.meta = meta if meta is not None else None
18917        '''
18918         Reserved for future use.
18919        '''
18920        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
18921        '''
18922         The created PeeringGroupResource.
18923        '''
18924        self.rate_limit = rate_limit if rate_limit is not None else None
18925        '''
18926         Rate limit information.
18927        '''
18928
18929    def __repr__(self):
18930        return '<sdm.PeeringGroupResourceCreateResponse ' + \
18931            'meta: ' + repr(self.meta) + ' ' +\
18932            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
18933            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18934            '>'
18935
18936    def to_dict(self):
18937        return {
18938            'meta': self.meta,
18939            'peering_group_resource': self.peering_group_resource,
18940            'rate_limit': self.rate_limit,
18941        }
18942
18943    @classmethod
18944    def from_dict(cls, d):
18945        return cls(
18946            meta=d.get('meta'),
18947            peering_group_resource=d.get('peering_group_resource'),
18948            rate_limit=d.get('rate_limit'),
18949        )
18950
18951
18952class PeeringGroupResourceDeleteResponse:
18953    '''
18954         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
18955    '''
18956    __slots__ = [
18957        'meta',
18958        'rate_limit',
18959    ]
18960
18961    def __init__(
18962        self,
18963        meta=None,
18964        rate_limit=None,
18965    ):
18966        self.meta = meta if meta is not None else None
18967        '''
18968         Reserved for future use.
18969        '''
18970        self.rate_limit = rate_limit if rate_limit is not None else None
18971        '''
18972         Rate limit information.
18973        '''
18974
18975    def __repr__(self):
18976        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
18977            'meta: ' + repr(self.meta) + ' ' +\
18978            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18979            '>'
18980
18981    def to_dict(self):
18982        return {
18983            'meta': self.meta,
18984            'rate_limit': self.rate_limit,
18985        }
18986
18987    @classmethod
18988    def from_dict(cls, d):
18989        return cls(
18990            meta=d.get('meta'),
18991            rate_limit=d.get('rate_limit'),
18992        )
18993
18994
18995class PeeringGroupResourceGetResponse:
18996    '''
18997         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
18998    '''
18999    __slots__ = [
19000        'meta',
19001        'peering_group_resource',
19002        'rate_limit',
19003    ]
19004
19005    def __init__(
19006        self,
19007        meta=None,
19008        peering_group_resource=None,
19009        rate_limit=None,
19010    ):
19011        self.meta = meta if meta is not None else None
19012        '''
19013         Reserved for future use.
19014        '''
19015        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
19016        '''
19017         The requested PeeringGroupResource.
19018        '''
19019        self.rate_limit = rate_limit if rate_limit is not None else None
19020        '''
19021         Rate limit information.
19022        '''
19023
19024    def __repr__(self):
19025        return '<sdm.PeeringGroupResourceGetResponse ' + \
19026            'meta: ' + repr(self.meta) + ' ' +\
19027            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
19028            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19029            '>'
19030
19031    def to_dict(self):
19032        return {
19033            'meta': self.meta,
19034            'peering_group_resource': self.peering_group_resource,
19035            'rate_limit': self.rate_limit,
19036        }
19037
19038    @classmethod
19039    def from_dict(cls, d):
19040        return cls(
19041            meta=d.get('meta'),
19042            peering_group_resource=d.get('peering_group_resource'),
19043            rate_limit=d.get('rate_limit'),
19044        )
19045
19046
19047class Policy:
19048    '''
19049         Policy is a collection of one or more statements that enforce fine-grained access control
19050     for the users of an organization.
19051    '''
19052    __slots__ = [
19053        'description',
19054        'id',
19055        'name',
19056        'policy',
19057    ]
19058
19059    def __init__(
19060        self,
19061        description=None,
19062        id=None,
19063        name=None,
19064        policy=None,
19065    ):
19066        self.description = description if description is not None else ''
19067        '''
19068         Optional description of the Policy.
19069        '''
19070        self.id = id if id is not None else ''
19071        '''
19072         Unique identifier of the Policy.
19073        '''
19074        self.name = name if name is not None else ''
19075        '''
19076         Unique human-readable name of the Policy.
19077        '''
19078        self.policy = policy if policy is not None else ''
19079        '''
19080         The content of the Policy, in Cedar policy language.
19081        '''
19082
19083    def __repr__(self):
19084        return '<sdm.Policy ' + \
19085            'description: ' + repr(self.description) + ' ' +\
19086            'id: ' + repr(self.id) + ' ' +\
19087            'name: ' + repr(self.name) + ' ' +\
19088            'policy: ' + repr(self.policy) + ' ' +\
19089            '>'
19090
19091    def to_dict(self):
19092        return {
19093            'description': self.description,
19094            'id': self.id,
19095            'name': self.name,
19096            'policy': self.policy,
19097        }
19098
19099    @classmethod
19100    def from_dict(cls, d):
19101        return cls(
19102            description=d.get('description'),
19103            id=d.get('id'),
19104            name=d.get('name'),
19105            policy=d.get('policy'),
19106        )
19107
19108
19109class PolicyCreateResponse:
19110    '''
19111         PolicyCreateResponse reports how the Policy was created in the system.
19112    '''
19113    __slots__ = [
19114        'policy',
19115        'rate_limit',
19116    ]
19117
19118    def __init__(
19119        self,
19120        policy=None,
19121        rate_limit=None,
19122    ):
19123        self.policy = policy if policy is not None else None
19124        '''
19125         The created Policy.
19126        '''
19127        self.rate_limit = rate_limit if rate_limit is not None else None
19128        '''
19129         Rate limit information.
19130        '''
19131
19132    def __repr__(self):
19133        return '<sdm.PolicyCreateResponse ' + \
19134            'policy: ' + repr(self.policy) + ' ' +\
19135            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19136            '>'
19137
19138    def to_dict(self):
19139        return {
19140            'policy': self.policy,
19141            'rate_limit': self.rate_limit,
19142        }
19143
19144    @classmethod
19145    def from_dict(cls, d):
19146        return cls(
19147            policy=d.get('policy'),
19148            rate_limit=d.get('rate_limit'),
19149        )
19150
19151
19152class PolicyDeleteResponse:
19153    '''
19154         PolicyDeleteResponse returns information about a Policy that was deleted.
19155    '''
19156    __slots__ = [
19157        'rate_limit',
19158    ]
19159
19160    def __init__(
19161        self,
19162        rate_limit=None,
19163    ):
19164        self.rate_limit = rate_limit if rate_limit is not None else None
19165        '''
19166         Rate limit information.
19167        '''
19168
19169    def __repr__(self):
19170        return '<sdm.PolicyDeleteResponse ' + \
19171            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19172            '>'
19173
19174    def to_dict(self):
19175        return {
19176            'rate_limit': self.rate_limit,
19177        }
19178
19179    @classmethod
19180    def from_dict(cls, d):
19181        return cls(rate_limit=d.get('rate_limit'), )
19182
19183
19184class PolicyGetResponse:
19185    '''
19186         PolicyGetResponse returns a requested Policy.
19187    '''
19188    __slots__ = [
19189        'meta',
19190        'policy',
19191        'rate_limit',
19192    ]
19193
19194    def __init__(
19195        self,
19196        meta=None,
19197        policy=None,
19198        rate_limit=None,
19199    ):
19200        self.meta = meta if meta is not None else None
19201        '''
19202         Reserved for future use.
19203        '''
19204        self.policy = policy if policy is not None else None
19205        '''
19206         The requested Policy.
19207        '''
19208        self.rate_limit = rate_limit if rate_limit is not None else None
19209        '''
19210         Rate limit information.
19211        '''
19212
19213    def __repr__(self):
19214        return '<sdm.PolicyGetResponse ' + \
19215            'meta: ' + repr(self.meta) + ' ' +\
19216            'policy: ' + repr(self.policy) + ' ' +\
19217            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19218            '>'
19219
19220    def to_dict(self):
19221        return {
19222            'meta': self.meta,
19223            'policy': self.policy,
19224            'rate_limit': self.rate_limit,
19225        }
19226
19227    @classmethod
19228    def from_dict(cls, d):
19229        return cls(
19230            meta=d.get('meta'),
19231            policy=d.get('policy'),
19232            rate_limit=d.get('rate_limit'),
19233        )
19234
19235
19236class PolicyHistory:
19237    '''
19238         PolicyHistory records the state of a Policy at a given point in time,
19239     where every change (create, update and delete) to a Policy produces a
19240     PolicyHistory record.
19241    '''
19242    __slots__ = [
19243        'activity_id',
19244        'deleted_at',
19245        'policy',
19246        'timestamp',
19247    ]
19248
19249    def __init__(
19250        self,
19251        activity_id=None,
19252        deleted_at=None,
19253        policy=None,
19254        timestamp=None,
19255    ):
19256        self.activity_id = activity_id if activity_id is not None else ''
19257        '''
19258         The unique identifier of the Activity that produced this change to the Policy.
19259         May be empty for some system-initiated updates.
19260        '''
19261        self.deleted_at = deleted_at if deleted_at is not None else None
19262        '''
19263         If this Policy was deleted, the time it was deleted.
19264        '''
19265        self.policy = policy if policy is not None else None
19266        '''
19267         The complete Policy state at this time.
19268        '''
19269        self.timestamp = timestamp if timestamp is not None else None
19270        '''
19271         The time at which the Policy state was recorded.
19272        '''
19273
19274    def __repr__(self):
19275        return '<sdm.PolicyHistory ' + \
19276            'activity_id: ' + repr(self.activity_id) + ' ' +\
19277            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19278            'policy: ' + repr(self.policy) + ' ' +\
19279            'timestamp: ' + repr(self.timestamp) + ' ' +\
19280            '>'
19281
19282    def to_dict(self):
19283        return {
19284            'activity_id': self.activity_id,
19285            'deleted_at': self.deleted_at,
19286            'policy': self.policy,
19287            'timestamp': self.timestamp,
19288        }
19289
19290    @classmethod
19291    def from_dict(cls, d):
19292        return cls(
19293            activity_id=d.get('activity_id'),
19294            deleted_at=d.get('deleted_at'),
19295            policy=d.get('policy'),
19296            timestamp=d.get('timestamp'),
19297        )
19298
19299
19300class PolicyListResponse:
19301    '''
19302         PolicyListResponse returns a list of Policy records that meet
19303     the criteria of a PolicyListRequest.
19304    '''
19305    __slots__ = [
19306        'rate_limit',
19307    ]
19308
19309    def __init__(
19310        self,
19311        rate_limit=None,
19312    ):
19313        self.rate_limit = rate_limit if rate_limit is not None else None
19314        '''
19315         Rate limit information.
19316        '''
19317
19318    def __repr__(self):
19319        return '<sdm.PolicyListResponse ' + \
19320            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19321            '>'
19322
19323    def to_dict(self):
19324        return {
19325            'rate_limit': self.rate_limit,
19326        }
19327
19328    @classmethod
19329    def from_dict(cls, d):
19330        return cls(rate_limit=d.get('rate_limit'), )
19331
19332
19333class PolicyUpdateResponse:
19334    '''
19335         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
19336     a PolicyUpdateRequest.
19337    '''
19338    __slots__ = [
19339        'policy',
19340        'rate_limit',
19341    ]
19342
19343    def __init__(
19344        self,
19345        policy=None,
19346        rate_limit=None,
19347    ):
19348        self.policy = policy if policy is not None else None
19349        '''
19350         The updated Policy.
19351        '''
19352        self.rate_limit = rate_limit if rate_limit is not None else None
19353        '''
19354         Rate limit information.
19355        '''
19356
19357    def __repr__(self):
19358        return '<sdm.PolicyUpdateResponse ' + \
19359            'policy: ' + repr(self.policy) + ' ' +\
19360            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19361            '>'
19362
19363    def to_dict(self):
19364        return {
19365            'policy': self.policy,
19366            'rate_limit': self.rate_limit,
19367        }
19368
19369    @classmethod
19370    def from_dict(cls, d):
19371        return cls(
19372            policy=d.get('policy'),
19373            rate_limit=d.get('rate_limit'),
19374        )
19375
19376
19377class Postgres:
19378    __slots__ = [
19379        'bind_interface',
19380        'database',
19381        'egress_filter',
19382        'healthy',
19383        'hostname',
19384        'id',
19385        'name',
19386        'override_database',
19387        'password',
19388        'port',
19389        'port_override',
19390        'proxy_cluster_id',
19391        'secret_store_id',
19392        'subdomain',
19393        'tags',
19394        'username',
19395    ]
19396
19397    def __init__(
19398        self,
19399        bind_interface=None,
19400        database=None,
19401        egress_filter=None,
19402        healthy=None,
19403        hostname=None,
19404        id=None,
19405        name=None,
19406        override_database=None,
19407        password=None,
19408        port=None,
19409        port_override=None,
19410        proxy_cluster_id=None,
19411        secret_store_id=None,
19412        subdomain=None,
19413        tags=None,
19414        username=None,
19415    ):
19416        self.bind_interface = bind_interface if bind_interface is not None else ''
19417        '''
19418         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19419        '''
19420        self.database = database if database is not None else ''
19421        '''
19422         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19423        '''
19424        self.egress_filter = egress_filter if egress_filter is not None else ''
19425        '''
19426         A filter applied to the routing logic to pin datasource to nodes.
19427        '''
19428        self.healthy = healthy if healthy is not None else False
19429        '''
19430         True if the datasource is reachable and the credentials are valid.
19431        '''
19432        self.hostname = hostname if hostname is not None else ''
19433        '''
19434         The host to dial to initiate a connection from the egress node to this resource.
19435        '''
19436        self.id = id if id is not None else ''
19437        '''
19438         Unique identifier of the Resource.
19439        '''
19440        self.name = name if name is not None else ''
19441        '''
19442         Unique human-readable name of the Resource.
19443        '''
19444        self.override_database = override_database if override_database is not None else False
19445        '''
19446         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.
19447        '''
19448        self.password = password if password is not None else ''
19449        '''
19450         The password to authenticate with.
19451        '''
19452        self.port = port if port is not None else 0
19453        '''
19454         The port to dial to initiate a connection from the egress node to this resource.
19455        '''
19456        self.port_override = port_override if port_override is not None else 0
19457        '''
19458         The local port used by clients to connect to this resource.
19459        '''
19460        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19461        '''
19462         ID of the proxy cluster for this resource, if any.
19463        '''
19464        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19465        '''
19466         ID of the secret store containing credentials for this resource, if any.
19467        '''
19468        self.subdomain = subdomain if subdomain is not None else ''
19469        '''
19470         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19471        '''
19472        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19473        '''
19474         Tags is a map of key, value pairs.
19475        '''
19476        self.username = username if username is not None else ''
19477        '''
19478         The username to authenticate with.
19479        '''
19480
19481    def __repr__(self):
19482        return '<sdm.Postgres ' + \
19483            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19484            'database: ' + repr(self.database) + ' ' +\
19485            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19486            'healthy: ' + repr(self.healthy) + ' ' +\
19487            'hostname: ' + repr(self.hostname) + ' ' +\
19488            'id: ' + repr(self.id) + ' ' +\
19489            'name: ' + repr(self.name) + ' ' +\
19490            'override_database: ' + repr(self.override_database) + ' ' +\
19491            'password: ' + repr(self.password) + ' ' +\
19492            'port: ' + repr(self.port) + ' ' +\
19493            'port_override: ' + repr(self.port_override) + ' ' +\
19494            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19495            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19496            'subdomain: ' + repr(self.subdomain) + ' ' +\
19497            'tags: ' + repr(self.tags) + ' ' +\
19498            'username: ' + repr(self.username) + ' ' +\
19499            '>'
19500
19501    def to_dict(self):
19502        return {
19503            'bind_interface': self.bind_interface,
19504            'database': self.database,
19505            'egress_filter': self.egress_filter,
19506            'healthy': self.healthy,
19507            'hostname': self.hostname,
19508            'id': self.id,
19509            'name': self.name,
19510            'override_database': self.override_database,
19511            'password': self.password,
19512            'port': self.port,
19513            'port_override': self.port_override,
19514            'proxy_cluster_id': self.proxy_cluster_id,
19515            'secret_store_id': self.secret_store_id,
19516            'subdomain': self.subdomain,
19517            'tags': self.tags,
19518            'username': self.username,
19519        }
19520
19521    @classmethod
19522    def from_dict(cls, d):
19523        return cls(
19524            bind_interface=d.get('bind_interface'),
19525            database=d.get('database'),
19526            egress_filter=d.get('egress_filter'),
19527            healthy=d.get('healthy'),
19528            hostname=d.get('hostname'),
19529            id=d.get('id'),
19530            name=d.get('name'),
19531            override_database=d.get('override_database'),
19532            password=d.get('password'),
19533            port=d.get('port'),
19534            port_override=d.get('port_override'),
19535            proxy_cluster_id=d.get('proxy_cluster_id'),
19536            secret_store_id=d.get('secret_store_id'),
19537            subdomain=d.get('subdomain'),
19538            tags=d.get('tags'),
19539            username=d.get('username'),
19540        )
19541
19542
19543class Presto:
19544    __slots__ = [
19545        'bind_interface',
19546        'database',
19547        'egress_filter',
19548        'healthy',
19549        'hostname',
19550        'id',
19551        'name',
19552        'password',
19553        'port',
19554        'port_override',
19555        'proxy_cluster_id',
19556        'secret_store_id',
19557        'subdomain',
19558        'tags',
19559        'tls_required',
19560        'username',
19561    ]
19562
19563    def __init__(
19564        self,
19565        bind_interface=None,
19566        database=None,
19567        egress_filter=None,
19568        healthy=None,
19569        hostname=None,
19570        id=None,
19571        name=None,
19572        password=None,
19573        port=None,
19574        port_override=None,
19575        proxy_cluster_id=None,
19576        secret_store_id=None,
19577        subdomain=None,
19578        tags=None,
19579        tls_required=None,
19580        username=None,
19581    ):
19582        self.bind_interface = bind_interface if bind_interface is not None else ''
19583        '''
19584         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19585        '''
19586        self.database = database if database is not None else ''
19587        '''
19588         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19589        '''
19590        self.egress_filter = egress_filter if egress_filter is not None else ''
19591        '''
19592         A filter applied to the routing logic to pin datasource to nodes.
19593        '''
19594        self.healthy = healthy if healthy is not None else False
19595        '''
19596         True if the datasource is reachable and the credentials are valid.
19597        '''
19598        self.hostname = hostname if hostname is not None else ''
19599        '''
19600         The host to dial to initiate a connection from the egress node to this resource.
19601        '''
19602        self.id = id if id is not None else ''
19603        '''
19604         Unique identifier of the Resource.
19605        '''
19606        self.name = name if name is not None else ''
19607        '''
19608         Unique human-readable name of the Resource.
19609        '''
19610        self.password = password if password is not None else ''
19611        '''
19612         The password to authenticate with.
19613        '''
19614        self.port = port if port is not None else 0
19615        '''
19616         The port to dial to initiate a connection from the egress node to this resource.
19617        '''
19618        self.port_override = port_override if port_override is not None else 0
19619        '''
19620         The local port used by clients to connect to this resource.
19621        '''
19622        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19623        '''
19624         ID of the proxy cluster for this resource, if any.
19625        '''
19626        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19627        '''
19628         ID of the secret store containing credentials for this resource, if any.
19629        '''
19630        self.subdomain = subdomain if subdomain is not None else ''
19631        '''
19632         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19633        '''
19634        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19635        '''
19636         Tags is a map of key, value pairs.
19637        '''
19638        self.tls_required = tls_required if tls_required is not None else False
19639        '''
19640         If set, TLS must be used to connect to this resource.
19641        '''
19642        self.username = username if username is not None else ''
19643        '''
19644         The username to authenticate with.
19645        '''
19646
19647    def __repr__(self):
19648        return '<sdm.Presto ' + \
19649            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19650            'database: ' + repr(self.database) + ' ' +\
19651            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19652            'healthy: ' + repr(self.healthy) + ' ' +\
19653            'hostname: ' + repr(self.hostname) + ' ' +\
19654            'id: ' + repr(self.id) + ' ' +\
19655            'name: ' + repr(self.name) + ' ' +\
19656            'password: ' + repr(self.password) + ' ' +\
19657            'port: ' + repr(self.port) + ' ' +\
19658            'port_override: ' + repr(self.port_override) + ' ' +\
19659            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19660            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19661            'subdomain: ' + repr(self.subdomain) + ' ' +\
19662            'tags: ' + repr(self.tags) + ' ' +\
19663            'tls_required: ' + repr(self.tls_required) + ' ' +\
19664            'username: ' + repr(self.username) + ' ' +\
19665            '>'
19666
19667    def to_dict(self):
19668        return {
19669            'bind_interface': self.bind_interface,
19670            'database': self.database,
19671            'egress_filter': self.egress_filter,
19672            'healthy': self.healthy,
19673            'hostname': self.hostname,
19674            'id': self.id,
19675            'name': self.name,
19676            'password': self.password,
19677            'port': self.port,
19678            'port_override': self.port_override,
19679            'proxy_cluster_id': self.proxy_cluster_id,
19680            'secret_store_id': self.secret_store_id,
19681            'subdomain': self.subdomain,
19682            'tags': self.tags,
19683            'tls_required': self.tls_required,
19684            'username': self.username,
19685        }
19686
19687    @classmethod
19688    def from_dict(cls, d):
19689        return cls(
19690            bind_interface=d.get('bind_interface'),
19691            database=d.get('database'),
19692            egress_filter=d.get('egress_filter'),
19693            healthy=d.get('healthy'),
19694            hostname=d.get('hostname'),
19695            id=d.get('id'),
19696            name=d.get('name'),
19697            password=d.get('password'),
19698            port=d.get('port'),
19699            port_override=d.get('port_override'),
19700            proxy_cluster_id=d.get('proxy_cluster_id'),
19701            secret_store_id=d.get('secret_store_id'),
19702            subdomain=d.get('subdomain'),
19703            tags=d.get('tags'),
19704            tls_required=d.get('tls_required'),
19705            username=d.get('username'),
19706        )
19707
19708
19709class ProxyCluster:
19710    '''
19711         ProxyCluster represents a cluster of StrongDM proxies.
19712    '''
19713    __slots__ = [
19714        'address',
19715        'id',
19716        'maintenance_windows',
19717        'name',
19718        'tags',
19719    ]
19720
19721    def __init__(
19722        self,
19723        address=None,
19724        id=None,
19725        maintenance_windows=None,
19726        name=None,
19727        tags=None,
19728    ):
19729        self.address = address if address is not None else ''
19730        '''
19731         The public hostname/port tuple at which the proxy cluster will be
19732         accessible to clients.
19733        '''
19734        self.id = id if id is not None else ''
19735        '''
19736         Unique identifier of the Proxy Cluster.
19737        '''
19738        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
19739        '''
19740         Maintenance Windows define when this node is allowed to restart. If a node
19741         is requested to restart, it will check each window to determine if any of
19742         them permit it to restart, and if any do, it will. This check is repeated
19743         per window until the restart is successfully completed.
19744         
19745         If not set here, may be set on the command line or via an environment variable
19746         on the process itself; any server setting will take precedence over local
19747         settings. This setting is ineffective for nodes below version 38.44.0.
19748         
19749         If this setting is not applied via this remote configuration or via local
19750         configuration, the default setting is used: always allow restarts if serving
19751         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
19752        '''
19753        self.name = name if name is not None else ''
19754        '''
19755         Unique human-readable name of the proxy cluster. Names must
19756         include only letters, numbers, and hyphens (no spaces, underscores, or
19757         other special characters). Generated if not provided on create.
19758        '''
19759        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19760        '''
19761         Tags is a map of key, value pairs.
19762        '''
19763
19764    def __repr__(self):
19765        return '<sdm.ProxyCluster ' + \
19766            'address: ' + repr(self.address) + ' ' +\
19767            'id: ' + repr(self.id) + ' ' +\
19768            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
19769            'name: ' + repr(self.name) + ' ' +\
19770            'tags: ' + repr(self.tags) + ' ' +\
19771            '>'
19772
19773    def to_dict(self):
19774        return {
19775            'address': self.address,
19776            'id': self.id,
19777            'maintenance_windows': self.maintenance_windows,
19778            'name': self.name,
19779            'tags': self.tags,
19780        }
19781
19782    @classmethod
19783    def from_dict(cls, d):
19784        return cls(
19785            address=d.get('address'),
19786            id=d.get('id'),
19787            maintenance_windows=d.get('maintenance_windows'),
19788            name=d.get('name'),
19789            tags=d.get('tags'),
19790        )
19791
19792
19793class ProxyClusterKey:
19794    '''
19795         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
19796     The proxies within a cluster share the same key. One cluster can have
19797     multiple keys in order to facilitate key rotation.
19798    '''
19799    __slots__ = [
19800        'created_at',
19801        'id',
19802        'last_used_at',
19803        'proxy_cluster_id',
19804    ]
19805
19806    def __init__(
19807        self,
19808        created_at=None,
19809        id=None,
19810        last_used_at=None,
19811        proxy_cluster_id=None,
19812    ):
19813        self.created_at = created_at if created_at is not None else None
19814        '''
19815         The timestamp when this key was created.
19816        '''
19817        self.id = id if id is not None else ''
19818        '''
19819         Unique identifier of the Relay.
19820        '''
19821        self.last_used_at = last_used_at if last_used_at is not None else None
19822        '''
19823         The timestamp when this key was last used, if at all.
19824        '''
19825        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19826        '''
19827         The ID of the proxy cluster which this key authenticates to.
19828        '''
19829
19830    def __repr__(self):
19831        return '<sdm.ProxyClusterKey ' + \
19832            'created_at: ' + repr(self.created_at) + ' ' +\
19833            'id: ' + repr(self.id) + ' ' +\
19834            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
19835            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19836            '>'
19837
19838    def to_dict(self):
19839        return {
19840            'created_at': self.created_at,
19841            'id': self.id,
19842            'last_used_at': self.last_used_at,
19843            'proxy_cluster_id': self.proxy_cluster_id,
19844        }
19845
19846    @classmethod
19847    def from_dict(cls, d):
19848        return cls(
19849            created_at=d.get('created_at'),
19850            id=d.get('id'),
19851            last_used_at=d.get('last_used_at'),
19852            proxy_cluster_id=d.get('proxy_cluster_id'),
19853        )
19854
19855
19856class ProxyClusterKeyCreateResponse:
19857    '''
19858         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
19859    '''
19860    __slots__ = [
19861        'meta',
19862        'proxy_cluster_key',
19863        'rate_limit',
19864        'secret_key',
19865    ]
19866
19867    def __init__(
19868        self,
19869        meta=None,
19870        proxy_cluster_key=None,
19871        rate_limit=None,
19872        secret_key=None,
19873    ):
19874        self.meta = meta if meta is not None else None
19875        '''
19876         Reserved for future use.
19877        '''
19878        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
19879        '''
19880         The created ProxyClusterKey.
19881        '''
19882        self.rate_limit = rate_limit if rate_limit is not None else None
19883        '''
19884         Rate limit information.
19885        '''
19886        self.secret_key = secret_key if secret_key is not None else ''
19887        '''
19888         The secret key component of this key. It must be saved upon creation
19889         because it will not be available for retrieval later.
19890        '''
19891
19892    def __repr__(self):
19893        return '<sdm.ProxyClusterKeyCreateResponse ' + \
19894            'meta: ' + repr(self.meta) + ' ' +\
19895            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
19896            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19897            'secret_key: ' + repr(self.secret_key) + ' ' +\
19898            '>'
19899
19900    def to_dict(self):
19901        return {
19902            'meta': self.meta,
19903            'proxy_cluster_key': self.proxy_cluster_key,
19904            'rate_limit': self.rate_limit,
19905            'secret_key': self.secret_key,
19906        }
19907
19908    @classmethod
19909    def from_dict(cls, d):
19910        return cls(
19911            meta=d.get('meta'),
19912            proxy_cluster_key=d.get('proxy_cluster_key'),
19913            rate_limit=d.get('rate_limit'),
19914            secret_key=d.get('secret_key'),
19915        )
19916
19917
19918class ProxyClusterKeyDeleteResponse:
19919    '''
19920         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
19921    '''
19922    __slots__ = [
19923        'meta',
19924        'rate_limit',
19925    ]
19926
19927    def __init__(
19928        self,
19929        meta=None,
19930        rate_limit=None,
19931    ):
19932        self.meta = meta if meta is not None else None
19933        '''
19934         Reserved for future use.
19935        '''
19936        self.rate_limit = rate_limit if rate_limit is not None else None
19937        '''
19938         Rate limit information.
19939        '''
19940
19941    def __repr__(self):
19942        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
19943            'meta: ' + repr(self.meta) + ' ' +\
19944            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19945            '>'
19946
19947    def to_dict(self):
19948        return {
19949            'meta': self.meta,
19950            'rate_limit': self.rate_limit,
19951        }
19952
19953    @classmethod
19954    def from_dict(cls, d):
19955        return cls(
19956            meta=d.get('meta'),
19957            rate_limit=d.get('rate_limit'),
19958        )
19959
19960
19961class ProxyClusterKeyGetResponse:
19962    '''
19963         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
19964    '''
19965    __slots__ = [
19966        'meta',
19967        'proxy_cluster_key',
19968        'rate_limit',
19969    ]
19970
19971    def __init__(
19972        self,
19973        meta=None,
19974        proxy_cluster_key=None,
19975        rate_limit=None,
19976    ):
19977        self.meta = meta if meta is not None else None
19978        '''
19979         Reserved for future use.
19980        '''
19981        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
19982        '''
19983         The requested ProxyClusterKey.
19984        '''
19985        self.rate_limit = rate_limit if rate_limit is not None else None
19986        '''
19987         Rate limit information.
19988        '''
19989
19990    def __repr__(self):
19991        return '<sdm.ProxyClusterKeyGetResponse ' + \
19992            'meta: ' + repr(self.meta) + ' ' +\
19993            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
19994            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19995            '>'
19996
19997    def to_dict(self):
19998        return {
19999            'meta': self.meta,
20000            'proxy_cluster_key': self.proxy_cluster_key,
20001            'rate_limit': self.rate_limit,
20002        }
20003
20004    @classmethod
20005    def from_dict(cls, d):
20006        return cls(
20007            meta=d.get('meta'),
20008            proxy_cluster_key=d.get('proxy_cluster_key'),
20009            rate_limit=d.get('rate_limit'),
20010        )
20011
20012
20013class Query:
20014    '''
20015         A Query is a record of a single client request to a resource, such as a SQL query.
20016     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
20017     interactive sessions will return two Query records with the same identifier, one record
20018     at the start of the query and a second record upon the completion of the query with
20019     additional detail.
20020    '''
20021    __slots__ = [
20022        'account_email',
20023        'account_first_name',
20024        'account_id',
20025        'account_last_name',
20026        'account_tags',
20027        'authzjson',
20028        'capture',
20029        'client_ip',
20030        'completed_at',
20031        'duration',
20032        'egress_node_id',
20033        'encrypted',
20034        'id',
20035        'identity_alias_username',
20036        'query_body',
20037        'query_category',
20038        'query_hash',
20039        'query_key',
20040        'record_count',
20041        'remote_identity_username',
20042        'replayable',
20043        'resource_id',
20044        'resource_name',
20045        'resource_tags',
20046        'resource_type',
20047        'source_ip',
20048        'target',
20049        'timestamp',
20050    ]
20051
20052    def __init__(
20053        self,
20054        account_email=None,
20055        account_first_name=None,
20056        account_id=None,
20057        account_last_name=None,
20058        account_tags=None,
20059        authzjson=None,
20060        capture=None,
20061        client_ip=None,
20062        completed_at=None,
20063        duration=None,
20064        egress_node_id=None,
20065        encrypted=None,
20066        id=None,
20067        identity_alias_username=None,
20068        query_body=None,
20069        query_category=None,
20070        query_hash=None,
20071        query_key=None,
20072        record_count=None,
20073        remote_identity_username=None,
20074        replayable=None,
20075        resource_id=None,
20076        resource_name=None,
20077        resource_tags=None,
20078        resource_type=None,
20079        source_ip=None,
20080        target=None,
20081        timestamp=None,
20082    ):
20083        self.account_email = account_email if account_email is not None else ''
20084        '''
20085         The email of the account performing this query, at the time the query was executed.
20086         If the account email is later changed, that change will not be reflected via this field.
20087        '''
20088        self.account_first_name = account_first_name if account_first_name is not None else ''
20089        '''
20090         The given name of the account performing this query, at the time the query was executed.
20091         If the account is later renamed, that change will not be reflected via this field.
20092        '''
20093        self.account_id = account_id if account_id is not None else ''
20094        '''
20095         Unique identifier of the Account that performed the Query.
20096        '''
20097        self.account_last_name = account_last_name if account_last_name is not None else ''
20098        '''
20099         The family name of the account performing this query, at the time the query was executed.
20100         If the account is later renamed, that change will not be reflected via this field.
20101        '''
20102        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
20103        )
20104        '''
20105         The tags of the account accessed, at the time the query was executed. If the account
20106         tags are later changed, that change will not be reflected via this field.
20107        '''
20108        self.authzjson = authzjson if authzjson is not None else ''
20109        '''
20110         Authorization metadata associated with this query.
20111        '''
20112        self.capture = capture if capture is not None else None
20113        '''
20114         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
20115         about the captured query.
20116        '''
20117        self.client_ip = client_ip if client_ip is not None else ''
20118        '''
20119         The IP address the Query was performed from, as detected at the StrongDM control plane.
20120        '''
20121        self.completed_at = completed_at if completed_at is not None else None
20122        '''
20123         The time at which the Query was completed.
20124         Empty if this record indicates the start of a long-running query.
20125        '''
20126        self.duration = duration if duration is not None else None
20127        '''
20128         The duration of the Query.
20129        '''
20130        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
20131        '''
20132         The unique ID of the node through which the Resource was accessed.
20133        '''
20134        self.encrypted = encrypted if encrypted is not None else False
20135        '''
20136         Indicates that the body of the Query is encrypted.
20137        '''
20138        self.id = id if id is not None else ''
20139        '''
20140         Unique identifier of the Query.
20141        '''
20142        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
20143        '''
20144         The username of the IdentityAlias used to access the Resource.
20145        '''
20146        self.query_body = query_body if query_body is not None else ''
20147        '''
20148         The captured content of the Query.
20149         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
20150        '''
20151        self.query_category = query_category if query_category is not None else ''
20152        '''
20153         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
20154        '''
20155        self.query_hash = query_hash if query_hash is not None else ''
20156        '''
20157         The hash of the body of the Query.
20158        '''
20159        self.query_key = query_key if query_key is not None else ''
20160        '''
20161         The symmetric key used to encrypt the body of this Query and its replay if replayable.
20162         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
20163         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
20164         If the Query is not encrypted, this field is empty.
20165        '''
20166        self.record_count = record_count if record_count is not None else 0
20167        '''
20168         The number of records returned by the Query, for a database Resource.
20169        '''
20170        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
20171        '''
20172         The username of the RemoteIdentity used to access the Resource.
20173        '''
20174        self.replayable = replayable if replayable is not None else False
20175        '''
20176         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
20177        '''
20178        self.resource_id = resource_id if resource_id is not None else ''
20179        '''
20180         Unique identifier of the Resource against which the Query was performed.
20181        '''
20182        self.resource_name = resource_name if resource_name is not None else ''
20183        '''
20184         The name of the resource accessed, at the time the query was executed. If the resource
20185         is later renamed, that change will not be reflected via this field.
20186        '''
20187        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
20188        )
20189        '''
20190         The tags of the resource accessed, at the time the query was executed. If the resource
20191         tags are later changed, that change will not be reflected via this field.
20192        '''
20193        self.resource_type = resource_type if resource_type is not None else ''
20194        '''
20195         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
20196        '''
20197        self.source_ip = source_ip if source_ip is not None else ''
20198        '''
20199         The IP address the Query was performed from, as detected at the ingress gateway.
20200        '''
20201        self.target = target if target is not None else ''
20202        '''
20203         The target destination of the query, in host:port format.
20204        '''
20205        self.timestamp = timestamp if timestamp is not None else None
20206        '''
20207         The time at which the Query was started.
20208        '''
20209
20210    def __repr__(self):
20211        return '<sdm.Query ' + \
20212            'account_email: ' + repr(self.account_email) + ' ' +\
20213            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
20214            'account_id: ' + repr(self.account_id) + ' ' +\
20215            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
20216            'account_tags: ' + repr(self.account_tags) + ' ' +\
20217            'authzjson: ' + repr(self.authzjson) + ' ' +\
20218            'capture: ' + repr(self.capture) + ' ' +\
20219            'client_ip: ' + repr(self.client_ip) + ' ' +\
20220            'completed_at: ' + repr(self.completed_at) + ' ' +\
20221            'duration: ' + repr(self.duration) + ' ' +\
20222            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
20223            'encrypted: ' + repr(self.encrypted) + ' ' +\
20224            'id: ' + repr(self.id) + ' ' +\
20225            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
20226            'query_body: ' + repr(self.query_body) + ' ' +\
20227            'query_category: ' + repr(self.query_category) + ' ' +\
20228            'query_hash: ' + repr(self.query_hash) + ' ' +\
20229            'query_key: ' + repr(self.query_key) + ' ' +\
20230            'record_count: ' + repr(self.record_count) + ' ' +\
20231            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
20232            'replayable: ' + repr(self.replayable) + ' ' +\
20233            'resource_id: ' + repr(self.resource_id) + ' ' +\
20234            'resource_name: ' + repr(self.resource_name) + ' ' +\
20235            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
20236            'resource_type: ' + repr(self.resource_type) + ' ' +\
20237            'source_ip: ' + repr(self.source_ip) + ' ' +\
20238            'target: ' + repr(self.target) + ' ' +\
20239            'timestamp: ' + repr(self.timestamp) + ' ' +\
20240            '>'
20241
20242    def to_dict(self):
20243        return {
20244            'account_email': self.account_email,
20245            'account_first_name': self.account_first_name,
20246            'account_id': self.account_id,
20247            'account_last_name': self.account_last_name,
20248            'account_tags': self.account_tags,
20249            'authzjson': self.authzjson,
20250            'capture': self.capture,
20251            'client_ip': self.client_ip,
20252            'completed_at': self.completed_at,
20253            'duration': self.duration,
20254            'egress_node_id': self.egress_node_id,
20255            'encrypted': self.encrypted,
20256            'id': self.id,
20257            'identity_alias_username': self.identity_alias_username,
20258            'query_body': self.query_body,
20259            'query_category': self.query_category,
20260            'query_hash': self.query_hash,
20261            'query_key': self.query_key,
20262            'record_count': self.record_count,
20263            'remote_identity_username': self.remote_identity_username,
20264            'replayable': self.replayable,
20265            'resource_id': self.resource_id,
20266            'resource_name': self.resource_name,
20267            'resource_tags': self.resource_tags,
20268            'resource_type': self.resource_type,
20269            'source_ip': self.source_ip,
20270            'target': self.target,
20271            'timestamp': self.timestamp,
20272        }
20273
20274    @classmethod
20275    def from_dict(cls, d):
20276        return cls(
20277            account_email=d.get('account_email'),
20278            account_first_name=d.get('account_first_name'),
20279            account_id=d.get('account_id'),
20280            account_last_name=d.get('account_last_name'),
20281            account_tags=d.get('account_tags'),
20282            authzjson=d.get('authzjson'),
20283            capture=d.get('capture'),
20284            client_ip=d.get('client_ip'),
20285            completed_at=d.get('completed_at'),
20286            duration=d.get('duration'),
20287            egress_node_id=d.get('egress_node_id'),
20288            encrypted=d.get('encrypted'),
20289            id=d.get('id'),
20290            identity_alias_username=d.get('identity_alias_username'),
20291            query_body=d.get('query_body'),
20292            query_category=d.get('query_category'),
20293            query_hash=d.get('query_hash'),
20294            query_key=d.get('query_key'),
20295            record_count=d.get('record_count'),
20296            remote_identity_username=d.get('remote_identity_username'),
20297            replayable=d.get('replayable'),
20298            resource_id=d.get('resource_id'),
20299            resource_name=d.get('resource_name'),
20300            resource_tags=d.get('resource_tags'),
20301            resource_type=d.get('resource_type'),
20302            source_ip=d.get('source_ip'),
20303            target=d.get('target'),
20304            timestamp=d.get('timestamp'),
20305        )
20306
20307
20308class QueryCapture:
20309    '''
20310         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
20311    '''
20312    __slots__ = [
20313        'client_command',
20314        'command',
20315        'container',
20316        'env',
20317        'file_name',
20318        'file_size',
20319        'height',
20320        'impersonation_groups',
20321        'impersonation_user',
20322        'pod',
20323        'privilege_groups',
20324        'request_body',
20325        'request_method',
20326        'request_uri',
20327        'type',
20328        'width',
20329    ]
20330
20331    def __init__(
20332        self,
20333        client_command=None,
20334        command=None,
20335        container=None,
20336        env=None,
20337        file_name=None,
20338        file_size=None,
20339        height=None,
20340        impersonation_groups=None,
20341        impersonation_user=None,
20342        pod=None,
20343        privilege_groups=None,
20344        request_body=None,
20345        request_method=None,
20346        request_uri=None,
20347        type=None,
20348        width=None,
20349    ):
20350        self.client_command = client_command if client_command is not None else ''
20351        '''
20352         The command executed on the client for a Kubernetes session.
20353        '''
20354        self.command = command if command is not None else ''
20355        '''
20356         The command executed over an SSH or Kubernetes session.
20357        '''
20358        self.container = container if container is not None else ''
20359        '''
20360         The target container of a Kubernetes operation.
20361        '''
20362        self.env = env if env is not None else {}
20363        '''
20364         The environment variables for an SSH or Kubernetes session.
20365        '''
20366        self.file_name = file_name if file_name is not None else ''
20367        '''
20368         The remote file name of an SCP operation.
20369        '''
20370        self.file_size = file_size if file_size is not None else 0
20371        '''
20372         The file size transferred for an SCP operation.
20373        '''
20374        self.height = height if height is not None else 0
20375        '''
20376         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
20377        '''
20378        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
20379        '''
20380         The impersonation groups of a Kubernetes operation.
20381        '''
20382        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
20383        '''
20384         The impersonation user of a Kubernetes operation.
20385        '''
20386        self.pod = pod if pod is not None else ''
20387        '''
20388         The target pod of a Kubernetes operation.
20389        '''
20390        self.privilege_groups = privilege_groups if privilege_groups is not None else []
20391        '''
20392         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
20393        '''
20394        self.request_body = request_body if request_body is not None else b''
20395        '''
20396         The HTTP request body of a Kubernetes operation.
20397        '''
20398        self.request_method = request_method if request_method is not None else ''
20399        '''
20400         The HTTP request method of a Kubernetes operation.
20401        '''
20402        self.request_uri = request_uri if request_uri is not None else ''
20403        '''
20404         The HTTP request URI of a Kubernetes operation.
20405        '''
20406        self.type = type if type is not None else ''
20407        '''
20408         The CaptureType of this query capture, one of the CaptureType constants.
20409        '''
20410        self.width = width if width is not None else 0
20411        '''
20412         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
20413        '''
20414
20415    def __repr__(self):
20416        return '<sdm.QueryCapture ' + \
20417            'client_command: ' + repr(self.client_command) + ' ' +\
20418            'command: ' + repr(self.command) + ' ' +\
20419            'container: ' + repr(self.container) + ' ' +\
20420            'env: ' + repr(self.env) + ' ' +\
20421            'file_name: ' + repr(self.file_name) + ' ' +\
20422            'file_size: ' + repr(self.file_size) + ' ' +\
20423            'height: ' + repr(self.height) + ' ' +\
20424            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
20425            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
20426            'pod: ' + repr(self.pod) + ' ' +\
20427            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
20428            'request_body: ' + repr(self.request_body) + ' ' +\
20429            'request_method: ' + repr(self.request_method) + ' ' +\
20430            'request_uri: ' + repr(self.request_uri) + ' ' +\
20431            'type: ' + repr(self.type) + ' ' +\
20432            'width: ' + repr(self.width) + ' ' +\
20433            '>'
20434
20435    def to_dict(self):
20436        return {
20437            'client_command': self.client_command,
20438            'command': self.command,
20439            'container': self.container,
20440            'env': self.env,
20441            'file_name': self.file_name,
20442            'file_size': self.file_size,
20443            'height': self.height,
20444            'impersonation_groups': self.impersonation_groups,
20445            'impersonation_user': self.impersonation_user,
20446            'pod': self.pod,
20447            'privilege_groups': self.privilege_groups,
20448            'request_body': self.request_body,
20449            'request_method': self.request_method,
20450            'request_uri': self.request_uri,
20451            'type': self.type,
20452            'width': self.width,
20453        }
20454
20455    @classmethod
20456    def from_dict(cls, d):
20457        return cls(
20458            client_command=d.get('client_command'),
20459            command=d.get('command'),
20460            container=d.get('container'),
20461            env=d.get('env'),
20462            file_name=d.get('file_name'),
20463            file_size=d.get('file_size'),
20464            height=d.get('height'),
20465            impersonation_groups=d.get('impersonation_groups'),
20466            impersonation_user=d.get('impersonation_user'),
20467            pod=d.get('pod'),
20468            privilege_groups=d.get('privilege_groups'),
20469            request_body=d.get('request_body'),
20470            request_method=d.get('request_method'),
20471            request_uri=d.get('request_uri'),
20472            type=d.get('type'),
20473            width=d.get('width'),
20474        )
20475
20476
20477class RDP:
20478    __slots__ = [
20479        'bind_interface',
20480        'downgrade_nla_connections',
20481        'egress_filter',
20482        'healthy',
20483        'hostname',
20484        'id',
20485        'lock_required',
20486        'name',
20487        'password',
20488        'port',
20489        'port_override',
20490        'proxy_cluster_id',
20491        'secret_store_id',
20492        'subdomain',
20493        'tags',
20494        'username',
20495    ]
20496
20497    def __init__(
20498        self,
20499        bind_interface=None,
20500        downgrade_nla_connections=None,
20501        egress_filter=None,
20502        healthy=None,
20503        hostname=None,
20504        id=None,
20505        lock_required=None,
20506        name=None,
20507        password=None,
20508        port=None,
20509        port_override=None,
20510        proxy_cluster_id=None,
20511        secret_store_id=None,
20512        subdomain=None,
20513        tags=None,
20514        username=None,
20515    ):
20516        self.bind_interface = bind_interface if bind_interface is not None else ''
20517        '''
20518         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20519        '''
20520        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
20521        '''
20522         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.
20523        '''
20524        self.egress_filter = egress_filter if egress_filter is not None else ''
20525        '''
20526         A filter applied to the routing logic to pin datasource to nodes.
20527        '''
20528        self.healthy = healthy if healthy is not None else False
20529        '''
20530         True if the datasource is reachable and the credentials are valid.
20531        '''
20532        self.hostname = hostname if hostname is not None else ''
20533        '''
20534         The host to dial to initiate a connection from the egress node to this resource.
20535        '''
20536        self.id = id if id is not None else ''
20537        '''
20538         Unique identifier of the Resource.
20539        '''
20540        self.lock_required = lock_required if lock_required is not None else False
20541        '''
20542         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
20543        '''
20544        self.name = name if name is not None else ''
20545        '''
20546         Unique human-readable name of the Resource.
20547        '''
20548        self.password = password if password is not None else ''
20549        '''
20550         The password to authenticate with.
20551        '''
20552        self.port = port if port is not None else 0
20553        '''
20554         The port to dial to initiate a connection from the egress node to this resource.
20555        '''
20556        self.port_override = port_override if port_override is not None else 0
20557        '''
20558         The local port used by clients to connect to this resource.
20559        '''
20560        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20561        '''
20562         ID of the proxy cluster for this resource, if any.
20563        '''
20564        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20565        '''
20566         ID of the secret store containing credentials for this resource, if any.
20567        '''
20568        self.subdomain = subdomain if subdomain is not None else ''
20569        '''
20570         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20571        '''
20572        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20573        '''
20574         Tags is a map of key, value pairs.
20575        '''
20576        self.username = username if username is not None else ''
20577        '''
20578         The username to authenticate with.
20579        '''
20580
20581    def __repr__(self):
20582        return '<sdm.RDP ' + \
20583            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20584            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
20585            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20586            'healthy: ' + repr(self.healthy) + ' ' +\
20587            'hostname: ' + repr(self.hostname) + ' ' +\
20588            'id: ' + repr(self.id) + ' ' +\
20589            'lock_required: ' + repr(self.lock_required) + ' ' +\
20590            'name: ' + repr(self.name) + ' ' +\
20591            'password: ' + repr(self.password) + ' ' +\
20592            'port: ' + repr(self.port) + ' ' +\
20593            'port_override: ' + repr(self.port_override) + ' ' +\
20594            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20595            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20596            'subdomain: ' + repr(self.subdomain) + ' ' +\
20597            'tags: ' + repr(self.tags) + ' ' +\
20598            'username: ' + repr(self.username) + ' ' +\
20599            '>'
20600
20601    def to_dict(self):
20602        return {
20603            'bind_interface': self.bind_interface,
20604            'downgrade_nla_connections': self.downgrade_nla_connections,
20605            'egress_filter': self.egress_filter,
20606            'healthy': self.healthy,
20607            'hostname': self.hostname,
20608            'id': self.id,
20609            'lock_required': self.lock_required,
20610            'name': self.name,
20611            'password': self.password,
20612            'port': self.port,
20613            'port_override': self.port_override,
20614            'proxy_cluster_id': self.proxy_cluster_id,
20615            'secret_store_id': self.secret_store_id,
20616            'subdomain': self.subdomain,
20617            'tags': self.tags,
20618            'username': self.username,
20619        }
20620
20621    @classmethod
20622    def from_dict(cls, d):
20623        return cls(
20624            bind_interface=d.get('bind_interface'),
20625            downgrade_nla_connections=d.get('downgrade_nla_connections'),
20626            egress_filter=d.get('egress_filter'),
20627            healthy=d.get('healthy'),
20628            hostname=d.get('hostname'),
20629            id=d.get('id'),
20630            lock_required=d.get('lock_required'),
20631            name=d.get('name'),
20632            password=d.get('password'),
20633            port=d.get('port'),
20634            port_override=d.get('port_override'),
20635            proxy_cluster_id=d.get('proxy_cluster_id'),
20636            secret_store_id=d.get('secret_store_id'),
20637            subdomain=d.get('subdomain'),
20638            tags=d.get('tags'),
20639            username=d.get('username'),
20640        )
20641
20642
20643class RDPCert:
20644    __slots__ = [
20645        'bind_interface',
20646        'egress_filter',
20647        'healthy',
20648        'hostname',
20649        'id',
20650        'identity_alias_healthcheck_username',
20651        'identity_set_id',
20652        'lock_required',
20653        'name',
20654        'port',
20655        'port_override',
20656        'proxy_cluster_id',
20657        'secret_store_id',
20658        'subdomain',
20659        'tags',
20660        'username',
20661    ]
20662
20663    def __init__(
20664        self,
20665        bind_interface=None,
20666        egress_filter=None,
20667        healthy=None,
20668        hostname=None,
20669        id=None,
20670        identity_alias_healthcheck_username=None,
20671        identity_set_id=None,
20672        lock_required=None,
20673        name=None,
20674        port=None,
20675        port_override=None,
20676        proxy_cluster_id=None,
20677        secret_store_id=None,
20678        subdomain=None,
20679        tags=None,
20680        username=None,
20681    ):
20682        self.bind_interface = bind_interface if bind_interface is not None else ''
20683        '''
20684         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20685        '''
20686        self.egress_filter = egress_filter if egress_filter is not None else ''
20687        '''
20688         A filter applied to the routing logic to pin datasource to nodes.
20689        '''
20690        self.healthy = healthy if healthy is not None else False
20691        '''
20692         True if the datasource is reachable and the credentials are valid.
20693        '''
20694        self.hostname = hostname if hostname is not None else ''
20695        '''
20696         The host to dial to initiate a connection from the egress node to this resource.
20697        '''
20698        self.id = id if id is not None else ''
20699        '''
20700         Unique identifier of the Resource.
20701        '''
20702        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
20703        '''
20704         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
20705        '''
20706        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
20707        '''
20708         The ID of the identity set to use for identity connections.
20709        '''
20710        self.lock_required = lock_required if lock_required is not None else False
20711        '''
20712         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
20713        '''
20714        self.name = name if name is not None else ''
20715        '''
20716         Unique human-readable name of the Resource.
20717        '''
20718        self.port = port if port is not None else 0
20719        '''
20720         The port to dial to initiate a connection from the egress node to this resource.
20721        '''
20722        self.port_override = port_override if port_override is not None else 0
20723        '''
20724         The local port used by clients to connect to this resource.
20725        '''
20726        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20727        '''
20728         ID of the proxy cluster for this resource, if any.
20729        '''
20730        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20731        '''
20732         ID of the secret store containing credentials for this resource, if any.
20733        '''
20734        self.subdomain = subdomain if subdomain is not None else ''
20735        '''
20736         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20737        '''
20738        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20739        '''
20740         Tags is a map of key, value pairs.
20741        '''
20742        self.username = username if username is not None else ''
20743        '''
20744         The username to authenticate with.
20745        '''
20746
20747    def __repr__(self):
20748        return '<sdm.RDPCert ' + \
20749            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20750            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20751            'healthy: ' + repr(self.healthy) + ' ' +\
20752            'hostname: ' + repr(self.hostname) + ' ' +\
20753            'id: ' + repr(self.id) + ' ' +\
20754            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
20755            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
20756            'lock_required: ' + repr(self.lock_required) + ' ' +\
20757            'name: ' + repr(self.name) + ' ' +\
20758            'port: ' + repr(self.port) + ' ' +\
20759            'port_override: ' + repr(self.port_override) + ' ' +\
20760            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20761            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20762            'subdomain: ' + repr(self.subdomain) + ' ' +\
20763            'tags: ' + repr(self.tags) + ' ' +\
20764            'username: ' + repr(self.username) + ' ' +\
20765            '>'
20766
20767    def to_dict(self):
20768        return {
20769            'bind_interface': self.bind_interface,
20770            'egress_filter': self.egress_filter,
20771            'healthy': self.healthy,
20772            'hostname': self.hostname,
20773            'id': self.id,
20774            'identity_alias_healthcheck_username':
20775            self.identity_alias_healthcheck_username,
20776            'identity_set_id': self.identity_set_id,
20777            'lock_required': self.lock_required,
20778            'name': self.name,
20779            'port': self.port,
20780            'port_override': self.port_override,
20781            'proxy_cluster_id': self.proxy_cluster_id,
20782            'secret_store_id': self.secret_store_id,
20783            'subdomain': self.subdomain,
20784            'tags': self.tags,
20785            'username': self.username,
20786        }
20787
20788    @classmethod
20789    def from_dict(cls, d):
20790        return cls(
20791            bind_interface=d.get('bind_interface'),
20792            egress_filter=d.get('egress_filter'),
20793            healthy=d.get('healthy'),
20794            hostname=d.get('hostname'),
20795            id=d.get('id'),
20796            identity_alias_healthcheck_username=d.get(
20797                'identity_alias_healthcheck_username'),
20798            identity_set_id=d.get('identity_set_id'),
20799            lock_required=d.get('lock_required'),
20800            name=d.get('name'),
20801            port=d.get('port'),
20802            port_override=d.get('port_override'),
20803            proxy_cluster_id=d.get('proxy_cluster_id'),
20804            secret_store_id=d.get('secret_store_id'),
20805            subdomain=d.get('subdomain'),
20806            tags=d.get('tags'),
20807            username=d.get('username'),
20808        )
20809
20810
20811class RDSPostgresIAM:
20812    __slots__ = [
20813        'bind_interface',
20814        'database',
20815        'egress_filter',
20816        'healthy',
20817        'hostname',
20818        'id',
20819        'name',
20820        'override_database',
20821        'port',
20822        'port_override',
20823        'proxy_cluster_id',
20824        'region',
20825        'role_assumption_arn',
20826        'secret_store_id',
20827        'subdomain',
20828        'tags',
20829        'username',
20830    ]
20831
20832    def __init__(
20833        self,
20834        bind_interface=None,
20835        database=None,
20836        egress_filter=None,
20837        healthy=None,
20838        hostname=None,
20839        id=None,
20840        name=None,
20841        override_database=None,
20842        port=None,
20843        port_override=None,
20844        proxy_cluster_id=None,
20845        region=None,
20846        role_assumption_arn=None,
20847        secret_store_id=None,
20848        subdomain=None,
20849        tags=None,
20850        username=None,
20851    ):
20852        self.bind_interface = bind_interface if bind_interface is not None else ''
20853        '''
20854         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20855        '''
20856        self.database = database if database is not None else ''
20857        '''
20858         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20859        '''
20860        self.egress_filter = egress_filter if egress_filter is not None else ''
20861        '''
20862         A filter applied to the routing logic to pin datasource to nodes.
20863        '''
20864        self.healthy = healthy if healthy is not None else False
20865        '''
20866         True if the datasource is reachable and the credentials are valid.
20867        '''
20868        self.hostname = hostname if hostname is not None else ''
20869        '''
20870         The host to dial to initiate a connection from the egress node to this resource.
20871        '''
20872        self.id = id if id is not None else ''
20873        '''
20874         Unique identifier of the Resource.
20875        '''
20876        self.name = name if name is not None else ''
20877        '''
20878         Unique human-readable name of the Resource.
20879        '''
20880        self.override_database = override_database if override_database is not None else False
20881        '''
20882         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.
20883        '''
20884        self.port = port if port is not None else 0
20885        '''
20886         The port to dial to initiate a connection from the egress node to this resource.
20887        '''
20888        self.port_override = port_override if port_override is not None else 0
20889        '''
20890         The local port used by clients to connect to this resource.
20891        '''
20892        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20893        '''
20894         ID of the proxy cluster for this resource, if any.
20895        '''
20896        self.region = region if region is not None else ''
20897        '''
20898         The AWS region to connect to.
20899        '''
20900        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
20901        '''
20902         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
20903        '''
20904        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20905        '''
20906         ID of the secret store containing credentials for this resource, if any.
20907        '''
20908        self.subdomain = subdomain if subdomain is not None else ''
20909        '''
20910         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20911        '''
20912        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20913        '''
20914         Tags is a map of key, value pairs.
20915        '''
20916        self.username = username if username is not None else ''
20917        '''
20918         The username to authenticate with.
20919        '''
20920
20921    def __repr__(self):
20922        return '<sdm.RDSPostgresIAM ' + \
20923            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20924            'database: ' + repr(self.database) + ' ' +\
20925            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20926            'healthy: ' + repr(self.healthy) + ' ' +\
20927            'hostname: ' + repr(self.hostname) + ' ' +\
20928            'id: ' + repr(self.id) + ' ' +\
20929            'name: ' + repr(self.name) + ' ' +\
20930            'override_database: ' + repr(self.override_database) + ' ' +\
20931            'port: ' + repr(self.port) + ' ' +\
20932            'port_override: ' + repr(self.port_override) + ' ' +\
20933            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20934            'region: ' + repr(self.region) + ' ' +\
20935            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
20936            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20937            'subdomain: ' + repr(self.subdomain) + ' ' +\
20938            'tags: ' + repr(self.tags) + ' ' +\
20939            'username: ' + repr(self.username) + ' ' +\
20940            '>'
20941
20942    def to_dict(self):
20943        return {
20944            'bind_interface': self.bind_interface,
20945            'database': self.database,
20946            'egress_filter': self.egress_filter,
20947            'healthy': self.healthy,
20948            'hostname': self.hostname,
20949            'id': self.id,
20950            'name': self.name,
20951            'override_database': self.override_database,
20952            'port': self.port,
20953            'port_override': self.port_override,
20954            'proxy_cluster_id': self.proxy_cluster_id,
20955            'region': self.region,
20956            'role_assumption_arn': self.role_assumption_arn,
20957            'secret_store_id': self.secret_store_id,
20958            'subdomain': self.subdomain,
20959            'tags': self.tags,
20960            'username': self.username,
20961        }
20962
20963    @classmethod
20964    def from_dict(cls, d):
20965        return cls(
20966            bind_interface=d.get('bind_interface'),
20967            database=d.get('database'),
20968            egress_filter=d.get('egress_filter'),
20969            healthy=d.get('healthy'),
20970            hostname=d.get('hostname'),
20971            id=d.get('id'),
20972            name=d.get('name'),
20973            override_database=d.get('override_database'),
20974            port=d.get('port'),
20975            port_override=d.get('port_override'),
20976            proxy_cluster_id=d.get('proxy_cluster_id'),
20977            region=d.get('region'),
20978            role_assumption_arn=d.get('role_assumption_arn'),
20979            secret_store_id=d.get('secret_store_id'),
20980            subdomain=d.get('subdomain'),
20981            tags=d.get('tags'),
20982            username=d.get('username'),
20983        )
20984
20985
20986class RabbitMQAMQP091:
20987    __slots__ = [
20988        'bind_interface',
20989        'egress_filter',
20990        'healthy',
20991        'hostname',
20992        'id',
20993        'name',
20994        'password',
20995        'port',
20996        'port_override',
20997        'proxy_cluster_id',
20998        'secret_store_id',
20999        'subdomain',
21000        'tags',
21001        'tls_required',
21002        'username',
21003    ]
21004
21005    def __init__(
21006        self,
21007        bind_interface=None,
21008        egress_filter=None,
21009        healthy=None,
21010        hostname=None,
21011        id=None,
21012        name=None,
21013        password=None,
21014        port=None,
21015        port_override=None,
21016        proxy_cluster_id=None,
21017        secret_store_id=None,
21018        subdomain=None,
21019        tags=None,
21020        tls_required=None,
21021        username=None,
21022    ):
21023        self.bind_interface = bind_interface if bind_interface is not None else ''
21024        '''
21025         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21026        '''
21027        self.egress_filter = egress_filter if egress_filter is not None else ''
21028        '''
21029         A filter applied to the routing logic to pin datasource to nodes.
21030        '''
21031        self.healthy = healthy if healthy is not None else False
21032        '''
21033         True if the datasource is reachable and the credentials are valid.
21034        '''
21035        self.hostname = hostname if hostname is not None else ''
21036        '''
21037         The host to dial to initiate a connection from the egress node to this resource.
21038        '''
21039        self.id = id if id is not None else ''
21040        '''
21041         Unique identifier of the Resource.
21042        '''
21043        self.name = name if name is not None else ''
21044        '''
21045         Unique human-readable name of the Resource.
21046        '''
21047        self.password = password if password is not None else ''
21048        '''
21049         The password to authenticate with.
21050        '''
21051        self.port = port if port is not None else 0
21052        '''
21053         The port to dial to initiate a connection from the egress node to this resource.
21054        '''
21055        self.port_override = port_override if port_override is not None else 0
21056        '''
21057         The local port used by clients to connect to this resource.
21058        '''
21059        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21060        '''
21061         ID of the proxy cluster for this resource, if any.
21062        '''
21063        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21064        '''
21065         ID of the secret store containing credentials for this resource, if any.
21066        '''
21067        self.subdomain = subdomain if subdomain is not None else ''
21068        '''
21069         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21070        '''
21071        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21072        '''
21073         Tags is a map of key, value pairs.
21074        '''
21075        self.tls_required = tls_required if tls_required is not None else False
21076        '''
21077         If set, TLS must be used to connect to this resource.
21078        '''
21079        self.username = username if username is not None else ''
21080        '''
21081         The username to authenticate with.
21082        '''
21083
21084    def __repr__(self):
21085        return '<sdm.RabbitMQAMQP091 ' + \
21086            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21087            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21088            'healthy: ' + repr(self.healthy) + ' ' +\
21089            'hostname: ' + repr(self.hostname) + ' ' +\
21090            'id: ' + repr(self.id) + ' ' +\
21091            'name: ' + repr(self.name) + ' ' +\
21092            'password: ' + repr(self.password) + ' ' +\
21093            'port: ' + repr(self.port) + ' ' +\
21094            'port_override: ' + repr(self.port_override) + ' ' +\
21095            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21096            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21097            'subdomain: ' + repr(self.subdomain) + ' ' +\
21098            'tags: ' + repr(self.tags) + ' ' +\
21099            'tls_required: ' + repr(self.tls_required) + ' ' +\
21100            'username: ' + repr(self.username) + ' ' +\
21101            '>'
21102
21103    def to_dict(self):
21104        return {
21105            'bind_interface': self.bind_interface,
21106            'egress_filter': self.egress_filter,
21107            'healthy': self.healthy,
21108            'hostname': self.hostname,
21109            'id': self.id,
21110            'name': self.name,
21111            'password': self.password,
21112            'port': self.port,
21113            'port_override': self.port_override,
21114            'proxy_cluster_id': self.proxy_cluster_id,
21115            'secret_store_id': self.secret_store_id,
21116            'subdomain': self.subdomain,
21117            'tags': self.tags,
21118            'tls_required': self.tls_required,
21119            'username': self.username,
21120        }
21121
21122    @classmethod
21123    def from_dict(cls, d):
21124        return cls(
21125            bind_interface=d.get('bind_interface'),
21126            egress_filter=d.get('egress_filter'),
21127            healthy=d.get('healthy'),
21128            hostname=d.get('hostname'),
21129            id=d.get('id'),
21130            name=d.get('name'),
21131            password=d.get('password'),
21132            port=d.get('port'),
21133            port_override=d.get('port_override'),
21134            proxy_cluster_id=d.get('proxy_cluster_id'),
21135            secret_store_id=d.get('secret_store_id'),
21136            subdomain=d.get('subdomain'),
21137            tags=d.get('tags'),
21138            tls_required=d.get('tls_required'),
21139            username=d.get('username'),
21140        )
21141
21142
21143class RateLimitMetadata:
21144    '''
21145         RateLimitMetadata contains information about remaining requests avaialable
21146     to the user over some timeframe.
21147    '''
21148    __slots__ = [
21149        'bucket',
21150        'limit',
21151        'remaining',
21152        'reset_at',
21153    ]
21154
21155    def __init__(
21156        self,
21157        bucket=None,
21158        limit=None,
21159        remaining=None,
21160        reset_at=None,
21161    ):
21162        self.bucket = bucket if bucket is not None else ''
21163        '''
21164         The bucket this user/token is associated with, which may be shared between
21165         multiple users/tokens.
21166        '''
21167        self.limit = limit if limit is not None else 0
21168        '''
21169         How many total requests the user/token is authorized to make before being
21170         rate limited.
21171        '''
21172        self.remaining = remaining if remaining is not None else 0
21173        '''
21174         How many remaining requests out of the limit are still avaialable.
21175        '''
21176        self.reset_at = reset_at if reset_at is not None else None
21177        '''
21178         The time when remaining will be reset to limit.
21179        '''
21180
21181    def __repr__(self):
21182        return '<sdm.RateLimitMetadata ' + \
21183            'bucket: ' + repr(self.bucket) + ' ' +\
21184            'limit: ' + repr(self.limit) + ' ' +\
21185            'remaining: ' + repr(self.remaining) + ' ' +\
21186            'reset_at: ' + repr(self.reset_at) + ' ' +\
21187            '>'
21188
21189    def to_dict(self):
21190        return {
21191            'bucket': self.bucket,
21192            'limit': self.limit,
21193            'remaining': self.remaining,
21194            'reset_at': self.reset_at,
21195        }
21196
21197    @classmethod
21198    def from_dict(cls, d):
21199        return cls(
21200            bucket=d.get('bucket'),
21201            limit=d.get('limit'),
21202            remaining=d.get('remaining'),
21203            reset_at=d.get('reset_at'),
21204        )
21205
21206
21207class RawTCP:
21208    __slots__ = [
21209        'bind_interface',
21210        'egress_filter',
21211        'healthy',
21212        'hostname',
21213        'id',
21214        'name',
21215        'port',
21216        'port_override',
21217        'proxy_cluster_id',
21218        'secret_store_id',
21219        'subdomain',
21220        'tags',
21221    ]
21222
21223    def __init__(
21224        self,
21225        bind_interface=None,
21226        egress_filter=None,
21227        healthy=None,
21228        hostname=None,
21229        id=None,
21230        name=None,
21231        port=None,
21232        port_override=None,
21233        proxy_cluster_id=None,
21234        secret_store_id=None,
21235        subdomain=None,
21236        tags=None,
21237    ):
21238        self.bind_interface = bind_interface if bind_interface is not None else ''
21239        '''
21240         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21241        '''
21242        self.egress_filter = egress_filter if egress_filter is not None else ''
21243        '''
21244         A filter applied to the routing logic to pin datasource to nodes.
21245        '''
21246        self.healthy = healthy if healthy is not None else False
21247        '''
21248         True if the datasource is reachable and the credentials are valid.
21249        '''
21250        self.hostname = hostname if hostname is not None else ''
21251        '''
21252         The host to dial to initiate a connection from the egress node to this resource.
21253        '''
21254        self.id = id if id is not None else ''
21255        '''
21256         Unique identifier of the Resource.
21257        '''
21258        self.name = name if name is not None else ''
21259        '''
21260         Unique human-readable name of the Resource.
21261        '''
21262        self.port = port if port is not None else 0
21263        '''
21264         The port to dial to initiate a connection from the egress node to this resource.
21265        '''
21266        self.port_override = port_override if port_override is not None else 0
21267        '''
21268         The local port used by clients to connect to this resource.
21269        '''
21270        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21271        '''
21272         ID of the proxy cluster for this resource, if any.
21273        '''
21274        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21275        '''
21276         ID of the secret store containing credentials for this resource, if any.
21277        '''
21278        self.subdomain = subdomain if subdomain is not None else ''
21279        '''
21280         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21281        '''
21282        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21283        '''
21284         Tags is a map of key, value pairs.
21285        '''
21286
21287    def __repr__(self):
21288        return '<sdm.RawTCP ' + \
21289            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21290            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21291            'healthy: ' + repr(self.healthy) + ' ' +\
21292            'hostname: ' + repr(self.hostname) + ' ' +\
21293            'id: ' + repr(self.id) + ' ' +\
21294            'name: ' + repr(self.name) + ' ' +\
21295            'port: ' + repr(self.port) + ' ' +\
21296            'port_override: ' + repr(self.port_override) + ' ' +\
21297            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21298            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21299            'subdomain: ' + repr(self.subdomain) + ' ' +\
21300            'tags: ' + repr(self.tags) + ' ' +\
21301            '>'
21302
21303    def to_dict(self):
21304        return {
21305            'bind_interface': self.bind_interface,
21306            'egress_filter': self.egress_filter,
21307            'healthy': self.healthy,
21308            'hostname': self.hostname,
21309            'id': self.id,
21310            'name': self.name,
21311            'port': self.port,
21312            'port_override': self.port_override,
21313            'proxy_cluster_id': self.proxy_cluster_id,
21314            'secret_store_id': self.secret_store_id,
21315            'subdomain': self.subdomain,
21316            'tags': self.tags,
21317        }
21318
21319    @classmethod
21320    def from_dict(cls, d):
21321        return cls(
21322            bind_interface=d.get('bind_interface'),
21323            egress_filter=d.get('egress_filter'),
21324            healthy=d.get('healthy'),
21325            hostname=d.get('hostname'),
21326            id=d.get('id'),
21327            name=d.get('name'),
21328            port=d.get('port'),
21329            port_override=d.get('port_override'),
21330            proxy_cluster_id=d.get('proxy_cluster_id'),
21331            secret_store_id=d.get('secret_store_id'),
21332            subdomain=d.get('subdomain'),
21333            tags=d.get('tags'),
21334        )
21335
21336
21337class Redis:
21338    __slots__ = [
21339        'bind_interface',
21340        'egress_filter',
21341        'healthy',
21342        'hostname',
21343        'id',
21344        'name',
21345        'password',
21346        'port',
21347        'port_override',
21348        'proxy_cluster_id',
21349        'secret_store_id',
21350        'subdomain',
21351        'tags',
21352        'tls_required',
21353        'username',
21354    ]
21355
21356    def __init__(
21357        self,
21358        bind_interface=None,
21359        egress_filter=None,
21360        healthy=None,
21361        hostname=None,
21362        id=None,
21363        name=None,
21364        password=None,
21365        port=None,
21366        port_override=None,
21367        proxy_cluster_id=None,
21368        secret_store_id=None,
21369        subdomain=None,
21370        tags=None,
21371        tls_required=None,
21372        username=None,
21373    ):
21374        self.bind_interface = bind_interface if bind_interface is not None else ''
21375        '''
21376         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21377        '''
21378        self.egress_filter = egress_filter if egress_filter is not None else ''
21379        '''
21380         A filter applied to the routing logic to pin datasource to nodes.
21381        '''
21382        self.healthy = healthy if healthy is not None else False
21383        '''
21384         True if the datasource is reachable and the credentials are valid.
21385        '''
21386        self.hostname = hostname if hostname is not None else ''
21387        '''
21388         The host to dial to initiate a connection from the egress node to this resource.
21389        '''
21390        self.id = id if id is not None else ''
21391        '''
21392         Unique identifier of the Resource.
21393        '''
21394        self.name = name if name is not None else ''
21395        '''
21396         Unique human-readable name of the Resource.
21397        '''
21398        self.password = password if password is not None else ''
21399        '''
21400         The password to authenticate with.
21401        '''
21402        self.port = port if port is not None else 0
21403        '''
21404         The port to dial to initiate a connection from the egress node to this resource.
21405        '''
21406        self.port_override = port_override if port_override is not None else 0
21407        '''
21408         The local port used by clients to connect to this resource.
21409        '''
21410        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21411        '''
21412         ID of the proxy cluster for this resource, if any.
21413        '''
21414        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21415        '''
21416         ID of the secret store containing credentials for this resource, if any.
21417        '''
21418        self.subdomain = subdomain if subdomain is not None else ''
21419        '''
21420         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21421        '''
21422        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21423        '''
21424         Tags is a map of key, value pairs.
21425        '''
21426        self.tls_required = tls_required if tls_required is not None else False
21427        '''
21428         If set, TLS must be used to connect to this resource.
21429        '''
21430        self.username = username if username is not None else ''
21431        '''
21432         The username to authenticate with.
21433        '''
21434
21435    def __repr__(self):
21436        return '<sdm.Redis ' + \
21437            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21438            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21439            'healthy: ' + repr(self.healthy) + ' ' +\
21440            'hostname: ' + repr(self.hostname) + ' ' +\
21441            'id: ' + repr(self.id) + ' ' +\
21442            'name: ' + repr(self.name) + ' ' +\
21443            'password: ' + repr(self.password) + ' ' +\
21444            'port: ' + repr(self.port) + ' ' +\
21445            'port_override: ' + repr(self.port_override) + ' ' +\
21446            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21447            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21448            'subdomain: ' + repr(self.subdomain) + ' ' +\
21449            'tags: ' + repr(self.tags) + ' ' +\
21450            'tls_required: ' + repr(self.tls_required) + ' ' +\
21451            'username: ' + repr(self.username) + ' ' +\
21452            '>'
21453
21454    def to_dict(self):
21455        return {
21456            'bind_interface': self.bind_interface,
21457            'egress_filter': self.egress_filter,
21458            'healthy': self.healthy,
21459            'hostname': self.hostname,
21460            'id': self.id,
21461            'name': self.name,
21462            'password': self.password,
21463            'port': self.port,
21464            'port_override': self.port_override,
21465            'proxy_cluster_id': self.proxy_cluster_id,
21466            'secret_store_id': self.secret_store_id,
21467            'subdomain': self.subdomain,
21468            'tags': self.tags,
21469            'tls_required': self.tls_required,
21470            'username': self.username,
21471        }
21472
21473    @classmethod
21474    def from_dict(cls, d):
21475        return cls(
21476            bind_interface=d.get('bind_interface'),
21477            egress_filter=d.get('egress_filter'),
21478            healthy=d.get('healthy'),
21479            hostname=d.get('hostname'),
21480            id=d.get('id'),
21481            name=d.get('name'),
21482            password=d.get('password'),
21483            port=d.get('port'),
21484            port_override=d.get('port_override'),
21485            proxy_cluster_id=d.get('proxy_cluster_id'),
21486            secret_store_id=d.get('secret_store_id'),
21487            subdomain=d.get('subdomain'),
21488            tags=d.get('tags'),
21489            tls_required=d.get('tls_required'),
21490            username=d.get('username'),
21491        )
21492
21493
21494class Redshift:
21495    __slots__ = [
21496        'bind_interface',
21497        'database',
21498        'egress_filter',
21499        'healthy',
21500        'hostname',
21501        'id',
21502        'name',
21503        'override_database',
21504        'password',
21505        'port',
21506        'port_override',
21507        'proxy_cluster_id',
21508        'secret_store_id',
21509        'subdomain',
21510        'tags',
21511        'username',
21512    ]
21513
21514    def __init__(
21515        self,
21516        bind_interface=None,
21517        database=None,
21518        egress_filter=None,
21519        healthy=None,
21520        hostname=None,
21521        id=None,
21522        name=None,
21523        override_database=None,
21524        password=None,
21525        port=None,
21526        port_override=None,
21527        proxy_cluster_id=None,
21528        secret_store_id=None,
21529        subdomain=None,
21530        tags=None,
21531        username=None,
21532    ):
21533        self.bind_interface = bind_interface if bind_interface is not None else ''
21534        '''
21535         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21536        '''
21537        self.database = database if database is not None else ''
21538        '''
21539         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21540        '''
21541        self.egress_filter = egress_filter if egress_filter is not None else ''
21542        '''
21543         A filter applied to the routing logic to pin datasource to nodes.
21544        '''
21545        self.healthy = healthy if healthy is not None else False
21546        '''
21547         True if the datasource is reachable and the credentials are valid.
21548        '''
21549        self.hostname = hostname if hostname is not None else ''
21550        '''
21551         The host to dial to initiate a connection from the egress node to this resource.
21552        '''
21553        self.id = id if id is not None else ''
21554        '''
21555         Unique identifier of the Resource.
21556        '''
21557        self.name = name if name is not None else ''
21558        '''
21559         Unique human-readable name of the Resource.
21560        '''
21561        self.override_database = override_database if override_database is not None else False
21562        '''
21563         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.
21564        '''
21565        self.password = password if password is not None else ''
21566        '''
21567         The password to authenticate with.
21568        '''
21569        self.port = port if port is not None else 0
21570        '''
21571         The port to dial to initiate a connection from the egress node to this resource.
21572        '''
21573        self.port_override = port_override if port_override is not None else 0
21574        '''
21575         The local port used by clients to connect to this resource.
21576        '''
21577        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21578        '''
21579         ID of the proxy cluster for this resource, if any.
21580        '''
21581        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21582        '''
21583         ID of the secret store containing credentials for this resource, if any.
21584        '''
21585        self.subdomain = subdomain if subdomain is not None else ''
21586        '''
21587         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21588        '''
21589        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21590        '''
21591         Tags is a map of key, value pairs.
21592        '''
21593        self.username = username if username is not None else ''
21594        '''
21595         The username to authenticate with.
21596        '''
21597
21598    def __repr__(self):
21599        return '<sdm.Redshift ' + \
21600            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21601            'database: ' + repr(self.database) + ' ' +\
21602            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21603            'healthy: ' + repr(self.healthy) + ' ' +\
21604            'hostname: ' + repr(self.hostname) + ' ' +\
21605            'id: ' + repr(self.id) + ' ' +\
21606            'name: ' + repr(self.name) + ' ' +\
21607            'override_database: ' + repr(self.override_database) + ' ' +\
21608            'password: ' + repr(self.password) + ' ' +\
21609            'port: ' + repr(self.port) + ' ' +\
21610            'port_override: ' + repr(self.port_override) + ' ' +\
21611            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21612            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21613            'subdomain: ' + repr(self.subdomain) + ' ' +\
21614            'tags: ' + repr(self.tags) + ' ' +\
21615            'username: ' + repr(self.username) + ' ' +\
21616            '>'
21617
21618    def to_dict(self):
21619        return {
21620            'bind_interface': self.bind_interface,
21621            'database': self.database,
21622            'egress_filter': self.egress_filter,
21623            'healthy': self.healthy,
21624            'hostname': self.hostname,
21625            'id': self.id,
21626            'name': self.name,
21627            'override_database': self.override_database,
21628            'password': self.password,
21629            'port': self.port,
21630            'port_override': self.port_override,
21631            'proxy_cluster_id': self.proxy_cluster_id,
21632            'secret_store_id': self.secret_store_id,
21633            'subdomain': self.subdomain,
21634            'tags': self.tags,
21635            'username': self.username,
21636        }
21637
21638    @classmethod
21639    def from_dict(cls, d):
21640        return cls(
21641            bind_interface=d.get('bind_interface'),
21642            database=d.get('database'),
21643            egress_filter=d.get('egress_filter'),
21644            healthy=d.get('healthy'),
21645            hostname=d.get('hostname'),
21646            id=d.get('id'),
21647            name=d.get('name'),
21648            override_database=d.get('override_database'),
21649            password=d.get('password'),
21650            port=d.get('port'),
21651            port_override=d.get('port_override'),
21652            proxy_cluster_id=d.get('proxy_cluster_id'),
21653            secret_store_id=d.get('secret_store_id'),
21654            subdomain=d.get('subdomain'),
21655            tags=d.get('tags'),
21656            username=d.get('username'),
21657        )
21658
21659
21660class RedshiftIAM:
21661    '''
21662    RedshiftIAM is currently unstable, and its API may change, or it may be removed,
21663    without a major version bump.
21664    '''
21665    __slots__ = [
21666        'bind_interface',
21667        'cluster_id',
21668        'database',
21669        'egress_filter',
21670        'healthy',
21671        'hostname',
21672        'id',
21673        'name',
21674        'override_database',
21675        'port',
21676        'port_override',
21677        'proxy_cluster_id',
21678        'region',
21679        'role_assumption_arn',
21680        'secret_store_id',
21681        'subdomain',
21682        'tags',
21683    ]
21684
21685    def __init__(
21686        self,
21687        bind_interface=None,
21688        cluster_id=None,
21689        database=None,
21690        egress_filter=None,
21691        healthy=None,
21692        hostname=None,
21693        id=None,
21694        name=None,
21695        override_database=None,
21696        port=None,
21697        port_override=None,
21698        proxy_cluster_id=None,
21699        region=None,
21700        role_assumption_arn=None,
21701        secret_store_id=None,
21702        subdomain=None,
21703        tags=None,
21704    ):
21705        self.bind_interface = bind_interface if bind_interface is not None else ''
21706        '''
21707         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21708        '''
21709        self.cluster_id = cluster_id if cluster_id is not None else ''
21710        '''
21711         Cluster Identified of Redshift cluster
21712        '''
21713        self.database = database if database is not None else ''
21714        '''
21715         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21716        '''
21717        self.egress_filter = egress_filter if egress_filter is not None else ''
21718        '''
21719         A filter applied to the routing logic to pin datasource to nodes.
21720        '''
21721        self.healthy = healthy if healthy is not None else False
21722        '''
21723         True if the datasource is reachable and the credentials are valid.
21724        '''
21725        self.hostname = hostname if hostname is not None else ''
21726        '''
21727         The host to dial to initiate a connection from the egress node to this resource.
21728        '''
21729        self.id = id if id is not None else ''
21730        '''
21731         Unique identifier of the Resource.
21732        '''
21733        self.name = name if name is not None else ''
21734        '''
21735         Unique human-readable name of the Resource.
21736        '''
21737        self.override_database = override_database if override_database is not None else False
21738        '''
21739         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.
21740        '''
21741        self.port = port if port is not None else 0
21742        '''
21743         The port to dial to initiate a connection from the egress node to this resource.
21744        '''
21745        self.port_override = port_override if port_override is not None else 0
21746        '''
21747         The local port used by clients to connect to this resource.
21748        '''
21749        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21750        '''
21751         ID of the proxy cluster for this resource, if any.
21752        '''
21753        self.region = region if region is not None else ''
21754        '''
21755         The AWS region to connect to.
21756        '''
21757        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
21758        '''
21759         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
21760        '''
21761        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21762        '''
21763         ID of the secret store containing credentials for this resource, if any.
21764        '''
21765        self.subdomain = subdomain if subdomain is not None else ''
21766        '''
21767         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21768        '''
21769        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21770        '''
21771         Tags is a map of key, value pairs.
21772        '''
21773
21774    def __repr__(self):
21775        return '<sdm.RedshiftIAM ' + \
21776            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21777            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
21778            'database: ' + repr(self.database) + ' ' +\
21779            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21780            'healthy: ' + repr(self.healthy) + ' ' +\
21781            'hostname: ' + repr(self.hostname) + ' ' +\
21782            'id: ' + repr(self.id) + ' ' +\
21783            'name: ' + repr(self.name) + ' ' +\
21784            'override_database: ' + repr(self.override_database) + ' ' +\
21785            'port: ' + repr(self.port) + ' ' +\
21786            'port_override: ' + repr(self.port_override) + ' ' +\
21787            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21788            'region: ' + repr(self.region) + ' ' +\
21789            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
21790            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21791            'subdomain: ' + repr(self.subdomain) + ' ' +\
21792            'tags: ' + repr(self.tags) + ' ' +\
21793            '>'
21794
21795    def to_dict(self):
21796        return {
21797            'bind_interface': self.bind_interface,
21798            'cluster_id': self.cluster_id,
21799            'database': self.database,
21800            'egress_filter': self.egress_filter,
21801            'healthy': self.healthy,
21802            'hostname': self.hostname,
21803            'id': self.id,
21804            'name': self.name,
21805            'override_database': self.override_database,
21806            'port': self.port,
21807            'port_override': self.port_override,
21808            'proxy_cluster_id': self.proxy_cluster_id,
21809            'region': self.region,
21810            'role_assumption_arn': self.role_assumption_arn,
21811            'secret_store_id': self.secret_store_id,
21812            'subdomain': self.subdomain,
21813            'tags': self.tags,
21814        }
21815
21816    @classmethod
21817    def from_dict(cls, d):
21818        return cls(
21819            bind_interface=d.get('bind_interface'),
21820            cluster_id=d.get('cluster_id'),
21821            database=d.get('database'),
21822            egress_filter=d.get('egress_filter'),
21823            healthy=d.get('healthy'),
21824            hostname=d.get('hostname'),
21825            id=d.get('id'),
21826            name=d.get('name'),
21827            override_database=d.get('override_database'),
21828            port=d.get('port'),
21829            port_override=d.get('port_override'),
21830            proxy_cluster_id=d.get('proxy_cluster_id'),
21831            region=d.get('region'),
21832            role_assumption_arn=d.get('role_assumption_arn'),
21833            secret_store_id=d.get('secret_store_id'),
21834            subdomain=d.get('subdomain'),
21835            tags=d.get('tags'),
21836        )
21837
21838
21839class RedshiftServerlessIAM:
21840    '''
21841    RedshiftServerlessIAM is currently unstable, and its API may change, or it may be removed,
21842    without a major version bump.
21843    '''
21844    __slots__ = [
21845        'bind_interface',
21846        'database',
21847        'egress_filter',
21848        'healthy',
21849        'hostname',
21850        'id',
21851        'name',
21852        'override_database',
21853        'port',
21854        'port_override',
21855        'proxy_cluster_id',
21856        'region',
21857        'role_assumption_arn',
21858        'secret_store_id',
21859        'subdomain',
21860        'tags',
21861        'workgroup',
21862    ]
21863
21864    def __init__(
21865        self,
21866        bind_interface=None,
21867        database=None,
21868        egress_filter=None,
21869        healthy=None,
21870        hostname=None,
21871        id=None,
21872        name=None,
21873        override_database=None,
21874        port=None,
21875        port_override=None,
21876        proxy_cluster_id=None,
21877        region=None,
21878        role_assumption_arn=None,
21879        secret_store_id=None,
21880        subdomain=None,
21881        tags=None,
21882        workgroup=None,
21883    ):
21884        self.bind_interface = bind_interface if bind_interface is not None else ''
21885        '''
21886         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21887        '''
21888        self.database = database if database is not None else ''
21889        '''
21890         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21891        '''
21892        self.egress_filter = egress_filter if egress_filter is not None else ''
21893        '''
21894         A filter applied to the routing logic to pin datasource to nodes.
21895        '''
21896        self.healthy = healthy if healthy is not None else False
21897        '''
21898         True if the datasource is reachable and the credentials are valid.
21899        '''
21900        self.hostname = hostname if hostname is not None else ''
21901        '''
21902         The host to dial to initiate a connection from the egress node to this resource.
21903        '''
21904        self.id = id if id is not None else ''
21905        '''
21906         Unique identifier of the Resource.
21907        '''
21908        self.name = name if name is not None else ''
21909        '''
21910         Unique human-readable name of the Resource.
21911        '''
21912        self.override_database = override_database if override_database is not None else False
21913        '''
21914         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.
21915        '''
21916        self.port = port if port is not None else 0
21917        '''
21918         The port to dial to initiate a connection from the egress node to this resource.
21919        '''
21920        self.port_override = port_override if port_override is not None else 0
21921        '''
21922         The local port used by clients to connect to this resource.
21923        '''
21924        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21925        '''
21926         ID of the proxy cluster for this resource, if any.
21927        '''
21928        self.region = region if region is not None else ''
21929        '''
21930         The AWS region to connect to.
21931        '''
21932        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
21933        '''
21934         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
21935        '''
21936        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21937        '''
21938         ID of the secret store containing credentials for this resource, if any.
21939        '''
21940        self.subdomain = subdomain if subdomain is not None else ''
21941        '''
21942         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21943        '''
21944        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21945        '''
21946         Tags is a map of key, value pairs.
21947        '''
21948        self.workgroup = workgroup if workgroup is not None else ''
21949        '''
21950         Workgroup name in the serverless Redshift
21951        '''
21952
21953    def __repr__(self):
21954        return '<sdm.RedshiftServerlessIAM ' + \
21955            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21956            'database: ' + repr(self.database) + ' ' +\
21957            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21958            'healthy: ' + repr(self.healthy) + ' ' +\
21959            'hostname: ' + repr(self.hostname) + ' ' +\
21960            'id: ' + repr(self.id) + ' ' +\
21961            'name: ' + repr(self.name) + ' ' +\
21962            'override_database: ' + repr(self.override_database) + ' ' +\
21963            'port: ' + repr(self.port) + ' ' +\
21964            'port_override: ' + repr(self.port_override) + ' ' +\
21965            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21966            'region: ' + repr(self.region) + ' ' +\
21967            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
21968            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21969            'subdomain: ' + repr(self.subdomain) + ' ' +\
21970            'tags: ' + repr(self.tags) + ' ' +\
21971            'workgroup: ' + repr(self.workgroup) + ' ' +\
21972            '>'
21973
21974    def to_dict(self):
21975        return {
21976            'bind_interface': self.bind_interface,
21977            'database': self.database,
21978            'egress_filter': self.egress_filter,
21979            'healthy': self.healthy,
21980            'hostname': self.hostname,
21981            'id': self.id,
21982            'name': self.name,
21983            'override_database': self.override_database,
21984            'port': self.port,
21985            'port_override': self.port_override,
21986            'proxy_cluster_id': self.proxy_cluster_id,
21987            'region': self.region,
21988            'role_assumption_arn': self.role_assumption_arn,
21989            'secret_store_id': self.secret_store_id,
21990            'subdomain': self.subdomain,
21991            'tags': self.tags,
21992            'workgroup': self.workgroup,
21993        }
21994
21995    @classmethod
21996    def from_dict(cls, d):
21997        return cls(
21998            bind_interface=d.get('bind_interface'),
21999            database=d.get('database'),
22000            egress_filter=d.get('egress_filter'),
22001            healthy=d.get('healthy'),
22002            hostname=d.get('hostname'),
22003            id=d.get('id'),
22004            name=d.get('name'),
22005            override_database=d.get('override_database'),
22006            port=d.get('port'),
22007            port_override=d.get('port_override'),
22008            proxy_cluster_id=d.get('proxy_cluster_id'),
22009            region=d.get('region'),
22010            role_assumption_arn=d.get('role_assumption_arn'),
22011            secret_store_id=d.get('secret_store_id'),
22012            subdomain=d.get('subdomain'),
22013            tags=d.get('tags'),
22014            workgroup=d.get('workgroup'),
22015        )
22016
22017
22018class Relay:
22019    '''
22020         Relay represents a StrongDM CLI installation running in relay mode.
22021    '''
22022    __slots__ = [
22023        'device',
22024        'gateway_filter',
22025        'id',
22026        'location',
22027        'maintenance_windows',
22028        'name',
22029        'state',
22030        'tags',
22031        'version',
22032    ]
22033
22034    def __init__(
22035        self,
22036        device=None,
22037        gateway_filter=None,
22038        id=None,
22039        location=None,
22040        maintenance_windows=None,
22041        name=None,
22042        state=None,
22043        tags=None,
22044        version=None,
22045    ):
22046        self.device = device if device is not None else ''
22047        '''
22048         Device is a read only device name uploaded by the gateway process when
22049         it comes online.
22050        '''
22051        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
22052        '''
22053         GatewayFilter can be used to restrict the peering between relays and
22054         gateways. Deprecated.
22055        '''
22056        self.id = id if id is not None else ''
22057        '''
22058         Unique identifier of the Relay.
22059        '''
22060        self.location = location if location is not None else ''
22061        '''
22062         Location is a read only network location uploaded by the gateway process
22063         when it comes online.
22064        '''
22065        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22066        '''
22067         Maintenance Windows define when this node is allowed to restart. If a node
22068         is requested to restart, it will check each window to determine if any of
22069         them permit it to restart, and if any do, it will. This check is repeated
22070         per window until the restart is successfully completed.
22071         
22072         If not set here, may be set on the command line or via an environment variable
22073         on the process itself; any server setting will take precedence over local
22074         settings. This setting is ineffective for nodes below version 38.44.0.
22075         
22076         If this setting is not applied via this remote configuration or via local
22077         configuration, the default setting is used: always allow restarts if serving
22078         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22079        '''
22080        self.name = name if name is not None else ''
22081        '''
22082         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.
22083        '''
22084        self.state = state if state is not None else ''
22085        '''
22086         The current state of the relay, one of the NodeState constants.
22087        '''
22088        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22089        '''
22090         Tags is a map of key, value pairs.
22091        '''
22092        self.version = version if version is not None else ''
22093        '''
22094         Version is a read only sdm binary version uploaded by the gateway process
22095         when it comes online.
22096        '''
22097
22098    def __repr__(self):
22099        return '<sdm.Relay ' + \
22100            'device: ' + repr(self.device) + ' ' +\
22101            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
22102            'id: ' + repr(self.id) + ' ' +\
22103            'location: ' + repr(self.location) + ' ' +\
22104            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
22105            'name: ' + repr(self.name) + ' ' +\
22106            'state: ' + repr(self.state) + ' ' +\
22107            'tags: ' + repr(self.tags) + ' ' +\
22108            'version: ' + repr(self.version) + ' ' +\
22109            '>'
22110
22111    def to_dict(self):
22112        return {
22113            'device': self.device,
22114            'gateway_filter': self.gateway_filter,
22115            'id': self.id,
22116            'location': self.location,
22117            'maintenance_windows': self.maintenance_windows,
22118            'name': self.name,
22119            'state': self.state,
22120            'tags': self.tags,
22121            'version': self.version,
22122        }
22123
22124    @classmethod
22125    def from_dict(cls, d):
22126        return cls(
22127            device=d.get('device'),
22128            gateway_filter=d.get('gateway_filter'),
22129            id=d.get('id'),
22130            location=d.get('location'),
22131            maintenance_windows=d.get('maintenance_windows'),
22132            name=d.get('name'),
22133            state=d.get('state'),
22134            tags=d.get('tags'),
22135            version=d.get('version'),
22136        )
22137
22138
22139class RemoteIdentity:
22140    '''
22141         RemoteIdentities define the username to be used for a specific account
22142     when connecting to a remote resource using that group.
22143    '''
22144    __slots__ = [
22145        'account_id',
22146        'id',
22147        'remote_identity_group_id',
22148        'username',
22149    ]
22150
22151    def __init__(
22152        self,
22153        account_id=None,
22154        id=None,
22155        remote_identity_group_id=None,
22156        username=None,
22157    ):
22158        self.account_id = account_id if account_id is not None else ''
22159        '''
22160         The account for this remote identity.
22161        '''
22162        self.id = id if id is not None else ''
22163        '''
22164         Unique identifier of the RemoteIdentity.
22165        '''
22166        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
22167        '''
22168         The remote identity group.
22169        '''
22170        self.username = username if username is not None else ''
22171        '''
22172         The username to be used as the remote identity for this account.
22173        '''
22174
22175    def __repr__(self):
22176        return '<sdm.RemoteIdentity ' + \
22177            'account_id: ' + repr(self.account_id) + ' ' +\
22178            'id: ' + repr(self.id) + ' ' +\
22179            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
22180            'username: ' + repr(self.username) + ' ' +\
22181            '>'
22182
22183    def to_dict(self):
22184        return {
22185            'account_id': self.account_id,
22186            'id': self.id,
22187            'remote_identity_group_id': self.remote_identity_group_id,
22188            'username': self.username,
22189        }
22190
22191    @classmethod
22192    def from_dict(cls, d):
22193        return cls(
22194            account_id=d.get('account_id'),
22195            id=d.get('id'),
22196            remote_identity_group_id=d.get('remote_identity_group_id'),
22197            username=d.get('username'),
22198        )
22199
22200
22201class RemoteIdentityCreateResponse:
22202    '''
22203         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
22204    '''
22205    __slots__ = [
22206        'meta',
22207        'rate_limit',
22208        'remote_identity',
22209    ]
22210
22211    def __init__(
22212        self,
22213        meta=None,
22214        rate_limit=None,
22215        remote_identity=None,
22216    ):
22217        self.meta = meta if meta is not None else None
22218        '''
22219         Reserved for future use.
22220        '''
22221        self.rate_limit = rate_limit if rate_limit is not None else None
22222        '''
22223         Rate limit information.
22224        '''
22225        self.remote_identity = remote_identity if remote_identity is not None else None
22226        '''
22227         The created RemoteIdentity.
22228        '''
22229
22230    def __repr__(self):
22231        return '<sdm.RemoteIdentityCreateResponse ' + \
22232            'meta: ' + repr(self.meta) + ' ' +\
22233            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22234            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22235            '>'
22236
22237    def to_dict(self):
22238        return {
22239            'meta': self.meta,
22240            'rate_limit': self.rate_limit,
22241            'remote_identity': self.remote_identity,
22242        }
22243
22244    @classmethod
22245    def from_dict(cls, d):
22246        return cls(
22247            meta=d.get('meta'),
22248            rate_limit=d.get('rate_limit'),
22249            remote_identity=d.get('remote_identity'),
22250        )
22251
22252
22253class RemoteIdentityDeleteResponse:
22254    '''
22255         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
22256    '''
22257    __slots__ = [
22258        'meta',
22259        'rate_limit',
22260    ]
22261
22262    def __init__(
22263        self,
22264        meta=None,
22265        rate_limit=None,
22266    ):
22267        self.meta = meta if meta is not None else None
22268        '''
22269         Reserved for future use.
22270        '''
22271        self.rate_limit = rate_limit if rate_limit is not None else None
22272        '''
22273         Rate limit information.
22274        '''
22275
22276    def __repr__(self):
22277        return '<sdm.RemoteIdentityDeleteResponse ' + \
22278            'meta: ' + repr(self.meta) + ' ' +\
22279            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22280            '>'
22281
22282    def to_dict(self):
22283        return {
22284            'meta': self.meta,
22285            'rate_limit': self.rate_limit,
22286        }
22287
22288    @classmethod
22289    def from_dict(cls, d):
22290        return cls(
22291            meta=d.get('meta'),
22292            rate_limit=d.get('rate_limit'),
22293        )
22294
22295
22296class RemoteIdentityGetResponse:
22297    '''
22298         RemoteIdentityGetResponse returns a requested RemoteIdentity.
22299    '''
22300    __slots__ = [
22301        'meta',
22302        'rate_limit',
22303        'remote_identity',
22304    ]
22305
22306    def __init__(
22307        self,
22308        meta=None,
22309        rate_limit=None,
22310        remote_identity=None,
22311    ):
22312        self.meta = meta if meta is not None else None
22313        '''
22314         Reserved for future use.
22315        '''
22316        self.rate_limit = rate_limit if rate_limit is not None else None
22317        '''
22318         Rate limit information.
22319        '''
22320        self.remote_identity = remote_identity if remote_identity is not None else None
22321        '''
22322         The requested RemoteIdentity.
22323        '''
22324
22325    def __repr__(self):
22326        return '<sdm.RemoteIdentityGetResponse ' + \
22327            'meta: ' + repr(self.meta) + ' ' +\
22328            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22329            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22330            '>'
22331
22332    def to_dict(self):
22333        return {
22334            'meta': self.meta,
22335            'rate_limit': self.rate_limit,
22336            'remote_identity': self.remote_identity,
22337        }
22338
22339    @classmethod
22340    def from_dict(cls, d):
22341        return cls(
22342            meta=d.get('meta'),
22343            rate_limit=d.get('rate_limit'),
22344            remote_identity=d.get('remote_identity'),
22345        )
22346
22347
22348class RemoteIdentityGroup:
22349    '''
22350         A RemoteIdentityGroup defines a group of remote identities.
22351    '''
22352    __slots__ = [
22353        'id',
22354        'name',
22355    ]
22356
22357    def __init__(
22358        self,
22359        id=None,
22360        name=None,
22361    ):
22362        self.id = id if id is not None else ''
22363        '''
22364         Unique identifier of the RemoteIdentityGroup.
22365        '''
22366        self.name = name if name is not None else ''
22367        '''
22368         Unique human-readable name of the RemoteIdentityGroup.
22369        '''
22370
22371    def __repr__(self):
22372        return '<sdm.RemoteIdentityGroup ' + \
22373            'id: ' + repr(self.id) + ' ' +\
22374            'name: ' + repr(self.name) + ' ' +\
22375            '>'
22376
22377    def to_dict(self):
22378        return {
22379            'id': self.id,
22380            'name': self.name,
22381        }
22382
22383    @classmethod
22384    def from_dict(cls, d):
22385        return cls(
22386            id=d.get('id'),
22387            name=d.get('name'),
22388        )
22389
22390
22391class RemoteIdentityGroupGetResponse:
22392    '''
22393         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
22394    '''
22395    __slots__ = [
22396        'meta',
22397        'rate_limit',
22398        'remote_identity_group',
22399    ]
22400
22401    def __init__(
22402        self,
22403        meta=None,
22404        rate_limit=None,
22405        remote_identity_group=None,
22406    ):
22407        self.meta = meta if meta is not None else None
22408        '''
22409         Reserved for future use.
22410        '''
22411        self.rate_limit = rate_limit if rate_limit is not None else None
22412        '''
22413         Rate limit information.
22414        '''
22415        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
22416        '''
22417         The requested RemoteIdentityGroup.
22418        '''
22419
22420    def __repr__(self):
22421        return '<sdm.RemoteIdentityGroupGetResponse ' + \
22422            'meta: ' + repr(self.meta) + ' ' +\
22423            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22424            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
22425            '>'
22426
22427    def to_dict(self):
22428        return {
22429            'meta': self.meta,
22430            'rate_limit': self.rate_limit,
22431            'remote_identity_group': self.remote_identity_group,
22432        }
22433
22434    @classmethod
22435    def from_dict(cls, d):
22436        return cls(
22437            meta=d.get('meta'),
22438            rate_limit=d.get('rate_limit'),
22439            remote_identity_group=d.get('remote_identity_group'),
22440        )
22441
22442
22443class RemoteIdentityGroupHistory:
22444    '''
22445         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
22446     where every change (create, update and delete) to a RemoteIdentityGroup produces an
22447     RemoteIdentityGroupHistory record.
22448    '''
22449    __slots__ = [
22450        'activity_id',
22451        'deleted_at',
22452        'remote_identity_group',
22453        'timestamp',
22454    ]
22455
22456    def __init__(
22457        self,
22458        activity_id=None,
22459        deleted_at=None,
22460        remote_identity_group=None,
22461        timestamp=None,
22462    ):
22463        self.activity_id = activity_id if activity_id is not None else ''
22464        '''
22465         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
22466         May be empty for some system-initiated updates.
22467        '''
22468        self.deleted_at = deleted_at if deleted_at is not None else None
22469        '''
22470         If this RemoteIdentityGroup was deleted, the time it was deleted.
22471        '''
22472        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
22473        '''
22474         The complete RemoteIdentityGroup state at this time.
22475        '''
22476        self.timestamp = timestamp if timestamp is not None else None
22477        '''
22478         The time at which the RemoteIdentityGroup state was recorded.
22479        '''
22480
22481    def __repr__(self):
22482        return '<sdm.RemoteIdentityGroupHistory ' + \
22483            'activity_id: ' + repr(self.activity_id) + ' ' +\
22484            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
22485            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
22486            'timestamp: ' + repr(self.timestamp) + ' ' +\
22487            '>'
22488
22489    def to_dict(self):
22490        return {
22491            'activity_id': self.activity_id,
22492            'deleted_at': self.deleted_at,
22493            'remote_identity_group': self.remote_identity_group,
22494            'timestamp': self.timestamp,
22495        }
22496
22497    @classmethod
22498    def from_dict(cls, d):
22499        return cls(
22500            activity_id=d.get('activity_id'),
22501            deleted_at=d.get('deleted_at'),
22502            remote_identity_group=d.get('remote_identity_group'),
22503            timestamp=d.get('timestamp'),
22504        )
22505
22506
22507class RemoteIdentityHistory:
22508    '''
22509         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
22510     where every change (create, update and delete) to a RemoteIdentity produces an
22511     RemoteIdentityHistory record.
22512    '''
22513    __slots__ = [
22514        'activity_id',
22515        'deleted_at',
22516        'remote_identity',
22517        'timestamp',
22518    ]
22519
22520    def __init__(
22521        self,
22522        activity_id=None,
22523        deleted_at=None,
22524        remote_identity=None,
22525        timestamp=None,
22526    ):
22527        self.activity_id = activity_id if activity_id is not None else ''
22528        '''
22529         The unique identifier of the Activity that produced this change to the RemoteIdentity.
22530         May be empty for some system-initiated updates.
22531        '''
22532        self.deleted_at = deleted_at if deleted_at is not None else None
22533        '''
22534         If this RemoteIdentity was deleted, the time it was deleted.
22535        '''
22536        self.remote_identity = remote_identity if remote_identity is not None else None
22537        '''
22538         The complete RemoteIdentity state at this time.
22539        '''
22540        self.timestamp = timestamp if timestamp is not None else None
22541        '''
22542         The time at which the RemoteIdentity state was recorded.
22543        '''
22544
22545    def __repr__(self):
22546        return '<sdm.RemoteIdentityHistory ' + \
22547            'activity_id: ' + repr(self.activity_id) + ' ' +\
22548            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
22549            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22550            'timestamp: ' + repr(self.timestamp) + ' ' +\
22551            '>'
22552
22553    def to_dict(self):
22554        return {
22555            'activity_id': self.activity_id,
22556            'deleted_at': self.deleted_at,
22557            'remote_identity': self.remote_identity,
22558            'timestamp': self.timestamp,
22559        }
22560
22561    @classmethod
22562    def from_dict(cls, d):
22563        return cls(
22564            activity_id=d.get('activity_id'),
22565            deleted_at=d.get('deleted_at'),
22566            remote_identity=d.get('remote_identity'),
22567            timestamp=d.get('timestamp'),
22568        )
22569
22570
22571class RemoteIdentityUpdateResponse:
22572    '''
22573         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
22574     a RemoteIdentityUpdateRequest.
22575    '''
22576    __slots__ = [
22577        'meta',
22578        'rate_limit',
22579        'remote_identity',
22580    ]
22581
22582    def __init__(
22583        self,
22584        meta=None,
22585        rate_limit=None,
22586        remote_identity=None,
22587    ):
22588        self.meta = meta if meta is not None else None
22589        '''
22590         Reserved for future use.
22591        '''
22592        self.rate_limit = rate_limit if rate_limit is not None else None
22593        '''
22594         Rate limit information.
22595        '''
22596        self.remote_identity = remote_identity if remote_identity is not None else None
22597        '''
22598         The updated RemoteIdentity.
22599        '''
22600
22601    def __repr__(self):
22602        return '<sdm.RemoteIdentityUpdateResponse ' + \
22603            'meta: ' + repr(self.meta) + ' ' +\
22604            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22605            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22606            '>'
22607
22608    def to_dict(self):
22609        return {
22610            'meta': self.meta,
22611            'rate_limit': self.rate_limit,
22612            'remote_identity': self.remote_identity,
22613        }
22614
22615    @classmethod
22616    def from_dict(cls, d):
22617        return cls(
22618            meta=d.get('meta'),
22619            rate_limit=d.get('rate_limit'),
22620            remote_identity=d.get('remote_identity'),
22621        )
22622
22623
22624class ReplayChunk:
22625    '''
22626         A ReplayChunk represents a single "chunk" of data from the query replay.
22627    '''
22628    __slots__ = [
22629        'data',
22630        'events',
22631        'symmetric_key',
22632    ]
22633
22634    def __init__(
22635        self,
22636        data=None,
22637        events=None,
22638        symmetric_key=None,
22639    ):
22640        self.data = data if data is not None else b''
22641        '''
22642         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
22643        '''
22644        self.events = events if events is not None else []
22645        '''
22646         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
22647         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
22648        '''
22649        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
22650        '''
22651         If the data is encrypted, this contains the encrypted symmetric key
22652        '''
22653
22654    def __repr__(self):
22655        return '<sdm.ReplayChunk ' + \
22656            'data: ' + repr(self.data) + ' ' +\
22657            'events: ' + repr(self.events) + ' ' +\
22658            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
22659            '>'
22660
22661    def to_dict(self):
22662        return {
22663            'data': self.data,
22664            'events': self.events,
22665            'symmetric_key': self.symmetric_key,
22666        }
22667
22668    @classmethod
22669    def from_dict(cls, d):
22670        return cls(
22671            data=d.get('data'),
22672            events=d.get('events'),
22673            symmetric_key=d.get('symmetric_key'),
22674        )
22675
22676
22677class ReplayChunkEvent:
22678    '''
22679         A ReplayChunkEvent represents a single event within a query replay.
22680     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
22681    '''
22682    __slots__ = [
22683        'data',
22684        'duration',
22685    ]
22686
22687    def __init__(
22688        self,
22689        data=None,
22690        duration=None,
22691    ):
22692        self.data = data if data is not None else b''
22693        '''
22694         The raw data of the ReplayChunkEvent.
22695        '''
22696        self.duration = duration if duration is not None else None
22697        '''
22698         The time duration over which the data in this ReplayChunkEvent was transferred.
22699        '''
22700
22701    def __repr__(self):
22702        return '<sdm.ReplayChunkEvent ' + \
22703            'data: ' + repr(self.data) + ' ' +\
22704            'duration: ' + repr(self.duration) + ' ' +\
22705            '>'
22706
22707    def to_dict(self):
22708        return {
22709            'data': self.data,
22710            'duration': self.duration,
22711        }
22712
22713    @classmethod
22714    def from_dict(cls, d):
22715        return cls(
22716            data=d.get('data'),
22717            duration=d.get('duration'),
22718        )
22719
22720
22721class RequestableResource:
22722    '''
22723         RequestableResource is a resource that can be requested via an AccessRequestConfig
22724    '''
22725    __slots__ = [
22726        'access',
22727        'authentication',
22728        'healthy',
22729        'id',
22730        'name',
22731        'tags',
22732        'type',
22733    ]
22734
22735    def __init__(
22736        self,
22737        access=None,
22738        authentication=None,
22739        healthy=None,
22740        id=None,
22741        name=None,
22742        tags=None,
22743        type=None,
22744    ):
22745        self.access = access if access is not None else ''
22746        '''
22747         The current state of the user's access to the resources
22748        '''
22749        self.authentication = authentication if authentication is not None else ''
22750        '''
22751         The type of authentication for the resource
22752        '''
22753        self.healthy = healthy if healthy is not None else False
22754        '''
22755         The health check status of the reasource
22756        '''
22757        self.id = id if id is not None else ''
22758        '''
22759         The resource id.
22760        '''
22761        self.name = name if name is not None else ''
22762        '''
22763         The resource name.
22764        '''
22765        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22766        '''
22767         Any tags attached to this resource
22768        '''
22769        self.type = type if type is not None else ''
22770        '''
22771         The resource type
22772        '''
22773
22774    def __repr__(self):
22775        return '<sdm.RequestableResource ' + \
22776            'access: ' + repr(self.access) + ' ' +\
22777            'authentication: ' + repr(self.authentication) + ' ' +\
22778            'healthy: ' + repr(self.healthy) + ' ' +\
22779            'id: ' + repr(self.id) + ' ' +\
22780            'name: ' + repr(self.name) + ' ' +\
22781            'tags: ' + repr(self.tags) + ' ' +\
22782            'type: ' + repr(self.type) + ' ' +\
22783            '>'
22784
22785    def to_dict(self):
22786        return {
22787            'access': self.access,
22788            'authentication': self.authentication,
22789            'healthy': self.healthy,
22790            'id': self.id,
22791            'name': self.name,
22792            'tags': self.tags,
22793            'type': self.type,
22794        }
22795
22796    @classmethod
22797    def from_dict(cls, d):
22798        return cls(
22799            access=d.get('access'),
22800            authentication=d.get('authentication'),
22801            healthy=d.get('healthy'),
22802            id=d.get('id'),
22803            name=d.get('name'),
22804            tags=d.get('tags'),
22805            type=d.get('type'),
22806        )
22807
22808
22809class ResourceCreateResponse:
22810    '''
22811         ResourceCreateResponse reports how the Resources were created in the system.
22812    '''
22813    __slots__ = [
22814        'meta',
22815        'rate_limit',
22816        'resource',
22817    ]
22818
22819    def __init__(
22820        self,
22821        meta=None,
22822        rate_limit=None,
22823        resource=None,
22824    ):
22825        self.meta = meta if meta is not None else None
22826        '''
22827         Reserved for future use.
22828        '''
22829        self.rate_limit = rate_limit if rate_limit is not None else None
22830        '''
22831         Rate limit information.
22832        '''
22833        self.resource = resource if resource is not None else None
22834        '''
22835         The created Resource.
22836        '''
22837
22838    def __repr__(self):
22839        return '<sdm.ResourceCreateResponse ' + \
22840            'meta: ' + repr(self.meta) + ' ' +\
22841            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22842            'resource: ' + repr(self.resource) + ' ' +\
22843            '>'
22844
22845    def to_dict(self):
22846        return {
22847            'meta': self.meta,
22848            'rate_limit': self.rate_limit,
22849            'resource': self.resource,
22850        }
22851
22852    @classmethod
22853    def from_dict(cls, d):
22854        return cls(
22855            meta=d.get('meta'),
22856            rate_limit=d.get('rate_limit'),
22857            resource=d.get('resource'),
22858        )
22859
22860
22861class ResourceDeleteResponse:
22862    '''
22863         ResourceDeleteResponse returns information about a Resource that was deleted.
22864    '''
22865    __slots__ = [
22866        'meta',
22867        'rate_limit',
22868    ]
22869
22870    def __init__(
22871        self,
22872        meta=None,
22873        rate_limit=None,
22874    ):
22875        self.meta = meta if meta is not None else None
22876        '''
22877         Reserved for future use.
22878        '''
22879        self.rate_limit = rate_limit if rate_limit is not None else None
22880        '''
22881         Rate limit information.
22882        '''
22883
22884    def __repr__(self):
22885        return '<sdm.ResourceDeleteResponse ' + \
22886            'meta: ' + repr(self.meta) + ' ' +\
22887            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22888            '>'
22889
22890    def to_dict(self):
22891        return {
22892            'meta': self.meta,
22893            'rate_limit': self.rate_limit,
22894        }
22895
22896    @classmethod
22897    def from_dict(cls, d):
22898        return cls(
22899            meta=d.get('meta'),
22900            rate_limit=d.get('rate_limit'),
22901        )
22902
22903
22904class ResourceGetResponse:
22905    '''
22906         ResourceGetResponse returns a requested Resource.
22907    '''
22908    __slots__ = [
22909        'meta',
22910        'rate_limit',
22911        'resource',
22912    ]
22913
22914    def __init__(
22915        self,
22916        meta=None,
22917        rate_limit=None,
22918        resource=None,
22919    ):
22920        self.meta = meta if meta is not None else None
22921        '''
22922         Reserved for future use.
22923        '''
22924        self.rate_limit = rate_limit if rate_limit is not None else None
22925        '''
22926         Rate limit information.
22927        '''
22928        self.resource = resource if resource is not None else None
22929        '''
22930         The requested Resource.
22931        '''
22932
22933    def __repr__(self):
22934        return '<sdm.ResourceGetResponse ' + \
22935            'meta: ' + repr(self.meta) + ' ' +\
22936            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22937            'resource: ' + repr(self.resource) + ' ' +\
22938            '>'
22939
22940    def to_dict(self):
22941        return {
22942            'meta': self.meta,
22943            'rate_limit': self.rate_limit,
22944            'resource': self.resource,
22945        }
22946
22947    @classmethod
22948    def from_dict(cls, d):
22949        return cls(
22950            meta=d.get('meta'),
22951            rate_limit=d.get('rate_limit'),
22952            resource=d.get('resource'),
22953        )
22954
22955
22956class ResourceHealthcheckRequest:
22957    '''
22958         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
22959    '''
22960    __slots__ = [
22961        'id',
22962    ]
22963
22964    def __init__(
22965        self,
22966        id=None,
22967    ):
22968        self.id = id if id is not None else ''
22969        '''
22970         The unique identifier of the Resource to healthcheck.
22971        '''
22972
22973    def __repr__(self):
22974        return '<sdm.ResourceHealthcheckRequest ' + \
22975            'id: ' + repr(self.id) + ' ' +\
22976            '>'
22977
22978    def to_dict(self):
22979        return {
22980            'id': self.id,
22981        }
22982
22983    @classmethod
22984    def from_dict(cls, d):
22985        return cls(id=d.get('id'), )
22986
22987
22988class ResourceHealthcheckResponse:
22989    '''
22990         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
22991     Healthchecks are non blocking, and this contains no non-metadata.
22992    '''
22993    __slots__ = [
22994        'meta',
22995        'rate_limit',
22996    ]
22997
22998    def __init__(
22999        self,
23000        meta=None,
23001        rate_limit=None,
23002    ):
23003        self.meta = meta if meta is not None else None
23004        '''
23005         Reserved for future use.
23006        '''
23007        self.rate_limit = rate_limit if rate_limit is not None else None
23008        '''
23009         Rate limit information.
23010        '''
23011
23012    def __repr__(self):
23013        return '<sdm.ResourceHealthcheckResponse ' + \
23014            'meta: ' + repr(self.meta) + ' ' +\
23015            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23016            '>'
23017
23018    def to_dict(self):
23019        return {
23020            'meta': self.meta,
23021            'rate_limit': self.rate_limit,
23022        }
23023
23024    @classmethod
23025    def from_dict(cls, d):
23026        return cls(
23027            meta=d.get('meta'),
23028            rate_limit=d.get('rate_limit'),
23029        )
23030
23031
23032class ResourceHistory:
23033    '''
23034         ResourceHistory records the state of a Resource at a given point in time,
23035     where every change (create, update and delete) to a Resource produces an
23036     ResourceHistory record.
23037    '''
23038    __slots__ = [
23039        'activity_id',
23040        'deleted_at',
23041        'resource',
23042        'timestamp',
23043    ]
23044
23045    def __init__(
23046        self,
23047        activity_id=None,
23048        deleted_at=None,
23049        resource=None,
23050        timestamp=None,
23051    ):
23052        self.activity_id = activity_id if activity_id is not None else ''
23053        '''
23054         The unique identifier of the Activity that produced this change to the Resource.
23055         May be empty for some system-initiated updates.
23056        '''
23057        self.deleted_at = deleted_at if deleted_at is not None else None
23058        '''
23059         If this Resource was deleted, the time it was deleted.
23060        '''
23061        self.resource = resource if resource is not None else None
23062        '''
23063         The complete Resource state at this time.
23064        '''
23065        self.timestamp = timestamp if timestamp is not None else None
23066        '''
23067         The time at which the Resource state was recorded.
23068        '''
23069
23070    def __repr__(self):
23071        return '<sdm.ResourceHistory ' + \
23072            'activity_id: ' + repr(self.activity_id) + ' ' +\
23073            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23074            'resource: ' + repr(self.resource) + ' ' +\
23075            'timestamp: ' + repr(self.timestamp) + ' ' +\
23076            '>'
23077
23078    def to_dict(self):
23079        return {
23080            'activity_id': self.activity_id,
23081            'deleted_at': self.deleted_at,
23082            'resource': self.resource,
23083            'timestamp': self.timestamp,
23084        }
23085
23086    @classmethod
23087    def from_dict(cls, d):
23088        return cls(
23089            activity_id=d.get('activity_id'),
23090            deleted_at=d.get('deleted_at'),
23091            resource=d.get('resource'),
23092            timestamp=d.get('timestamp'),
23093        )
23094
23095
23096class ResourceUpdateResponse:
23097    '''
23098         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
23099     a ResourceUpdateRequest.
23100    '''
23101    __slots__ = [
23102        'meta',
23103        'rate_limit',
23104        'resource',
23105    ]
23106
23107    def __init__(
23108        self,
23109        meta=None,
23110        rate_limit=None,
23111        resource=None,
23112    ):
23113        self.meta = meta if meta is not None else None
23114        '''
23115         Reserved for future use.
23116        '''
23117        self.rate_limit = rate_limit if rate_limit is not None else None
23118        '''
23119         Rate limit information.
23120        '''
23121        self.resource = resource if resource is not None else None
23122        '''
23123         The updated Resource.
23124        '''
23125
23126    def __repr__(self):
23127        return '<sdm.ResourceUpdateResponse ' + \
23128            'meta: ' + repr(self.meta) + ' ' +\
23129            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23130            'resource: ' + repr(self.resource) + ' ' +\
23131            '>'
23132
23133    def to_dict(self):
23134        return {
23135            'meta': self.meta,
23136            'rate_limit': self.rate_limit,
23137            'resource': self.resource,
23138        }
23139
23140    @classmethod
23141    def from_dict(cls, d):
23142        return cls(
23143            meta=d.get('meta'),
23144            rate_limit=d.get('rate_limit'),
23145            resource=d.get('resource'),
23146        )
23147
23148
23149class Role:
23150    '''
23151         A Role has a list of access rules which determine which Resources the members
23152     of the Role have access to. An Account can be a member of multiple Roles via
23153     AccountAttachments.
23154    '''
23155    __slots__ = [
23156        'access_rules',
23157        'id',
23158        'managed_by',
23159        'name',
23160        'tags',
23161    ]
23162
23163    def __init__(
23164        self,
23165        access_rules=None,
23166        id=None,
23167        managed_by=None,
23168        name=None,
23169        tags=None,
23170    ):
23171        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
23172        )
23173        '''
23174         AccessRules is a list of access rules defining the resources this Role has access to.
23175        '''
23176        self.id = id if id is not None else ''
23177        '''
23178         Unique identifier of the Role.
23179        '''
23180        self.managed_by = managed_by if managed_by is not None else ''
23181        '''
23182         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
23183        '''
23184        self.name = name if name is not None else ''
23185        '''
23186         Unique human-readable name of the Role.
23187        '''
23188        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23189        '''
23190         Tags is a map of key, value pairs.
23191        '''
23192
23193    def __repr__(self):
23194        return '<sdm.Role ' + \
23195            'access_rules: ' + repr(self.access_rules) + ' ' +\
23196            'id: ' + repr(self.id) + ' ' +\
23197            'managed_by: ' + repr(self.managed_by) + ' ' +\
23198            'name: ' + repr(self.name) + ' ' +\
23199            'tags: ' + repr(self.tags) + ' ' +\
23200            '>'
23201
23202    def to_dict(self):
23203        return {
23204            'access_rules': self.access_rules,
23205            'id': self.id,
23206            'managed_by': self.managed_by,
23207            'name': self.name,
23208            'tags': self.tags,
23209        }
23210
23211    @classmethod
23212    def from_dict(cls, d):
23213        return cls(
23214            access_rules=d.get('access_rules'),
23215            id=d.get('id'),
23216            managed_by=d.get('managed_by'),
23217            name=d.get('name'),
23218            tags=d.get('tags'),
23219        )
23220
23221
23222class RoleCreateResponse:
23223    '''
23224         RoleCreateResponse reports how the Roles were created in the system. It can
23225     communicate partial successes or failures.
23226    '''
23227    __slots__ = [
23228        'meta',
23229        'rate_limit',
23230        'role',
23231    ]
23232
23233    def __init__(
23234        self,
23235        meta=None,
23236        rate_limit=None,
23237        role=None,
23238    ):
23239        self.meta = meta if meta is not None else None
23240        '''
23241         Reserved for future use.
23242        '''
23243        self.rate_limit = rate_limit if rate_limit is not None else None
23244        '''
23245         Rate limit information.
23246        '''
23247        self.role = role if role is not None else None
23248        '''
23249         The created Role.
23250        '''
23251
23252    def __repr__(self):
23253        return '<sdm.RoleCreateResponse ' + \
23254            'meta: ' + repr(self.meta) + ' ' +\
23255            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23256            'role: ' + repr(self.role) + ' ' +\
23257            '>'
23258
23259    def to_dict(self):
23260        return {
23261            'meta': self.meta,
23262            'rate_limit': self.rate_limit,
23263            'role': self.role,
23264        }
23265
23266    @classmethod
23267    def from_dict(cls, d):
23268        return cls(
23269            meta=d.get('meta'),
23270            rate_limit=d.get('rate_limit'),
23271            role=d.get('role'),
23272        )
23273
23274
23275class RoleDeleteResponse:
23276    '''
23277         RoleDeleteResponse returns information about a Role that was deleted.
23278    '''
23279    __slots__ = [
23280        'meta',
23281        'rate_limit',
23282    ]
23283
23284    def __init__(
23285        self,
23286        meta=None,
23287        rate_limit=None,
23288    ):
23289        self.meta = meta if meta is not None else None
23290        '''
23291         Reserved for future use.
23292        '''
23293        self.rate_limit = rate_limit if rate_limit is not None else None
23294        '''
23295         Rate limit information.
23296        '''
23297
23298    def __repr__(self):
23299        return '<sdm.RoleDeleteResponse ' + \
23300            'meta: ' + repr(self.meta) + ' ' +\
23301            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23302            '>'
23303
23304    def to_dict(self):
23305        return {
23306            'meta': self.meta,
23307            'rate_limit': self.rate_limit,
23308        }
23309
23310    @classmethod
23311    def from_dict(cls, d):
23312        return cls(
23313            meta=d.get('meta'),
23314            rate_limit=d.get('rate_limit'),
23315        )
23316
23317
23318class RoleGetResponse:
23319    '''
23320         RoleGetResponse returns a requested Role.
23321    '''
23322    __slots__ = [
23323        'meta',
23324        'rate_limit',
23325        'role',
23326    ]
23327
23328    def __init__(
23329        self,
23330        meta=None,
23331        rate_limit=None,
23332        role=None,
23333    ):
23334        self.meta = meta if meta is not None else None
23335        '''
23336         Reserved for future use.
23337        '''
23338        self.rate_limit = rate_limit if rate_limit is not None else None
23339        '''
23340         Rate limit information.
23341        '''
23342        self.role = role if role is not None else None
23343        '''
23344         The requested Role.
23345        '''
23346
23347    def __repr__(self):
23348        return '<sdm.RoleGetResponse ' + \
23349            'meta: ' + repr(self.meta) + ' ' +\
23350            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23351            'role: ' + repr(self.role) + ' ' +\
23352            '>'
23353
23354    def to_dict(self):
23355        return {
23356            'meta': self.meta,
23357            'rate_limit': self.rate_limit,
23358            'role': self.role,
23359        }
23360
23361    @classmethod
23362    def from_dict(cls, d):
23363        return cls(
23364            meta=d.get('meta'),
23365            rate_limit=d.get('rate_limit'),
23366            role=d.get('role'),
23367        )
23368
23369
23370class RoleHistory:
23371    '''
23372         RoleHistory records the state of a Role at a given point in time,
23373     where every change (create, update and delete) to a Role produces an
23374     RoleHistory record.
23375    '''
23376    __slots__ = [
23377        'activity_id',
23378        'deleted_at',
23379        'role',
23380        'timestamp',
23381    ]
23382
23383    def __init__(
23384        self,
23385        activity_id=None,
23386        deleted_at=None,
23387        role=None,
23388        timestamp=None,
23389    ):
23390        self.activity_id = activity_id if activity_id is not None else ''
23391        '''
23392         The unique identifier of the Activity that produced this change to the Role.
23393         May be empty for some system-initiated updates.
23394        '''
23395        self.deleted_at = deleted_at if deleted_at is not None else None
23396        '''
23397         If this Role was deleted, the time it was deleted.
23398        '''
23399        self.role = role if role is not None else None
23400        '''
23401         The complete Role state at this time.
23402        '''
23403        self.timestamp = timestamp if timestamp is not None else None
23404        '''
23405         The time at which the Role state was recorded.
23406        '''
23407
23408    def __repr__(self):
23409        return '<sdm.RoleHistory ' + \
23410            'activity_id: ' + repr(self.activity_id) + ' ' +\
23411            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23412            'role: ' + repr(self.role) + ' ' +\
23413            'timestamp: ' + repr(self.timestamp) + ' ' +\
23414            '>'
23415
23416    def to_dict(self):
23417        return {
23418            'activity_id': self.activity_id,
23419            'deleted_at': self.deleted_at,
23420            'role': self.role,
23421            'timestamp': self.timestamp,
23422        }
23423
23424    @classmethod
23425    def from_dict(cls, d):
23426        return cls(
23427            activity_id=d.get('activity_id'),
23428            deleted_at=d.get('deleted_at'),
23429            role=d.get('role'),
23430            timestamp=d.get('timestamp'),
23431        )
23432
23433
23434class RoleResource:
23435    '''
23436         RoleResource represents an individual access grant of a Role to a Resource.
23437    '''
23438    __slots__ = [
23439        'granted_at',
23440        'resource_id',
23441        'role_id',
23442    ]
23443
23444    def __init__(
23445        self,
23446        granted_at=None,
23447        resource_id=None,
23448        role_id=None,
23449    ):
23450        self.granted_at = granted_at if granted_at is not None else None
23451        '''
23452         The most recent time at which access was granted. If access was granted,
23453         revoked, and granted again, this will reflect the later time.
23454        '''
23455        self.resource_id = resource_id if resource_id is not None else ''
23456        '''
23457         The unique identifier of the Resource to which access is granted.
23458        '''
23459        self.role_id = role_id if role_id is not None else ''
23460        '''
23461         The unique identifier of the Role to which access is granted.
23462        '''
23463
23464    def __repr__(self):
23465        return '<sdm.RoleResource ' + \
23466            'granted_at: ' + repr(self.granted_at) + ' ' +\
23467            'resource_id: ' + repr(self.resource_id) + ' ' +\
23468            'role_id: ' + repr(self.role_id) + ' ' +\
23469            '>'
23470
23471    def to_dict(self):
23472        return {
23473            'granted_at': self.granted_at,
23474            'resource_id': self.resource_id,
23475            'role_id': self.role_id,
23476        }
23477
23478    @classmethod
23479    def from_dict(cls, d):
23480        return cls(
23481            granted_at=d.get('granted_at'),
23482            resource_id=d.get('resource_id'),
23483            role_id=d.get('role_id'),
23484        )
23485
23486
23487class RoleResourceHistory:
23488    '''
23489         RoleResourceHistory records the state of a RoleResource at a given point in time,
23490     where every change (create or delete) to a RoleResource produces an
23491     RoleResourceHistory record.
23492    '''
23493    __slots__ = [
23494        'activity_id',
23495        'deleted_at',
23496        'role_resource',
23497        'timestamp',
23498    ]
23499
23500    def __init__(
23501        self,
23502        activity_id=None,
23503        deleted_at=None,
23504        role_resource=None,
23505        timestamp=None,
23506    ):
23507        self.activity_id = activity_id if activity_id is not None else ''
23508        '''
23509         The unique identifier of the Activity that produced this change to the RoleResource.
23510         May be empty for some system-initiated updates.
23511        '''
23512        self.deleted_at = deleted_at if deleted_at is not None else None
23513        '''
23514         If this RoleResource was deleted, the time it was deleted.
23515        '''
23516        self.role_resource = role_resource if role_resource is not None else None
23517        '''
23518         The complete RoleResource state at this time.
23519        '''
23520        self.timestamp = timestamp if timestamp is not None else None
23521        '''
23522         The time at which the RoleResource state was recorded.
23523        '''
23524
23525    def __repr__(self):
23526        return '<sdm.RoleResourceHistory ' + \
23527            'activity_id: ' + repr(self.activity_id) + ' ' +\
23528            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23529            'role_resource: ' + repr(self.role_resource) + ' ' +\
23530            'timestamp: ' + repr(self.timestamp) + ' ' +\
23531            '>'
23532
23533    def to_dict(self):
23534        return {
23535            'activity_id': self.activity_id,
23536            'deleted_at': self.deleted_at,
23537            'role_resource': self.role_resource,
23538            'timestamp': self.timestamp,
23539        }
23540
23541    @classmethod
23542    def from_dict(cls, d):
23543        return cls(
23544            activity_id=d.get('activity_id'),
23545            deleted_at=d.get('deleted_at'),
23546            role_resource=d.get('role_resource'),
23547            timestamp=d.get('timestamp'),
23548        )
23549
23550
23551class RoleUpdateResponse:
23552    '''
23553         RoleUpdateResponse returns the fields of a Role after it has been updated by
23554     a RoleUpdateRequest.
23555    '''
23556    __slots__ = [
23557        'meta',
23558        'rate_limit',
23559        'role',
23560    ]
23561
23562    def __init__(
23563        self,
23564        meta=None,
23565        rate_limit=None,
23566        role=None,
23567    ):
23568        self.meta = meta if meta is not None else None
23569        '''
23570         Reserved for future use.
23571        '''
23572        self.rate_limit = rate_limit if rate_limit is not None else None
23573        '''
23574         Rate limit information.
23575        '''
23576        self.role = role if role is not None else None
23577        '''
23578         The updated Role.
23579        '''
23580
23581    def __repr__(self):
23582        return '<sdm.RoleUpdateResponse ' + \
23583            'meta: ' + repr(self.meta) + ' ' +\
23584            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23585            'role: ' + repr(self.role) + ' ' +\
23586            '>'
23587
23588    def to_dict(self):
23589        return {
23590            'meta': self.meta,
23591            'rate_limit': self.rate_limit,
23592            'role': self.role,
23593        }
23594
23595    @classmethod
23596    def from_dict(cls, d):
23597        return cls(
23598            meta=d.get('meta'),
23599            rate_limit=d.get('rate_limit'),
23600            role=d.get('role'),
23601        )
23602
23603
23604class SQLServer:
23605    __slots__ = [
23606        'allow_deprecated_encryption',
23607        'bind_interface',
23608        'database',
23609        'egress_filter',
23610        'healthy',
23611        'hostname',
23612        'id',
23613        'name',
23614        'override_database',
23615        'password',
23616        'port',
23617        'port_override',
23618        'proxy_cluster_id',
23619        'schema',
23620        'secret_store_id',
23621        'subdomain',
23622        'tags',
23623        'username',
23624    ]
23625
23626    def __init__(
23627        self,
23628        allow_deprecated_encryption=None,
23629        bind_interface=None,
23630        database=None,
23631        egress_filter=None,
23632        healthy=None,
23633        hostname=None,
23634        id=None,
23635        name=None,
23636        override_database=None,
23637        password=None,
23638        port=None,
23639        port_override=None,
23640        proxy_cluster_id=None,
23641        schema=None,
23642        secret_store_id=None,
23643        subdomain=None,
23644        tags=None,
23645        username=None,
23646    ):
23647        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
23648        '''
23649         Whether to allow deprecated encryption protocols to be used for this resource. For example,
23650         TLS 1.0.
23651        '''
23652        self.bind_interface = bind_interface if bind_interface is not None else ''
23653        '''
23654         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23655        '''
23656        self.database = database if database is not None else ''
23657        '''
23658         The database for healthchecks, and used for clients if Override Default Database is true.
23659        '''
23660        self.egress_filter = egress_filter if egress_filter is not None else ''
23661        '''
23662         A filter applied to the routing logic to pin datasource to nodes.
23663        '''
23664        self.healthy = healthy if healthy is not None else False
23665        '''
23666         True if the datasource is reachable and the credentials are valid.
23667        '''
23668        self.hostname = hostname if hostname is not None else ''
23669        '''
23670         The host to dial to initiate a connection from the egress node to this resource.
23671        '''
23672        self.id = id if id is not None else ''
23673        '''
23674         Unique identifier of the Resource.
23675        '''
23676        self.name = name if name is not None else ''
23677        '''
23678         Unique human-readable name of the Resource.
23679        '''
23680        self.override_database = override_database if override_database is not None else False
23681        '''
23682         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.
23683        '''
23684        self.password = password if password is not None else ''
23685        '''
23686         The password to authenticate with.
23687        '''
23688        self.port = port if port is not None else 0
23689        '''
23690         The port to dial to initiate a connection from the egress node to this resource.
23691        '''
23692        self.port_override = port_override if port_override is not None else 0
23693        '''
23694         The local port used by clients to connect to this resource.
23695        '''
23696        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23697        '''
23698         ID of the proxy cluster for this resource, if any.
23699        '''
23700        self.schema = schema if schema is not None else ''
23701        '''
23702         The Schema to use to direct initial requests.
23703        '''
23704        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23705        '''
23706         ID of the secret store containing credentials for this resource, if any.
23707        '''
23708        self.subdomain = subdomain if subdomain is not None else ''
23709        '''
23710         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23711        '''
23712        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23713        '''
23714         Tags is a map of key, value pairs.
23715        '''
23716        self.username = username if username is not None else ''
23717        '''
23718         The username to authenticate with.
23719        '''
23720
23721    def __repr__(self):
23722        return '<sdm.SQLServer ' + \
23723            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
23724            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23725            'database: ' + repr(self.database) + ' ' +\
23726            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23727            'healthy: ' + repr(self.healthy) + ' ' +\
23728            'hostname: ' + repr(self.hostname) + ' ' +\
23729            'id: ' + repr(self.id) + ' ' +\
23730            'name: ' + repr(self.name) + ' ' +\
23731            'override_database: ' + repr(self.override_database) + ' ' +\
23732            'password: ' + repr(self.password) + ' ' +\
23733            'port: ' + repr(self.port) + ' ' +\
23734            'port_override: ' + repr(self.port_override) + ' ' +\
23735            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23736            'schema: ' + repr(self.schema) + ' ' +\
23737            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23738            'subdomain: ' + repr(self.subdomain) + ' ' +\
23739            'tags: ' + repr(self.tags) + ' ' +\
23740            'username: ' + repr(self.username) + ' ' +\
23741            '>'
23742
23743    def to_dict(self):
23744        return {
23745            'allow_deprecated_encryption': self.allow_deprecated_encryption,
23746            'bind_interface': self.bind_interface,
23747            'database': self.database,
23748            'egress_filter': self.egress_filter,
23749            'healthy': self.healthy,
23750            'hostname': self.hostname,
23751            'id': self.id,
23752            'name': self.name,
23753            'override_database': self.override_database,
23754            'password': self.password,
23755            'port': self.port,
23756            'port_override': self.port_override,
23757            'proxy_cluster_id': self.proxy_cluster_id,
23758            'schema': self.schema,
23759            'secret_store_id': self.secret_store_id,
23760            'subdomain': self.subdomain,
23761            'tags': self.tags,
23762            'username': self.username,
23763        }
23764
23765    @classmethod
23766    def from_dict(cls, d):
23767        return cls(
23768            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
23769            bind_interface=d.get('bind_interface'),
23770            database=d.get('database'),
23771            egress_filter=d.get('egress_filter'),
23772            healthy=d.get('healthy'),
23773            hostname=d.get('hostname'),
23774            id=d.get('id'),
23775            name=d.get('name'),
23776            override_database=d.get('override_database'),
23777            password=d.get('password'),
23778            port=d.get('port'),
23779            port_override=d.get('port_override'),
23780            proxy_cluster_id=d.get('proxy_cluster_id'),
23781            schema=d.get('schema'),
23782            secret_store_id=d.get('secret_store_id'),
23783            subdomain=d.get('subdomain'),
23784            tags=d.get('tags'),
23785            username=d.get('username'),
23786        )
23787
23788
23789class SQLServerAzureAD:
23790    __slots__ = [
23791        'allow_deprecated_encryption',
23792        'bind_interface',
23793        'client_id',
23794        'database',
23795        'egress_filter',
23796        'healthy',
23797        'hostname',
23798        'id',
23799        'name',
23800        'override_database',
23801        'port',
23802        'port_override',
23803        'proxy_cluster_id',
23804        'schema',
23805        'secret',
23806        'secret_store_id',
23807        'subdomain',
23808        'tags',
23809        'tenant_id',
23810    ]
23811
23812    def __init__(
23813        self,
23814        allow_deprecated_encryption=None,
23815        bind_interface=None,
23816        client_id=None,
23817        database=None,
23818        egress_filter=None,
23819        healthy=None,
23820        hostname=None,
23821        id=None,
23822        name=None,
23823        override_database=None,
23824        port=None,
23825        port_override=None,
23826        proxy_cluster_id=None,
23827        schema=None,
23828        secret=None,
23829        secret_store_id=None,
23830        subdomain=None,
23831        tags=None,
23832        tenant_id=None,
23833    ):
23834        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
23835        '''
23836         Whether to allow deprecated encryption protocols to be used for this resource. For example,
23837         TLS 1.0.
23838        '''
23839        self.bind_interface = bind_interface if bind_interface is not None else ''
23840        '''
23841         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23842        '''
23843        self.client_id = client_id if client_id is not None else ''
23844        '''
23845         The Azure AD application (client) ID with which to authenticate.
23846        '''
23847        self.database = database if database is not None else ''
23848        '''
23849         The database for healthchecks, and used for clients if Override Default Database is true.
23850        '''
23851        self.egress_filter = egress_filter if egress_filter is not None else ''
23852        '''
23853         A filter applied to the routing logic to pin datasource to nodes.
23854        '''
23855        self.healthy = healthy if healthy is not None else False
23856        '''
23857         True if the datasource is reachable and the credentials are valid.
23858        '''
23859        self.hostname = hostname if hostname is not None else ''
23860        '''
23861         The host to dial to initiate a connection from the egress node to this resource.
23862        '''
23863        self.id = id if id is not None else ''
23864        '''
23865         Unique identifier of the Resource.
23866        '''
23867        self.name = name if name is not None else ''
23868        '''
23869         Unique human-readable name of the Resource.
23870        '''
23871        self.override_database = override_database if override_database is not None else False
23872        '''
23873         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.
23874        '''
23875        self.port = port if port is not None else 0
23876        '''
23877         The port to dial to initiate a connection from the egress node to this resource.
23878        '''
23879        self.port_override = port_override if port_override is not None else 0
23880        '''
23881         The local port used by clients to connect to this resource.
23882        '''
23883        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23884        '''
23885         ID of the proxy cluster for this resource, if any.
23886        '''
23887        self.schema = schema if schema is not None else ''
23888        '''
23889         The Schema to use to direct initial requests.
23890        '''
23891        self.secret = secret if secret is not None else ''
23892        '''
23893         The Azure AD client secret (application password) with which to authenticate.
23894        '''
23895        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23896        '''
23897         ID of the secret store containing credentials for this resource, if any.
23898        '''
23899        self.subdomain = subdomain if subdomain is not None else ''
23900        '''
23901         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23902        '''
23903        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23904        '''
23905         Tags is a map of key, value pairs.
23906        '''
23907        self.tenant_id = tenant_id if tenant_id is not None else ''
23908        '''
23909         The Azure AD directory (tenant) ID with which to authenticate.
23910        '''
23911
23912    def __repr__(self):
23913        return '<sdm.SQLServerAzureAD ' + \
23914            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
23915            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23916            'client_id: ' + repr(self.client_id) + ' ' +\
23917            'database: ' + repr(self.database) + ' ' +\
23918            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23919            'healthy: ' + repr(self.healthy) + ' ' +\
23920            'hostname: ' + repr(self.hostname) + ' ' +\
23921            'id: ' + repr(self.id) + ' ' +\
23922            'name: ' + repr(self.name) + ' ' +\
23923            'override_database: ' + repr(self.override_database) + ' ' +\
23924            'port: ' + repr(self.port) + ' ' +\
23925            'port_override: ' + repr(self.port_override) + ' ' +\
23926            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23927            'schema: ' + repr(self.schema) + ' ' +\
23928            'secret: ' + repr(self.secret) + ' ' +\
23929            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23930            'subdomain: ' + repr(self.subdomain) + ' ' +\
23931            'tags: ' + repr(self.tags) + ' ' +\
23932            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
23933            '>'
23934
23935    def to_dict(self):
23936        return {
23937            'allow_deprecated_encryption': self.allow_deprecated_encryption,
23938            'bind_interface': self.bind_interface,
23939            'client_id': self.client_id,
23940            'database': self.database,
23941            'egress_filter': self.egress_filter,
23942            'healthy': self.healthy,
23943            'hostname': self.hostname,
23944            'id': self.id,
23945            'name': self.name,
23946            'override_database': self.override_database,
23947            'port': self.port,
23948            'port_override': self.port_override,
23949            'proxy_cluster_id': self.proxy_cluster_id,
23950            'schema': self.schema,
23951            'secret': self.secret,
23952            'secret_store_id': self.secret_store_id,
23953            'subdomain': self.subdomain,
23954            'tags': self.tags,
23955            'tenant_id': self.tenant_id,
23956        }
23957
23958    @classmethod
23959    def from_dict(cls, d):
23960        return cls(
23961            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
23962            bind_interface=d.get('bind_interface'),
23963            client_id=d.get('client_id'),
23964            database=d.get('database'),
23965            egress_filter=d.get('egress_filter'),
23966            healthy=d.get('healthy'),
23967            hostname=d.get('hostname'),
23968            id=d.get('id'),
23969            name=d.get('name'),
23970            override_database=d.get('override_database'),
23971            port=d.get('port'),
23972            port_override=d.get('port_override'),
23973            proxy_cluster_id=d.get('proxy_cluster_id'),
23974            schema=d.get('schema'),
23975            secret=d.get('secret'),
23976            secret_store_id=d.get('secret_store_id'),
23977            subdomain=d.get('subdomain'),
23978            tags=d.get('tags'),
23979            tenant_id=d.get('tenant_id'),
23980        )
23981
23982
23983class SQLServerKerberosAD:
23984    __slots__ = [
23985        'allow_deprecated_encryption',
23986        'bind_interface',
23987        'database',
23988        'egress_filter',
23989        'healthy',
23990        'hostname',
23991        'id',
23992        'keytab',
23993        'krb_config',
23994        'name',
23995        'override_database',
23996        'port',
23997        'port_override',
23998        'proxy_cluster_id',
23999        'realm',
24000        'schema',
24001        'secret_store_id',
24002        'server_spn',
24003        'subdomain',
24004        'tags',
24005        'username',
24006    ]
24007
24008    def __init__(
24009        self,
24010        allow_deprecated_encryption=None,
24011        bind_interface=None,
24012        database=None,
24013        egress_filter=None,
24014        healthy=None,
24015        hostname=None,
24016        id=None,
24017        keytab=None,
24018        krb_config=None,
24019        name=None,
24020        override_database=None,
24021        port=None,
24022        port_override=None,
24023        proxy_cluster_id=None,
24024        realm=None,
24025        schema=None,
24026        secret_store_id=None,
24027        server_spn=None,
24028        subdomain=None,
24029        tags=None,
24030        username=None,
24031    ):
24032        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
24033        '''
24034         Whether to allow deprecated encryption protocols to be used for this resource. For example,
24035         TLS 1.0.
24036        '''
24037        self.bind_interface = bind_interface if bind_interface is not None else ''
24038        '''
24039         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24040        '''
24041        self.database = database if database is not None else ''
24042        '''
24043         The database for healthchecks, and used for clients if Override Default Database is true.
24044        '''
24045        self.egress_filter = egress_filter if egress_filter is not None else ''
24046        '''
24047         A filter applied to the routing logic to pin datasource to nodes.
24048        '''
24049        self.healthy = healthy if healthy is not None else False
24050        '''
24051         True if the datasource is reachable and the credentials are valid.
24052        '''
24053        self.hostname = hostname if hostname is not None else ''
24054        '''
24055         The host to dial to initiate a connection from the egress node to this resource.
24056        '''
24057        self.id = id if id is not None else ''
24058        '''
24059         Unique identifier of the Resource.
24060        '''
24061        self.keytab = keytab if keytab is not None else ''
24062        '''
24063         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
24064        '''
24065        self.krb_config = krb_config if krb_config is not None else ''
24066        '''
24067         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
24068        '''
24069        self.name = name if name is not None else ''
24070        '''
24071         Unique human-readable name of the Resource.
24072        '''
24073        self.override_database = override_database if override_database is not None else False
24074        '''
24075         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.
24076        '''
24077        self.port = port if port is not None else 0
24078        '''
24079         The port to dial to initiate a connection from the egress node to this resource.
24080        '''
24081        self.port_override = port_override if port_override is not None else 0
24082        '''
24083         The local port used by clients to connect to this resource.
24084        '''
24085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24086        '''
24087         ID of the proxy cluster for this resource, if any.
24088        '''
24089        self.realm = realm if realm is not None else ''
24090        '''
24091         The Active Directory domain (realm) to which the configured username belongs.
24092        '''
24093        self.schema = schema if schema is not None else ''
24094        '''
24095         The Schema to use to direct initial requests.
24096        '''
24097        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24098        '''
24099         ID of the secret store containing credentials for this resource, if any.
24100        '''
24101        self.server_spn = server_spn if server_spn is not None else ''
24102        '''
24103         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
24104        '''
24105        self.subdomain = subdomain if subdomain is not None else ''
24106        '''
24107         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24108        '''
24109        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24110        '''
24111         Tags is a map of key, value pairs.
24112        '''
24113        self.username = username if username is not None else ''
24114        '''
24115         The username to authenticate with.
24116        '''
24117
24118    def __repr__(self):
24119        return '<sdm.SQLServerKerberosAD ' + \
24120            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
24121            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24122            'database: ' + repr(self.database) + ' ' +\
24123            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24124            'healthy: ' + repr(self.healthy) + ' ' +\
24125            'hostname: ' + repr(self.hostname) + ' ' +\
24126            'id: ' + repr(self.id) + ' ' +\
24127            'keytab: ' + repr(self.keytab) + ' ' +\
24128            'krb_config: ' + repr(self.krb_config) + ' ' +\
24129            'name: ' + repr(self.name) + ' ' +\
24130            'override_database: ' + repr(self.override_database) + ' ' +\
24131            'port: ' + repr(self.port) + ' ' +\
24132            'port_override: ' + repr(self.port_override) + ' ' +\
24133            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24134            'realm: ' + repr(self.realm) + ' ' +\
24135            'schema: ' + repr(self.schema) + ' ' +\
24136            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24137            'server_spn: ' + repr(self.server_spn) + ' ' +\
24138            'subdomain: ' + repr(self.subdomain) + ' ' +\
24139            'tags: ' + repr(self.tags) + ' ' +\
24140            'username: ' + repr(self.username) + ' ' +\
24141            '>'
24142
24143    def to_dict(self):
24144        return {
24145            'allow_deprecated_encryption': self.allow_deprecated_encryption,
24146            'bind_interface': self.bind_interface,
24147            'database': self.database,
24148            'egress_filter': self.egress_filter,
24149            'healthy': self.healthy,
24150            'hostname': self.hostname,
24151            'id': self.id,
24152            'keytab': self.keytab,
24153            'krb_config': self.krb_config,
24154            'name': self.name,
24155            'override_database': self.override_database,
24156            'port': self.port,
24157            'port_override': self.port_override,
24158            'proxy_cluster_id': self.proxy_cluster_id,
24159            'realm': self.realm,
24160            'schema': self.schema,
24161            'secret_store_id': self.secret_store_id,
24162            'server_spn': self.server_spn,
24163            'subdomain': self.subdomain,
24164            'tags': self.tags,
24165            'username': self.username,
24166        }
24167
24168    @classmethod
24169    def from_dict(cls, d):
24170        return cls(
24171            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
24172            bind_interface=d.get('bind_interface'),
24173            database=d.get('database'),
24174            egress_filter=d.get('egress_filter'),
24175            healthy=d.get('healthy'),
24176            hostname=d.get('hostname'),
24177            id=d.get('id'),
24178            keytab=d.get('keytab'),
24179            krb_config=d.get('krb_config'),
24180            name=d.get('name'),
24181            override_database=d.get('override_database'),
24182            port=d.get('port'),
24183            port_override=d.get('port_override'),
24184            proxy_cluster_id=d.get('proxy_cluster_id'),
24185            realm=d.get('realm'),
24186            schema=d.get('schema'),
24187            secret_store_id=d.get('secret_store_id'),
24188            server_spn=d.get('server_spn'),
24189            subdomain=d.get('subdomain'),
24190            tags=d.get('tags'),
24191            username=d.get('username'),
24192        )
24193
24194
24195class SSH:
24196    __slots__ = [
24197        'allow_deprecated_key_exchanges',
24198        'bind_interface',
24199        'egress_filter',
24200        'healthy',
24201        'hostname',
24202        'id',
24203        'key_type',
24204        'name',
24205        'port',
24206        'port_forwarding',
24207        'port_override',
24208        'proxy_cluster_id',
24209        'public_key',
24210        'secret_store_id',
24211        'subdomain',
24212        'tags',
24213        'username',
24214    ]
24215
24216    def __init__(
24217        self,
24218        allow_deprecated_key_exchanges=None,
24219        bind_interface=None,
24220        egress_filter=None,
24221        healthy=None,
24222        hostname=None,
24223        id=None,
24224        key_type=None,
24225        name=None,
24226        port=None,
24227        port_forwarding=None,
24228        port_override=None,
24229        proxy_cluster_id=None,
24230        public_key=None,
24231        secret_store_id=None,
24232        subdomain=None,
24233        tags=None,
24234        username=None,
24235    ):
24236        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24237        '''
24238         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24239        '''
24240        self.bind_interface = bind_interface if bind_interface is not None else ''
24241        '''
24242         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24243        '''
24244        self.egress_filter = egress_filter if egress_filter is not None else ''
24245        '''
24246         A filter applied to the routing logic to pin datasource to nodes.
24247        '''
24248        self.healthy = healthy if healthy is not None else False
24249        '''
24250         True if the datasource is reachable and the credentials are valid.
24251        '''
24252        self.hostname = hostname if hostname is not None else ''
24253        '''
24254         The host to dial to initiate a connection from the egress node to this resource.
24255        '''
24256        self.id = id if id is not None else ''
24257        '''
24258         Unique identifier of the Resource.
24259        '''
24260        self.key_type = key_type if key_type is not None else ''
24261        '''
24262         The key type to use e.g. rsa-2048 or ed25519
24263        '''
24264        self.name = name if name is not None else ''
24265        '''
24266         Unique human-readable name of the Resource.
24267        '''
24268        self.port = port if port is not None else 0
24269        '''
24270         The port to dial to initiate a connection from the egress node to this resource.
24271        '''
24272        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24273        '''
24274         Whether port forwarding is allowed through this server.
24275        '''
24276        self.port_override = port_override if port_override is not None else 0
24277        '''
24278         The local port used by clients to connect to this resource.
24279        '''
24280        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24281        '''
24282         ID of the proxy cluster for this resource, if any.
24283        '''
24284        self.public_key = public_key if public_key is not None else ''
24285        '''
24286         The public key to append to a server's authorized keys. This will be generated after resource creation.
24287        '''
24288        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24289        '''
24290         ID of the secret store containing credentials for this resource, if any.
24291        '''
24292        self.subdomain = subdomain if subdomain is not None else ''
24293        '''
24294         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24295        '''
24296        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24297        '''
24298         Tags is a map of key, value pairs.
24299        '''
24300        self.username = username if username is not None else ''
24301        '''
24302         The username to authenticate with.
24303        '''
24304
24305    def __repr__(self):
24306        return '<sdm.SSH ' + \
24307            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24308            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24309            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24310            'healthy: ' + repr(self.healthy) + ' ' +\
24311            'hostname: ' + repr(self.hostname) + ' ' +\
24312            'id: ' + repr(self.id) + ' ' +\
24313            'key_type: ' + repr(self.key_type) + ' ' +\
24314            'name: ' + repr(self.name) + ' ' +\
24315            'port: ' + repr(self.port) + ' ' +\
24316            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24317            'port_override: ' + repr(self.port_override) + ' ' +\
24318            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24319            'public_key: ' + repr(self.public_key) + ' ' +\
24320            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24321            'subdomain: ' + repr(self.subdomain) + ' ' +\
24322            'tags: ' + repr(self.tags) + ' ' +\
24323            'username: ' + repr(self.username) + ' ' +\
24324            '>'
24325
24326    def to_dict(self):
24327        return {
24328            'allow_deprecated_key_exchanges':
24329            self.allow_deprecated_key_exchanges,
24330            'bind_interface': self.bind_interface,
24331            'egress_filter': self.egress_filter,
24332            'healthy': self.healthy,
24333            'hostname': self.hostname,
24334            'id': self.id,
24335            'key_type': self.key_type,
24336            'name': self.name,
24337            'port': self.port,
24338            'port_forwarding': self.port_forwarding,
24339            'port_override': self.port_override,
24340            'proxy_cluster_id': self.proxy_cluster_id,
24341            'public_key': self.public_key,
24342            'secret_store_id': self.secret_store_id,
24343            'subdomain': self.subdomain,
24344            'tags': self.tags,
24345            'username': self.username,
24346        }
24347
24348    @classmethod
24349    def from_dict(cls, d):
24350        return cls(
24351            allow_deprecated_key_exchanges=d.get(
24352                'allow_deprecated_key_exchanges'),
24353            bind_interface=d.get('bind_interface'),
24354            egress_filter=d.get('egress_filter'),
24355            healthy=d.get('healthy'),
24356            hostname=d.get('hostname'),
24357            id=d.get('id'),
24358            key_type=d.get('key_type'),
24359            name=d.get('name'),
24360            port=d.get('port'),
24361            port_forwarding=d.get('port_forwarding'),
24362            port_override=d.get('port_override'),
24363            proxy_cluster_id=d.get('proxy_cluster_id'),
24364            public_key=d.get('public_key'),
24365            secret_store_id=d.get('secret_store_id'),
24366            subdomain=d.get('subdomain'),
24367            tags=d.get('tags'),
24368            username=d.get('username'),
24369        )
24370
24371
24372class SSHCert:
24373    __slots__ = [
24374        'allow_deprecated_key_exchanges',
24375        'bind_interface',
24376        'egress_filter',
24377        'healthy',
24378        'hostname',
24379        'id',
24380        'identity_alias_healthcheck_username',
24381        'identity_set_id',
24382        'key_type',
24383        'name',
24384        'port',
24385        'port_forwarding',
24386        'port_override',
24387        'proxy_cluster_id',
24388        'secret_store_id',
24389        'subdomain',
24390        'tags',
24391        'username',
24392    ]
24393
24394    def __init__(
24395        self,
24396        allow_deprecated_key_exchanges=None,
24397        bind_interface=None,
24398        egress_filter=None,
24399        healthy=None,
24400        hostname=None,
24401        id=None,
24402        identity_alias_healthcheck_username=None,
24403        identity_set_id=None,
24404        key_type=None,
24405        name=None,
24406        port=None,
24407        port_forwarding=None,
24408        port_override=None,
24409        proxy_cluster_id=None,
24410        secret_store_id=None,
24411        subdomain=None,
24412        tags=None,
24413        username=None,
24414    ):
24415        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24416        '''
24417         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24418        '''
24419        self.bind_interface = bind_interface if bind_interface is not None else ''
24420        '''
24421         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24422        '''
24423        self.egress_filter = egress_filter if egress_filter is not None else ''
24424        '''
24425         A filter applied to the routing logic to pin datasource to nodes.
24426        '''
24427        self.healthy = healthy if healthy is not None else False
24428        '''
24429         True if the datasource is reachable and the credentials are valid.
24430        '''
24431        self.hostname = hostname if hostname is not None else ''
24432        '''
24433         The host to dial to initiate a connection from the egress node to this resource.
24434        '''
24435        self.id = id if id is not None else ''
24436        '''
24437         Unique identifier of the Resource.
24438        '''
24439        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
24440        '''
24441         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
24442        '''
24443        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
24444        '''
24445         The ID of the identity set to use for identity connections.
24446        '''
24447        self.key_type = key_type if key_type is not None else ''
24448        '''
24449         The key type to use e.g. rsa-2048 or ed25519
24450        '''
24451        self.name = name if name is not None else ''
24452        '''
24453         Unique human-readable name of the Resource.
24454        '''
24455        self.port = port if port is not None else 0
24456        '''
24457         The port to dial to initiate a connection from the egress node to this resource.
24458        '''
24459        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24460        '''
24461         Whether port forwarding is allowed through this server.
24462        '''
24463        self.port_override = port_override if port_override is not None else 0
24464        '''
24465         The local port used by clients to connect to this resource.
24466        '''
24467        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24468        '''
24469         ID of the proxy cluster for this resource, if any.
24470        '''
24471        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24472        '''
24473         ID of the secret store containing credentials for this resource, if any.
24474        '''
24475        self.subdomain = subdomain if subdomain is not None else ''
24476        '''
24477         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24478        '''
24479        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24480        '''
24481         Tags is a map of key, value pairs.
24482        '''
24483        self.username = username if username is not None else ''
24484        '''
24485         The username to authenticate with.
24486        '''
24487
24488    def __repr__(self):
24489        return '<sdm.SSHCert ' + \
24490            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24491            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24492            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24493            'healthy: ' + repr(self.healthy) + ' ' +\
24494            'hostname: ' + repr(self.hostname) + ' ' +\
24495            'id: ' + repr(self.id) + ' ' +\
24496            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
24497            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
24498            'key_type: ' + repr(self.key_type) + ' ' +\
24499            'name: ' + repr(self.name) + ' ' +\
24500            'port: ' + repr(self.port) + ' ' +\
24501            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24502            'port_override: ' + repr(self.port_override) + ' ' +\
24503            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24504            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24505            'subdomain: ' + repr(self.subdomain) + ' ' +\
24506            'tags: ' + repr(self.tags) + ' ' +\
24507            'username: ' + repr(self.username) + ' ' +\
24508            '>'
24509
24510    def to_dict(self):
24511        return {
24512            'allow_deprecated_key_exchanges':
24513            self.allow_deprecated_key_exchanges,
24514            'bind_interface': self.bind_interface,
24515            'egress_filter': self.egress_filter,
24516            'healthy': self.healthy,
24517            'hostname': self.hostname,
24518            'id': self.id,
24519            'identity_alias_healthcheck_username':
24520            self.identity_alias_healthcheck_username,
24521            'identity_set_id': self.identity_set_id,
24522            'key_type': self.key_type,
24523            'name': self.name,
24524            'port': self.port,
24525            'port_forwarding': self.port_forwarding,
24526            'port_override': self.port_override,
24527            'proxy_cluster_id': self.proxy_cluster_id,
24528            'secret_store_id': self.secret_store_id,
24529            'subdomain': self.subdomain,
24530            'tags': self.tags,
24531            'username': self.username,
24532        }
24533
24534    @classmethod
24535    def from_dict(cls, d):
24536        return cls(
24537            allow_deprecated_key_exchanges=d.get(
24538                'allow_deprecated_key_exchanges'),
24539            bind_interface=d.get('bind_interface'),
24540            egress_filter=d.get('egress_filter'),
24541            healthy=d.get('healthy'),
24542            hostname=d.get('hostname'),
24543            id=d.get('id'),
24544            identity_alias_healthcheck_username=d.get(
24545                'identity_alias_healthcheck_username'),
24546            identity_set_id=d.get('identity_set_id'),
24547            key_type=d.get('key_type'),
24548            name=d.get('name'),
24549            port=d.get('port'),
24550            port_forwarding=d.get('port_forwarding'),
24551            port_override=d.get('port_override'),
24552            proxy_cluster_id=d.get('proxy_cluster_id'),
24553            secret_store_id=d.get('secret_store_id'),
24554            subdomain=d.get('subdomain'),
24555            tags=d.get('tags'),
24556            username=d.get('username'),
24557        )
24558
24559
24560class SSHCustomerKey:
24561    __slots__ = [
24562        'allow_deprecated_key_exchanges',
24563        'bind_interface',
24564        'egress_filter',
24565        'healthy',
24566        'hostname',
24567        'id',
24568        'name',
24569        'port',
24570        'port_forwarding',
24571        'port_override',
24572        'private_key',
24573        'proxy_cluster_id',
24574        'secret_store_id',
24575        'subdomain',
24576        'tags',
24577        'username',
24578    ]
24579
24580    def __init__(
24581        self,
24582        allow_deprecated_key_exchanges=None,
24583        bind_interface=None,
24584        egress_filter=None,
24585        healthy=None,
24586        hostname=None,
24587        id=None,
24588        name=None,
24589        port=None,
24590        port_forwarding=None,
24591        port_override=None,
24592        private_key=None,
24593        proxy_cluster_id=None,
24594        secret_store_id=None,
24595        subdomain=None,
24596        tags=None,
24597        username=None,
24598    ):
24599        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24600        '''
24601         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24602        '''
24603        self.bind_interface = bind_interface if bind_interface is not None else ''
24604        '''
24605         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24606        '''
24607        self.egress_filter = egress_filter if egress_filter is not None else ''
24608        '''
24609         A filter applied to the routing logic to pin datasource to nodes.
24610        '''
24611        self.healthy = healthy if healthy is not None else False
24612        '''
24613         True if the datasource is reachable and the credentials are valid.
24614        '''
24615        self.hostname = hostname if hostname is not None else ''
24616        '''
24617         The host to dial to initiate a connection from the egress node to this resource.
24618        '''
24619        self.id = id if id is not None else ''
24620        '''
24621         Unique identifier of the Resource.
24622        '''
24623        self.name = name if name is not None else ''
24624        '''
24625         Unique human-readable name of the Resource.
24626        '''
24627        self.port = port if port is not None else 0
24628        '''
24629         The port to dial to initiate a connection from the egress node to this resource.
24630        '''
24631        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24632        '''
24633         Whether port forwarding is allowed through this server.
24634        '''
24635        self.port_override = port_override if port_override is not None else 0
24636        '''
24637         The local port used by clients to connect to this resource.
24638        '''
24639        self.private_key = private_key if private_key is not None else ''
24640        '''
24641         The private key used to authenticate with the server.
24642        '''
24643        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24644        '''
24645         ID of the proxy cluster for this resource, if any.
24646        '''
24647        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24648        '''
24649         ID of the secret store containing credentials for this resource, if any.
24650        '''
24651        self.subdomain = subdomain if subdomain is not None else ''
24652        '''
24653         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24654        '''
24655        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24656        '''
24657         Tags is a map of key, value pairs.
24658        '''
24659        self.username = username if username is not None else ''
24660        '''
24661         The username to authenticate with.
24662        '''
24663
24664    def __repr__(self):
24665        return '<sdm.SSHCustomerKey ' + \
24666            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24667            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24668            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24669            'healthy: ' + repr(self.healthy) + ' ' +\
24670            'hostname: ' + repr(self.hostname) + ' ' +\
24671            'id: ' + repr(self.id) + ' ' +\
24672            'name: ' + repr(self.name) + ' ' +\
24673            'port: ' + repr(self.port) + ' ' +\
24674            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24675            'port_override: ' + repr(self.port_override) + ' ' +\
24676            'private_key: ' + repr(self.private_key) + ' ' +\
24677            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24678            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24679            'subdomain: ' + repr(self.subdomain) + ' ' +\
24680            'tags: ' + repr(self.tags) + ' ' +\
24681            'username: ' + repr(self.username) + ' ' +\
24682            '>'
24683
24684    def to_dict(self):
24685        return {
24686            'allow_deprecated_key_exchanges':
24687            self.allow_deprecated_key_exchanges,
24688            'bind_interface': self.bind_interface,
24689            'egress_filter': self.egress_filter,
24690            'healthy': self.healthy,
24691            'hostname': self.hostname,
24692            'id': self.id,
24693            'name': self.name,
24694            'port': self.port,
24695            'port_forwarding': self.port_forwarding,
24696            'port_override': self.port_override,
24697            'private_key': self.private_key,
24698            'proxy_cluster_id': self.proxy_cluster_id,
24699            'secret_store_id': self.secret_store_id,
24700            'subdomain': self.subdomain,
24701            'tags': self.tags,
24702            'username': self.username,
24703        }
24704
24705    @classmethod
24706    def from_dict(cls, d):
24707        return cls(
24708            allow_deprecated_key_exchanges=d.get(
24709                'allow_deprecated_key_exchanges'),
24710            bind_interface=d.get('bind_interface'),
24711            egress_filter=d.get('egress_filter'),
24712            healthy=d.get('healthy'),
24713            hostname=d.get('hostname'),
24714            id=d.get('id'),
24715            name=d.get('name'),
24716            port=d.get('port'),
24717            port_forwarding=d.get('port_forwarding'),
24718            port_override=d.get('port_override'),
24719            private_key=d.get('private_key'),
24720            proxy_cluster_id=d.get('proxy_cluster_id'),
24721            secret_store_id=d.get('secret_store_id'),
24722            subdomain=d.get('subdomain'),
24723            tags=d.get('tags'),
24724            username=d.get('username'),
24725        )
24726
24727
24728class SSHPassword:
24729    __slots__ = [
24730        'allow_deprecated_key_exchanges',
24731        'bind_interface',
24732        'egress_filter',
24733        'healthy',
24734        'hostname',
24735        'id',
24736        'name',
24737        'password',
24738        'port',
24739        'port_forwarding',
24740        'port_override',
24741        'proxy_cluster_id',
24742        'secret_store_id',
24743        'subdomain',
24744        'tags',
24745        'username',
24746    ]
24747
24748    def __init__(
24749        self,
24750        allow_deprecated_key_exchanges=None,
24751        bind_interface=None,
24752        egress_filter=None,
24753        healthy=None,
24754        hostname=None,
24755        id=None,
24756        name=None,
24757        password=None,
24758        port=None,
24759        port_forwarding=None,
24760        port_override=None,
24761        proxy_cluster_id=None,
24762        secret_store_id=None,
24763        subdomain=None,
24764        tags=None,
24765        username=None,
24766    ):
24767        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24768        '''
24769         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24770        '''
24771        self.bind_interface = bind_interface if bind_interface is not None else ''
24772        '''
24773         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24774        '''
24775        self.egress_filter = egress_filter if egress_filter is not None else ''
24776        '''
24777         A filter applied to the routing logic to pin datasource to nodes.
24778        '''
24779        self.healthy = healthy if healthy is not None else False
24780        '''
24781         True if the datasource is reachable and the credentials are valid.
24782        '''
24783        self.hostname = hostname if hostname is not None else ''
24784        '''
24785         The host to dial to initiate a connection from the egress node to this resource.
24786        '''
24787        self.id = id if id is not None else ''
24788        '''
24789         Unique identifier of the Resource.
24790        '''
24791        self.name = name if name is not None else ''
24792        '''
24793         Unique human-readable name of the Resource.
24794        '''
24795        self.password = password if password is not None else ''
24796        '''
24797         The password to authenticate with.
24798        '''
24799        self.port = port if port is not None else 0
24800        '''
24801         The port to dial to initiate a connection from the egress node to this resource.
24802        '''
24803        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24804        '''
24805         Whether port forwarding is allowed through this server.
24806        '''
24807        self.port_override = port_override if port_override is not None else 0
24808        '''
24809         The local port used by clients to connect to this resource.
24810        '''
24811        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24812        '''
24813         ID of the proxy cluster for this resource, if any.
24814        '''
24815        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24816        '''
24817         ID of the secret store containing credentials for this resource, if any.
24818        '''
24819        self.subdomain = subdomain if subdomain is not None else ''
24820        '''
24821         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24822        '''
24823        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24824        '''
24825         Tags is a map of key, value pairs.
24826        '''
24827        self.username = username if username is not None else ''
24828        '''
24829         The username to authenticate with.
24830        '''
24831
24832    def __repr__(self):
24833        return '<sdm.SSHPassword ' + \
24834            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24835            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24836            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24837            'healthy: ' + repr(self.healthy) + ' ' +\
24838            'hostname: ' + repr(self.hostname) + ' ' +\
24839            'id: ' + repr(self.id) + ' ' +\
24840            'name: ' + repr(self.name) + ' ' +\
24841            'password: ' + repr(self.password) + ' ' +\
24842            'port: ' + repr(self.port) + ' ' +\
24843            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24844            'port_override: ' + repr(self.port_override) + ' ' +\
24845            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24846            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24847            'subdomain: ' + repr(self.subdomain) + ' ' +\
24848            'tags: ' + repr(self.tags) + ' ' +\
24849            'username: ' + repr(self.username) + ' ' +\
24850            '>'
24851
24852    def to_dict(self):
24853        return {
24854            'allow_deprecated_key_exchanges':
24855            self.allow_deprecated_key_exchanges,
24856            'bind_interface': self.bind_interface,
24857            'egress_filter': self.egress_filter,
24858            'healthy': self.healthy,
24859            'hostname': self.hostname,
24860            'id': self.id,
24861            'name': self.name,
24862            'password': self.password,
24863            'port': self.port,
24864            'port_forwarding': self.port_forwarding,
24865            'port_override': self.port_override,
24866            'proxy_cluster_id': self.proxy_cluster_id,
24867            'secret_store_id': self.secret_store_id,
24868            'subdomain': self.subdomain,
24869            'tags': self.tags,
24870            'username': self.username,
24871        }
24872
24873    @classmethod
24874    def from_dict(cls, d):
24875        return cls(
24876            allow_deprecated_key_exchanges=d.get(
24877                'allow_deprecated_key_exchanges'),
24878            bind_interface=d.get('bind_interface'),
24879            egress_filter=d.get('egress_filter'),
24880            healthy=d.get('healthy'),
24881            hostname=d.get('hostname'),
24882            id=d.get('id'),
24883            name=d.get('name'),
24884            password=d.get('password'),
24885            port=d.get('port'),
24886            port_forwarding=d.get('port_forwarding'),
24887            port_override=d.get('port_override'),
24888            proxy_cluster_id=d.get('proxy_cluster_id'),
24889            secret_store_id=d.get('secret_store_id'),
24890            subdomain=d.get('subdomain'),
24891            tags=d.get('tags'),
24892            username=d.get('username'),
24893        )
24894
24895
24896class SecretStoreCreateResponse:
24897    '''
24898         SecretStoreCreateResponse reports how the SecretStores were created in the system.
24899    '''
24900    __slots__ = [
24901        'meta',
24902        'rate_limit',
24903        'secret_store',
24904    ]
24905
24906    def __init__(
24907        self,
24908        meta=None,
24909        rate_limit=None,
24910        secret_store=None,
24911    ):
24912        self.meta = meta if meta is not None else None
24913        '''
24914         Reserved for future use.
24915        '''
24916        self.rate_limit = rate_limit if rate_limit is not None else None
24917        '''
24918         Rate limit information.
24919        '''
24920        self.secret_store = secret_store if secret_store is not None else None
24921        '''
24922         The created SecretStore.
24923        '''
24924
24925    def __repr__(self):
24926        return '<sdm.SecretStoreCreateResponse ' + \
24927            'meta: ' + repr(self.meta) + ' ' +\
24928            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24929            'secret_store: ' + repr(self.secret_store) + ' ' +\
24930            '>'
24931
24932    def to_dict(self):
24933        return {
24934            'meta': self.meta,
24935            'rate_limit': self.rate_limit,
24936            'secret_store': self.secret_store,
24937        }
24938
24939    @classmethod
24940    def from_dict(cls, d):
24941        return cls(
24942            meta=d.get('meta'),
24943            rate_limit=d.get('rate_limit'),
24944            secret_store=d.get('secret_store'),
24945        )
24946
24947
24948class SecretStoreDeleteResponse:
24949    '''
24950         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
24951    '''
24952    __slots__ = [
24953        'meta',
24954        'rate_limit',
24955    ]
24956
24957    def __init__(
24958        self,
24959        meta=None,
24960        rate_limit=None,
24961    ):
24962        self.meta = meta if meta is not None else None
24963        '''
24964         Reserved for future use.
24965        '''
24966        self.rate_limit = rate_limit if rate_limit is not None else None
24967        '''
24968         Rate limit information.
24969        '''
24970
24971    def __repr__(self):
24972        return '<sdm.SecretStoreDeleteResponse ' + \
24973            'meta: ' + repr(self.meta) + ' ' +\
24974            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24975            '>'
24976
24977    def to_dict(self):
24978        return {
24979            'meta': self.meta,
24980            'rate_limit': self.rate_limit,
24981        }
24982
24983    @classmethod
24984    def from_dict(cls, d):
24985        return cls(
24986            meta=d.get('meta'),
24987            rate_limit=d.get('rate_limit'),
24988        )
24989
24990
24991class SecretStoreGetResponse:
24992    '''
24993         SecretStoreGetResponse returns a requested SecretStore.
24994    '''
24995    __slots__ = [
24996        'meta',
24997        'rate_limit',
24998        'secret_store',
24999    ]
25000
25001    def __init__(
25002        self,
25003        meta=None,
25004        rate_limit=None,
25005        secret_store=None,
25006    ):
25007        self.meta = meta if meta is not None else None
25008        '''
25009         Reserved for future use.
25010        '''
25011        self.rate_limit = rate_limit if rate_limit is not None else None
25012        '''
25013         Rate limit information.
25014        '''
25015        self.secret_store = secret_store if secret_store is not None else None
25016        '''
25017         The requested SecretStore.
25018        '''
25019
25020    def __repr__(self):
25021        return '<sdm.SecretStoreGetResponse ' + \
25022            'meta: ' + repr(self.meta) + ' ' +\
25023            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25024            'secret_store: ' + repr(self.secret_store) + ' ' +\
25025            '>'
25026
25027    def to_dict(self):
25028        return {
25029            'meta': self.meta,
25030            'rate_limit': self.rate_limit,
25031            'secret_store': self.secret_store,
25032        }
25033
25034    @classmethod
25035    def from_dict(cls, d):
25036        return cls(
25037            meta=d.get('meta'),
25038            rate_limit=d.get('rate_limit'),
25039            secret_store=d.get('secret_store'),
25040        )
25041
25042
25043class SecretStoreHealth:
25044    '''
25045         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
25046     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
25047     or set of nodes.
25048    '''
25049    __slots__ = [
25050        'changed_at',
25051        'checked_at',
25052        'error',
25053        'flags',
25054        'node_id',
25055        'reachability',
25056        'secret_store_id',
25057        'status',
25058    ]
25059
25060    def __init__(
25061        self,
25062        changed_at=None,
25063        checked_at=None,
25064        error=None,
25065        flags=None,
25066        node_id=None,
25067        reachability=None,
25068        secret_store_id=None,
25069        status=None,
25070    ):
25071        self.changed_at = changed_at if changed_at is not None else None
25072        '''
25073         The time when the status last changed
25074        '''
25075        self.checked_at = checked_at if checked_at is not None else None
25076        '''
25077         The time when the status was last checked by the node
25078        '''
25079        self.error = error if error is not None else ''
25080        '''
25081         The error associated with this health check, if it occurred after reachability checks succeeded.
25082        '''
25083        self.flags = flags if flags is not None else []
25084        '''
25085         Any specific status or error flags associated with this health check.
25086        '''
25087        self.node_id = node_id if node_id is not None else ''
25088        '''
25089         Associated node id for this health
25090        '''
25091        self.reachability = reachability if reachability is not None else ''
25092        '''
25093         The error associated with this health check, if it occurred during reachability checks.
25094        '''
25095        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25096        '''
25097         Associated secret store for this health
25098        '''
25099        self.status = status if status is not None else ''
25100        '''
25101         The status of the link between the node and secret store
25102        '''
25103
25104    def __repr__(self):
25105        return '<sdm.SecretStoreHealth ' + \
25106            'changed_at: ' + repr(self.changed_at) + ' ' +\
25107            'checked_at: ' + repr(self.checked_at) + ' ' +\
25108            'error: ' + repr(self.error) + ' ' +\
25109            'flags: ' + repr(self.flags) + ' ' +\
25110            'node_id: ' + repr(self.node_id) + ' ' +\
25111            'reachability: ' + repr(self.reachability) + ' ' +\
25112            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25113            'status: ' + repr(self.status) + ' ' +\
25114            '>'
25115
25116    def to_dict(self):
25117        return {
25118            'changed_at': self.changed_at,
25119            'checked_at': self.checked_at,
25120            'error': self.error,
25121            'flags': self.flags,
25122            'node_id': self.node_id,
25123            'reachability': self.reachability,
25124            'secret_store_id': self.secret_store_id,
25125            'status': self.status,
25126        }
25127
25128    @classmethod
25129    def from_dict(cls, d):
25130        return cls(
25131            changed_at=d.get('changed_at'),
25132            checked_at=d.get('checked_at'),
25133            error=d.get('error'),
25134            flags=d.get('flags'),
25135            node_id=d.get('node_id'),
25136            reachability=d.get('reachability'),
25137            secret_store_id=d.get('secret_store_id'),
25138            status=d.get('status'),
25139        )
25140
25141
25142class SecretStoreHealthListResponse:
25143    __slots__ = [
25144        'rate_limit',
25145    ]
25146
25147    def __init__(
25148        self,
25149        rate_limit=None,
25150    ):
25151        self.rate_limit = rate_limit if rate_limit is not None else None
25152        '''
25153         Rate limit information.
25154        '''
25155
25156    def __repr__(self):
25157        return '<sdm.SecretStoreHealthListResponse ' + \
25158            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25159            '>'
25160
25161    def to_dict(self):
25162        return {
25163            'rate_limit': self.rate_limit,
25164        }
25165
25166    @classmethod
25167    def from_dict(cls, d):
25168        return cls(rate_limit=d.get('rate_limit'), )
25169
25170
25171class SecretStoreHealthcheckResponse:
25172    __slots__ = [
25173        'rate_limit',
25174    ]
25175
25176    def __init__(
25177        self,
25178        rate_limit=None,
25179    ):
25180        self.rate_limit = rate_limit if rate_limit is not None else None
25181        '''
25182         Rate limit information.
25183        '''
25184
25185    def __repr__(self):
25186        return '<sdm.SecretStoreHealthcheckResponse ' + \
25187            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25188            '>'
25189
25190    def to_dict(self):
25191        return {
25192            'rate_limit': self.rate_limit,
25193        }
25194
25195    @classmethod
25196    def from_dict(cls, d):
25197        return cls(rate_limit=d.get('rate_limit'), )
25198
25199
25200class SecretStoreHistory:
25201    '''
25202         SecretStoreHistory records the state of a SecretStore at a given point in time,
25203     where every change (create, update and delete) to a SecretStore produces an
25204     SecretStoreHistory record.
25205    '''
25206    __slots__ = [
25207        'activity_id',
25208        'deleted_at',
25209        'secret_store',
25210        'timestamp',
25211    ]
25212
25213    def __init__(
25214        self,
25215        activity_id=None,
25216        deleted_at=None,
25217        secret_store=None,
25218        timestamp=None,
25219    ):
25220        self.activity_id = activity_id if activity_id is not None else ''
25221        '''
25222         The unique identifier of the Activity that produced this change to the SecretStore.
25223         May be empty for some system-initiated updates.
25224        '''
25225        self.deleted_at = deleted_at if deleted_at is not None else None
25226        '''
25227         If this SecretStore was deleted, the time it was deleted.
25228        '''
25229        self.secret_store = secret_store if secret_store is not None else None
25230        '''
25231         The complete SecretStore state at this time.
25232        '''
25233        self.timestamp = timestamp if timestamp is not None else None
25234        '''
25235         The time at which the SecretStore state was recorded.
25236        '''
25237
25238    def __repr__(self):
25239        return '<sdm.SecretStoreHistory ' + \
25240            'activity_id: ' + repr(self.activity_id) + ' ' +\
25241            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25242            'secret_store: ' + repr(self.secret_store) + ' ' +\
25243            'timestamp: ' + repr(self.timestamp) + ' ' +\
25244            '>'
25245
25246    def to_dict(self):
25247        return {
25248            'activity_id': self.activity_id,
25249            'deleted_at': self.deleted_at,
25250            'secret_store': self.secret_store,
25251            'timestamp': self.timestamp,
25252        }
25253
25254    @classmethod
25255    def from_dict(cls, d):
25256        return cls(
25257            activity_id=d.get('activity_id'),
25258            deleted_at=d.get('deleted_at'),
25259            secret_store=d.get('secret_store'),
25260            timestamp=d.get('timestamp'),
25261        )
25262
25263
25264class SecretStoreUpdateResponse:
25265    '''
25266         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
25267     a SecretStoreUpdateRequest.
25268    '''
25269    __slots__ = [
25270        'meta',
25271        'rate_limit',
25272        'secret_store',
25273    ]
25274
25275    def __init__(
25276        self,
25277        meta=None,
25278        rate_limit=None,
25279        secret_store=None,
25280    ):
25281        self.meta = meta if meta is not None else None
25282        '''
25283         Reserved for future use.
25284        '''
25285        self.rate_limit = rate_limit if rate_limit is not None else None
25286        '''
25287         Rate limit information.
25288        '''
25289        self.secret_store = secret_store if secret_store is not None else None
25290        '''
25291         The updated SecretStore.
25292        '''
25293
25294    def __repr__(self):
25295        return '<sdm.SecretStoreUpdateResponse ' + \
25296            'meta: ' + repr(self.meta) + ' ' +\
25297            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25298            'secret_store: ' + repr(self.secret_store) + ' ' +\
25299            '>'
25300
25301    def to_dict(self):
25302        return {
25303            'meta': self.meta,
25304            'rate_limit': self.rate_limit,
25305            'secret_store': self.secret_store,
25306        }
25307
25308    @classmethod
25309    def from_dict(cls, d):
25310        return cls(
25311            meta=d.get('meta'),
25312            rate_limit=d.get('rate_limit'),
25313            secret_store=d.get('secret_store'),
25314        )
25315
25316
25317class Service:
25318    '''
25319         A Service is a service account that can connect to resources they are granted
25320     directly, or granted via roles. Services are typically automated jobs.
25321    '''
25322    __slots__ = [
25323        'id',
25324        'name',
25325        'suspended',
25326        'tags',
25327    ]
25328
25329    def __init__(
25330        self,
25331        id=None,
25332        name=None,
25333        suspended=None,
25334        tags=None,
25335    ):
25336        self.id = id if id is not None else ''
25337        '''
25338         Unique identifier of the Service.
25339        '''
25340        self.name = name if name is not None else ''
25341        '''
25342         Unique human-readable name of the Service.
25343        '''
25344        self.suspended = suspended if suspended is not None else False
25345        '''
25346         The Service's suspended state.
25347        '''
25348        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25349        '''
25350         Tags is a map of key, value pairs.
25351        '''
25352
25353    def __repr__(self):
25354        return '<sdm.Service ' + \
25355            'id: ' + repr(self.id) + ' ' +\
25356            'name: ' + repr(self.name) + ' ' +\
25357            'suspended: ' + repr(self.suspended) + ' ' +\
25358            'tags: ' + repr(self.tags) + ' ' +\
25359            '>'
25360
25361    def to_dict(self):
25362        return {
25363            'id': self.id,
25364            'name': self.name,
25365            'suspended': self.suspended,
25366            'tags': self.tags,
25367        }
25368
25369    @classmethod
25370    def from_dict(cls, d):
25371        return cls(
25372            id=d.get('id'),
25373            name=d.get('name'),
25374            suspended=d.get('suspended'),
25375            tags=d.get('tags'),
25376        )
25377
25378
25379class SingleStore:
25380    __slots__ = [
25381        'bind_interface',
25382        'database',
25383        'egress_filter',
25384        'healthy',
25385        'hostname',
25386        'id',
25387        'name',
25388        'password',
25389        'port',
25390        'port_override',
25391        'proxy_cluster_id',
25392        'require_native_auth',
25393        'secret_store_id',
25394        'subdomain',
25395        'tags',
25396        'use_azure_single_server_usernames',
25397        'username',
25398    ]
25399
25400    def __init__(
25401        self,
25402        bind_interface=None,
25403        database=None,
25404        egress_filter=None,
25405        healthy=None,
25406        hostname=None,
25407        id=None,
25408        name=None,
25409        password=None,
25410        port=None,
25411        port_override=None,
25412        proxy_cluster_id=None,
25413        require_native_auth=None,
25414        secret_store_id=None,
25415        subdomain=None,
25416        tags=None,
25417        use_azure_single_server_usernames=None,
25418        username=None,
25419    ):
25420        self.bind_interface = bind_interface if bind_interface is not None else ''
25421        '''
25422         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25423        '''
25424        self.database = database if database is not None else ''
25425        '''
25426         The database for healthchecks. Does not affect client requests.
25427        '''
25428        self.egress_filter = egress_filter if egress_filter is not None else ''
25429        '''
25430         A filter applied to the routing logic to pin datasource to nodes.
25431        '''
25432        self.healthy = healthy if healthy is not None else False
25433        '''
25434         True if the datasource is reachable and the credentials are valid.
25435        '''
25436        self.hostname = hostname if hostname is not None else ''
25437        '''
25438         The host to dial to initiate a connection from the egress node to this resource.
25439        '''
25440        self.id = id if id is not None else ''
25441        '''
25442         Unique identifier of the Resource.
25443        '''
25444        self.name = name if name is not None else ''
25445        '''
25446         Unique human-readable name of the Resource.
25447        '''
25448        self.password = password if password is not None else ''
25449        '''
25450         The password to authenticate with.
25451        '''
25452        self.port = port if port is not None else 0
25453        '''
25454         The port to dial to initiate a connection from the egress node to this resource.
25455        '''
25456        self.port_override = port_override if port_override is not None else 0
25457        '''
25458         The local port used by clients to connect to this resource.
25459        '''
25460        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25461        '''
25462         ID of the proxy cluster for this resource, if any.
25463        '''
25464        self.require_native_auth = require_native_auth if require_native_auth is not None else False
25465        '''
25466         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
25467        '''
25468        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25469        '''
25470         ID of the secret store containing credentials for this resource, if any.
25471        '''
25472        self.subdomain = subdomain if subdomain is not None else ''
25473        '''
25474         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25475        '''
25476        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25477        '''
25478         Tags is a map of key, value pairs.
25479        '''
25480        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
25481        '''
25482         If true, appends the hostname to the username when hitting a database.azure.com address
25483        '''
25484        self.username = username if username is not None else ''
25485        '''
25486         The username to authenticate with.
25487        '''
25488
25489    def __repr__(self):
25490        return '<sdm.SingleStore ' + \
25491            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25492            'database: ' + repr(self.database) + ' ' +\
25493            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25494            'healthy: ' + repr(self.healthy) + ' ' +\
25495            'hostname: ' + repr(self.hostname) + ' ' +\
25496            'id: ' + repr(self.id) + ' ' +\
25497            'name: ' + repr(self.name) + ' ' +\
25498            'password: ' + repr(self.password) + ' ' +\
25499            'port: ' + repr(self.port) + ' ' +\
25500            'port_override: ' + repr(self.port_override) + ' ' +\
25501            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25502            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
25503            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25504            'subdomain: ' + repr(self.subdomain) + ' ' +\
25505            'tags: ' + repr(self.tags) + ' ' +\
25506            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
25507            'username: ' + repr(self.username) + ' ' +\
25508            '>'
25509
25510    def to_dict(self):
25511        return {
25512            'bind_interface': self.bind_interface,
25513            'database': self.database,
25514            'egress_filter': self.egress_filter,
25515            'healthy': self.healthy,
25516            'hostname': self.hostname,
25517            'id': self.id,
25518            'name': self.name,
25519            'password': self.password,
25520            'port': self.port,
25521            'port_override': self.port_override,
25522            'proxy_cluster_id': self.proxy_cluster_id,
25523            'require_native_auth': self.require_native_auth,
25524            'secret_store_id': self.secret_store_id,
25525            'subdomain': self.subdomain,
25526            'tags': self.tags,
25527            'use_azure_single_server_usernames':
25528            self.use_azure_single_server_usernames,
25529            'username': self.username,
25530        }
25531
25532    @classmethod
25533    def from_dict(cls, d):
25534        return cls(
25535            bind_interface=d.get('bind_interface'),
25536            database=d.get('database'),
25537            egress_filter=d.get('egress_filter'),
25538            healthy=d.get('healthy'),
25539            hostname=d.get('hostname'),
25540            id=d.get('id'),
25541            name=d.get('name'),
25542            password=d.get('password'),
25543            port=d.get('port'),
25544            port_override=d.get('port_override'),
25545            proxy_cluster_id=d.get('proxy_cluster_id'),
25546            require_native_auth=d.get('require_native_auth'),
25547            secret_store_id=d.get('secret_store_id'),
25548            subdomain=d.get('subdomain'),
25549            tags=d.get('tags'),
25550            use_azure_single_server_usernames=d.get(
25551                'use_azure_single_server_usernames'),
25552            username=d.get('username'),
25553        )
25554
25555
25556class Snowflake:
25557    __slots__ = [
25558        'bind_interface',
25559        'database',
25560        'egress_filter',
25561        'healthy',
25562        'hostname',
25563        'id',
25564        'name',
25565        'password',
25566        'port_override',
25567        'proxy_cluster_id',
25568        'schema',
25569        'secret_store_id',
25570        'subdomain',
25571        'tags',
25572        'username',
25573    ]
25574
25575    def __init__(
25576        self,
25577        bind_interface=None,
25578        database=None,
25579        egress_filter=None,
25580        healthy=None,
25581        hostname=None,
25582        id=None,
25583        name=None,
25584        password=None,
25585        port_override=None,
25586        proxy_cluster_id=None,
25587        schema=None,
25588        secret_store_id=None,
25589        subdomain=None,
25590        tags=None,
25591        username=None,
25592    ):
25593        self.bind_interface = bind_interface if bind_interface is not None else ''
25594        '''
25595         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25596        '''
25597        self.database = database if database is not None else ''
25598        '''
25599         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
25600        '''
25601        self.egress_filter = egress_filter if egress_filter is not None else ''
25602        '''
25603         A filter applied to the routing logic to pin datasource to nodes.
25604        '''
25605        self.healthy = healthy if healthy is not None else False
25606        '''
25607         True if the datasource is reachable and the credentials are valid.
25608        '''
25609        self.hostname = hostname if hostname is not None else ''
25610        '''
25611         The host to dial to initiate a connection from the egress node to this resource.
25612        '''
25613        self.id = id if id is not None else ''
25614        '''
25615         Unique identifier of the Resource.
25616        '''
25617        self.name = name if name is not None else ''
25618        '''
25619         Unique human-readable name of the Resource.
25620        '''
25621        self.password = password if password is not None else ''
25622        '''
25623         The password to authenticate with.
25624        '''
25625        self.port_override = port_override if port_override is not None else 0
25626        '''
25627         The local port used by clients to connect to this resource.
25628        '''
25629        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25630        '''
25631         ID of the proxy cluster for this resource, if any.
25632        '''
25633        self.schema = schema if schema is not None else ''
25634        '''
25635         The schema to provide on authentication.
25636        '''
25637        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25638        '''
25639         ID of the secret store containing credentials for this resource, if any.
25640        '''
25641        self.subdomain = subdomain if subdomain is not None else ''
25642        '''
25643         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25644        '''
25645        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25646        '''
25647         Tags is a map of key, value pairs.
25648        '''
25649        self.username = username if username is not None else ''
25650        '''
25651         The username to authenticate with.
25652        '''
25653
25654    def __repr__(self):
25655        return '<sdm.Snowflake ' + \
25656            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25657            'database: ' + repr(self.database) + ' ' +\
25658            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25659            'healthy: ' + repr(self.healthy) + ' ' +\
25660            'hostname: ' + repr(self.hostname) + ' ' +\
25661            'id: ' + repr(self.id) + ' ' +\
25662            'name: ' + repr(self.name) + ' ' +\
25663            'password: ' + repr(self.password) + ' ' +\
25664            'port_override: ' + repr(self.port_override) + ' ' +\
25665            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25666            'schema: ' + repr(self.schema) + ' ' +\
25667            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25668            'subdomain: ' + repr(self.subdomain) + ' ' +\
25669            'tags: ' + repr(self.tags) + ' ' +\
25670            'username: ' + repr(self.username) + ' ' +\
25671            '>'
25672
25673    def to_dict(self):
25674        return {
25675            'bind_interface': self.bind_interface,
25676            'database': self.database,
25677            'egress_filter': self.egress_filter,
25678            'healthy': self.healthy,
25679            'hostname': self.hostname,
25680            'id': self.id,
25681            'name': self.name,
25682            'password': self.password,
25683            'port_override': self.port_override,
25684            'proxy_cluster_id': self.proxy_cluster_id,
25685            'schema': self.schema,
25686            'secret_store_id': self.secret_store_id,
25687            'subdomain': self.subdomain,
25688            'tags': self.tags,
25689            'username': self.username,
25690        }
25691
25692    @classmethod
25693    def from_dict(cls, d):
25694        return cls(
25695            bind_interface=d.get('bind_interface'),
25696            database=d.get('database'),
25697            egress_filter=d.get('egress_filter'),
25698            healthy=d.get('healthy'),
25699            hostname=d.get('hostname'),
25700            id=d.get('id'),
25701            name=d.get('name'),
25702            password=d.get('password'),
25703            port_override=d.get('port_override'),
25704            proxy_cluster_id=d.get('proxy_cluster_id'),
25705            schema=d.get('schema'),
25706            secret_store_id=d.get('secret_store_id'),
25707            subdomain=d.get('subdomain'),
25708            tags=d.get('tags'),
25709            username=d.get('username'),
25710        )
25711
25712
25713class Snowsight:
25714    __slots__ = [
25715        'bind_interface',
25716        'egress_filter',
25717        'healthcheck_username',
25718        'healthy',
25719        'id',
25720        'name',
25721        'port_override',
25722        'proxy_cluster_id',
25723        'samlmetadata',
25724        'secret_store_id',
25725        'subdomain',
25726        'tags',
25727    ]
25728
25729    def __init__(
25730        self,
25731        bind_interface=None,
25732        egress_filter=None,
25733        healthcheck_username=None,
25734        healthy=None,
25735        id=None,
25736        name=None,
25737        port_override=None,
25738        proxy_cluster_id=None,
25739        samlmetadata=None,
25740        secret_store_id=None,
25741        subdomain=None,
25742        tags=None,
25743    ):
25744        self.bind_interface = bind_interface if bind_interface is not None else ''
25745        '''
25746         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25747        '''
25748        self.egress_filter = egress_filter if egress_filter is not None else ''
25749        '''
25750         A filter applied to the routing logic to pin datasource to nodes.
25751        '''
25752        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
25753        '''
25754         The StrongDM user email to use for healthchecks.
25755        '''
25756        self.healthy = healthy if healthy is not None else False
25757        '''
25758         True if the datasource is reachable and the credentials are valid.
25759        '''
25760        self.id = id if id is not None else ''
25761        '''
25762         Unique identifier of the Resource.
25763        '''
25764        self.name = name if name is not None else ''
25765        '''
25766         Unique human-readable name of the Resource.
25767        '''
25768        self.port_override = port_override if port_override is not None else 0
25769        '''
25770         The local port used by clients to connect to this resource.
25771        '''
25772        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25773        '''
25774         ID of the proxy cluster for this resource, if any.
25775        '''
25776        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
25777        '''
25778         The Metadata for your snowflake IDP integration
25779        '''
25780        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25781        '''
25782         ID of the secret store containing credentials for this resource, if any.
25783        '''
25784        self.subdomain = subdomain if subdomain is not None else ''
25785        '''
25786         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25787        '''
25788        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25789        '''
25790         Tags is a map of key, value pairs.
25791        '''
25792
25793    def __repr__(self):
25794        return '<sdm.Snowsight ' + \
25795            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25796            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25797            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
25798            'healthy: ' + repr(self.healthy) + ' ' +\
25799            'id: ' + repr(self.id) + ' ' +\
25800            'name: ' + repr(self.name) + ' ' +\
25801            'port_override: ' + repr(self.port_override) + ' ' +\
25802            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25803            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
25804            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25805            'subdomain: ' + repr(self.subdomain) + ' ' +\
25806            'tags: ' + repr(self.tags) + ' ' +\
25807            '>'
25808
25809    def to_dict(self):
25810        return {
25811            'bind_interface': self.bind_interface,
25812            'egress_filter': self.egress_filter,
25813            'healthcheck_username': self.healthcheck_username,
25814            'healthy': self.healthy,
25815            'id': self.id,
25816            'name': self.name,
25817            'port_override': self.port_override,
25818            'proxy_cluster_id': self.proxy_cluster_id,
25819            'samlmetadata': self.samlmetadata,
25820            'secret_store_id': self.secret_store_id,
25821            'subdomain': self.subdomain,
25822            'tags': self.tags,
25823        }
25824
25825    @classmethod
25826    def from_dict(cls, d):
25827        return cls(
25828            bind_interface=d.get('bind_interface'),
25829            egress_filter=d.get('egress_filter'),
25830            healthcheck_username=d.get('healthcheck_username'),
25831            healthy=d.get('healthy'),
25832            id=d.get('id'),
25833            name=d.get('name'),
25834            port_override=d.get('port_override'),
25835            proxy_cluster_id=d.get('proxy_cluster_id'),
25836            samlmetadata=d.get('samlmetadata'),
25837            secret_store_id=d.get('secret_store_id'),
25838            subdomain=d.get('subdomain'),
25839            tags=d.get('tags'),
25840        )
25841
25842
25843class Sybase:
25844    __slots__ = [
25845        'bind_interface',
25846        'egress_filter',
25847        'healthy',
25848        'hostname',
25849        'id',
25850        'name',
25851        'password',
25852        'port',
25853        'port_override',
25854        'proxy_cluster_id',
25855        'secret_store_id',
25856        'subdomain',
25857        'tags',
25858        'username',
25859    ]
25860
25861    def __init__(
25862        self,
25863        bind_interface=None,
25864        egress_filter=None,
25865        healthy=None,
25866        hostname=None,
25867        id=None,
25868        name=None,
25869        password=None,
25870        port=None,
25871        port_override=None,
25872        proxy_cluster_id=None,
25873        secret_store_id=None,
25874        subdomain=None,
25875        tags=None,
25876        username=None,
25877    ):
25878        self.bind_interface = bind_interface if bind_interface is not None else ''
25879        '''
25880         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25881        '''
25882        self.egress_filter = egress_filter if egress_filter is not None else ''
25883        '''
25884         A filter applied to the routing logic to pin datasource to nodes.
25885        '''
25886        self.healthy = healthy if healthy is not None else False
25887        '''
25888         True if the datasource is reachable and the credentials are valid.
25889        '''
25890        self.hostname = hostname if hostname is not None else ''
25891        '''
25892         The host to dial to initiate a connection from the egress node to this resource.
25893        '''
25894        self.id = id if id is not None else ''
25895        '''
25896         Unique identifier of the Resource.
25897        '''
25898        self.name = name if name is not None else ''
25899        '''
25900         Unique human-readable name of the Resource.
25901        '''
25902        self.password = password if password is not None else ''
25903        '''
25904         The password to authenticate with.
25905        '''
25906        self.port = port if port is not None else 0
25907        '''
25908         The port to dial to initiate a connection from the egress node to this resource.
25909        '''
25910        self.port_override = port_override if port_override is not None else 0
25911        '''
25912         The local port used by clients to connect to this resource.
25913        '''
25914        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25915        '''
25916         ID of the proxy cluster for this resource, if any.
25917        '''
25918        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25919        '''
25920         ID of the secret store containing credentials for this resource, if any.
25921        '''
25922        self.subdomain = subdomain if subdomain is not None else ''
25923        '''
25924         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25925        '''
25926        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25927        '''
25928         Tags is a map of key, value pairs.
25929        '''
25930        self.username = username if username is not None else ''
25931        '''
25932         The username to authenticate with.
25933        '''
25934
25935    def __repr__(self):
25936        return '<sdm.Sybase ' + \
25937            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25938            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25939            'healthy: ' + repr(self.healthy) + ' ' +\
25940            'hostname: ' + repr(self.hostname) + ' ' +\
25941            'id: ' + repr(self.id) + ' ' +\
25942            'name: ' + repr(self.name) + ' ' +\
25943            'password: ' + repr(self.password) + ' ' +\
25944            'port: ' + repr(self.port) + ' ' +\
25945            'port_override: ' + repr(self.port_override) + ' ' +\
25946            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25947            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25948            'subdomain: ' + repr(self.subdomain) + ' ' +\
25949            'tags: ' + repr(self.tags) + ' ' +\
25950            'username: ' + repr(self.username) + ' ' +\
25951            '>'
25952
25953    def to_dict(self):
25954        return {
25955            'bind_interface': self.bind_interface,
25956            'egress_filter': self.egress_filter,
25957            'healthy': self.healthy,
25958            'hostname': self.hostname,
25959            'id': self.id,
25960            'name': self.name,
25961            'password': self.password,
25962            'port': self.port,
25963            'port_override': self.port_override,
25964            'proxy_cluster_id': self.proxy_cluster_id,
25965            'secret_store_id': self.secret_store_id,
25966            'subdomain': self.subdomain,
25967            'tags': self.tags,
25968            'username': self.username,
25969        }
25970
25971    @classmethod
25972    def from_dict(cls, d):
25973        return cls(
25974            bind_interface=d.get('bind_interface'),
25975            egress_filter=d.get('egress_filter'),
25976            healthy=d.get('healthy'),
25977            hostname=d.get('hostname'),
25978            id=d.get('id'),
25979            name=d.get('name'),
25980            password=d.get('password'),
25981            port=d.get('port'),
25982            port_override=d.get('port_override'),
25983            proxy_cluster_id=d.get('proxy_cluster_id'),
25984            secret_store_id=d.get('secret_store_id'),
25985            subdomain=d.get('subdomain'),
25986            tags=d.get('tags'),
25987            username=d.get('username'),
25988        )
25989
25990
25991class SybaseIQ:
25992    __slots__ = [
25993        'bind_interface',
25994        'egress_filter',
25995        'healthy',
25996        'hostname',
25997        'id',
25998        'name',
25999        'password',
26000        'port',
26001        'port_override',
26002        'proxy_cluster_id',
26003        'secret_store_id',
26004        'subdomain',
26005        'tags',
26006        'username',
26007    ]
26008
26009    def __init__(
26010        self,
26011        bind_interface=None,
26012        egress_filter=None,
26013        healthy=None,
26014        hostname=None,
26015        id=None,
26016        name=None,
26017        password=None,
26018        port=None,
26019        port_override=None,
26020        proxy_cluster_id=None,
26021        secret_store_id=None,
26022        subdomain=None,
26023        tags=None,
26024        username=None,
26025    ):
26026        self.bind_interface = bind_interface if bind_interface is not None else ''
26027        '''
26028         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26029        '''
26030        self.egress_filter = egress_filter if egress_filter is not None else ''
26031        '''
26032         A filter applied to the routing logic to pin datasource to nodes.
26033        '''
26034        self.healthy = healthy if healthy is not None else False
26035        '''
26036         True if the datasource is reachable and the credentials are valid.
26037        '''
26038        self.hostname = hostname if hostname is not None else ''
26039        '''
26040         The host to dial to initiate a connection from the egress node to this resource.
26041        '''
26042        self.id = id if id is not None else ''
26043        '''
26044         Unique identifier of the Resource.
26045        '''
26046        self.name = name if name is not None else ''
26047        '''
26048         Unique human-readable name of the Resource.
26049        '''
26050        self.password = password if password is not None else ''
26051        '''
26052         The password to authenticate with.
26053        '''
26054        self.port = port if port is not None else 0
26055        '''
26056         The port to dial to initiate a connection from the egress node to this resource.
26057        '''
26058        self.port_override = port_override if port_override is not None else 0
26059        '''
26060         The local port used by clients to connect to this resource.
26061        '''
26062        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26063        '''
26064         ID of the proxy cluster for this resource, if any.
26065        '''
26066        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26067        '''
26068         ID of the secret store containing credentials for this resource, if any.
26069        '''
26070        self.subdomain = subdomain if subdomain is not None else ''
26071        '''
26072         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26073        '''
26074        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26075        '''
26076         Tags is a map of key, value pairs.
26077        '''
26078        self.username = username if username is not None else ''
26079        '''
26080         The username to authenticate with.
26081        '''
26082
26083    def __repr__(self):
26084        return '<sdm.SybaseIQ ' + \
26085            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26086            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26087            'healthy: ' + repr(self.healthy) + ' ' +\
26088            'hostname: ' + repr(self.hostname) + ' ' +\
26089            'id: ' + repr(self.id) + ' ' +\
26090            'name: ' + repr(self.name) + ' ' +\
26091            'password: ' + repr(self.password) + ' ' +\
26092            'port: ' + repr(self.port) + ' ' +\
26093            'port_override: ' + repr(self.port_override) + ' ' +\
26094            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26095            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26096            'subdomain: ' + repr(self.subdomain) + ' ' +\
26097            'tags: ' + repr(self.tags) + ' ' +\
26098            'username: ' + repr(self.username) + ' ' +\
26099            '>'
26100
26101    def to_dict(self):
26102        return {
26103            'bind_interface': self.bind_interface,
26104            'egress_filter': self.egress_filter,
26105            'healthy': self.healthy,
26106            'hostname': self.hostname,
26107            'id': self.id,
26108            'name': self.name,
26109            'password': self.password,
26110            'port': self.port,
26111            'port_override': self.port_override,
26112            'proxy_cluster_id': self.proxy_cluster_id,
26113            'secret_store_id': self.secret_store_id,
26114            'subdomain': self.subdomain,
26115            'tags': self.tags,
26116            'username': self.username,
26117        }
26118
26119    @classmethod
26120    def from_dict(cls, d):
26121        return cls(
26122            bind_interface=d.get('bind_interface'),
26123            egress_filter=d.get('egress_filter'),
26124            healthy=d.get('healthy'),
26125            hostname=d.get('hostname'),
26126            id=d.get('id'),
26127            name=d.get('name'),
26128            password=d.get('password'),
26129            port=d.get('port'),
26130            port_override=d.get('port_override'),
26131            proxy_cluster_id=d.get('proxy_cluster_id'),
26132            secret_store_id=d.get('secret_store_id'),
26133            subdomain=d.get('subdomain'),
26134            tags=d.get('tags'),
26135            username=d.get('username'),
26136        )
26137
26138
26139class Tag:
26140    __slots__ = [
26141        'name',
26142        'value',
26143    ]
26144
26145    def __init__(
26146        self,
26147        name=None,
26148        value=None,
26149    ):
26150        self.name = name if name is not None else ''
26151        '''
26152         The name or key of this tag. Each name can only refer to one value on a tagged entity.
26153        '''
26154        self.value = value if value is not None else ''
26155        '''
26156         The value of this tag.
26157        '''
26158
26159    def __repr__(self):
26160        return '<sdm.Tag ' + \
26161            'name: ' + repr(self.name) + ' ' +\
26162            'value: ' + repr(self.value) + ' ' +\
26163            '>'
26164
26165    def to_dict(self):
26166        return {
26167            'name': self.name,
26168            'value': self.value,
26169        }
26170
26171    @classmethod
26172    def from_dict(cls, d):
26173        return cls(
26174            name=d.get('name'),
26175            value=d.get('value'),
26176        )
26177
26178
26179class Teradata:
26180    __slots__ = [
26181        'bind_interface',
26182        'egress_filter',
26183        'healthy',
26184        'hostname',
26185        'id',
26186        'name',
26187        'password',
26188        'port',
26189        'port_override',
26190        'proxy_cluster_id',
26191        'secret_store_id',
26192        'subdomain',
26193        'tags',
26194        'username',
26195    ]
26196
26197    def __init__(
26198        self,
26199        bind_interface=None,
26200        egress_filter=None,
26201        healthy=None,
26202        hostname=None,
26203        id=None,
26204        name=None,
26205        password=None,
26206        port=None,
26207        port_override=None,
26208        proxy_cluster_id=None,
26209        secret_store_id=None,
26210        subdomain=None,
26211        tags=None,
26212        username=None,
26213    ):
26214        self.bind_interface = bind_interface if bind_interface is not None else ''
26215        '''
26216         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26217        '''
26218        self.egress_filter = egress_filter if egress_filter is not None else ''
26219        '''
26220         A filter applied to the routing logic to pin datasource to nodes.
26221        '''
26222        self.healthy = healthy if healthy is not None else False
26223        '''
26224         True if the datasource is reachable and the credentials are valid.
26225        '''
26226        self.hostname = hostname if hostname is not None else ''
26227        '''
26228         The host to dial to initiate a connection from the egress node to this resource.
26229        '''
26230        self.id = id if id is not None else ''
26231        '''
26232         Unique identifier of the Resource.
26233        '''
26234        self.name = name if name is not None else ''
26235        '''
26236         Unique human-readable name of the Resource.
26237        '''
26238        self.password = password if password is not None else ''
26239        '''
26240         The password to authenticate with.
26241        '''
26242        self.port = port if port is not None else 0
26243        '''
26244         The port to dial to initiate a connection from the egress node to this resource.
26245        '''
26246        self.port_override = port_override if port_override is not None else 0
26247        '''
26248         The local port used by clients to connect to this resource.
26249        '''
26250        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26251        '''
26252         ID of the proxy cluster for this resource, if any.
26253        '''
26254        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26255        '''
26256         ID of the secret store containing credentials for this resource, if any.
26257        '''
26258        self.subdomain = subdomain if subdomain is not None else ''
26259        '''
26260         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26261        '''
26262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26263        '''
26264         Tags is a map of key, value pairs.
26265        '''
26266        self.username = username if username is not None else ''
26267        '''
26268         The username to authenticate with.
26269        '''
26270
26271    def __repr__(self):
26272        return '<sdm.Teradata ' + \
26273            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26274            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26275            'healthy: ' + repr(self.healthy) + ' ' +\
26276            'hostname: ' + repr(self.hostname) + ' ' +\
26277            'id: ' + repr(self.id) + ' ' +\
26278            'name: ' + repr(self.name) + ' ' +\
26279            'password: ' + repr(self.password) + ' ' +\
26280            'port: ' + repr(self.port) + ' ' +\
26281            'port_override: ' + repr(self.port_override) + ' ' +\
26282            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26283            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26284            'subdomain: ' + repr(self.subdomain) + ' ' +\
26285            'tags: ' + repr(self.tags) + ' ' +\
26286            'username: ' + repr(self.username) + ' ' +\
26287            '>'
26288
26289    def to_dict(self):
26290        return {
26291            'bind_interface': self.bind_interface,
26292            'egress_filter': self.egress_filter,
26293            'healthy': self.healthy,
26294            'hostname': self.hostname,
26295            'id': self.id,
26296            'name': self.name,
26297            'password': self.password,
26298            'port': self.port,
26299            'port_override': self.port_override,
26300            'proxy_cluster_id': self.proxy_cluster_id,
26301            'secret_store_id': self.secret_store_id,
26302            'subdomain': self.subdomain,
26303            'tags': self.tags,
26304            'username': self.username,
26305        }
26306
26307    @classmethod
26308    def from_dict(cls, d):
26309        return cls(
26310            bind_interface=d.get('bind_interface'),
26311            egress_filter=d.get('egress_filter'),
26312            healthy=d.get('healthy'),
26313            hostname=d.get('hostname'),
26314            id=d.get('id'),
26315            name=d.get('name'),
26316            password=d.get('password'),
26317            port=d.get('port'),
26318            port_override=d.get('port_override'),
26319            proxy_cluster_id=d.get('proxy_cluster_id'),
26320            secret_store_id=d.get('secret_store_id'),
26321            subdomain=d.get('subdomain'),
26322            tags=d.get('tags'),
26323            username=d.get('username'),
26324        )
26325
26326
26327class Token:
26328    '''
26329         A Token is an account providing tokenized access for automation or integration use.
26330     Tokens include admin tokens, API keys, and SCIM tokens.
26331    '''
26332    __slots__ = [
26333        'account_type',
26334        'deadline',
26335        'duration',
26336        'id',
26337        'name',
26338        'permissions',
26339        'rekeyed',
26340        'suspended',
26341        'tags',
26342    ]
26343
26344    def __init__(
26345        self,
26346        account_type=None,
26347        deadline=None,
26348        duration=None,
26349        id=None,
26350        name=None,
26351        permissions=None,
26352        rekeyed=None,
26353        suspended=None,
26354        tags=None,
26355    ):
26356        self.account_type = account_type if account_type is not None else ''
26357        '''
26358         Corresponds to the type of token, e.g. api or admin-token.
26359        '''
26360        self.deadline = deadline if deadline is not None else None
26361        '''
26362         The timestamp when the Token will expire.
26363        '''
26364        self.duration = duration if duration is not None else None
26365        '''
26366         Duration from token creation to expiration.
26367        '''
26368        self.id = id if id is not None else ''
26369        '''
26370         Unique identifier of the Token.
26371        '''
26372        self.name = name if name is not None else ''
26373        '''
26374         Unique human-readable name of the Token.
26375        '''
26376        self.permissions = permissions if permissions is not None else []
26377        '''
26378         Permissions assigned to the token, e.g. role:create.
26379        '''
26380        self.rekeyed = rekeyed if rekeyed is not None else None
26381        '''
26382         The timestamp when the Token was last rekeyed.
26383        '''
26384        self.suspended = suspended if suspended is not None else False
26385        '''
26386         Reserved for future use.  Always false for tokens.
26387        '''
26388        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26389        '''
26390         Tags is a map of key, value pairs.
26391        '''
26392
26393    def __repr__(self):
26394        return '<sdm.Token ' + \
26395            'account_type: ' + repr(self.account_type) + ' ' +\
26396            'deadline: ' + repr(self.deadline) + ' ' +\
26397            'duration: ' + repr(self.duration) + ' ' +\
26398            'id: ' + repr(self.id) + ' ' +\
26399            'name: ' + repr(self.name) + ' ' +\
26400            'permissions: ' + repr(self.permissions) + ' ' +\
26401            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
26402            'suspended: ' + repr(self.suspended) + ' ' +\
26403            'tags: ' + repr(self.tags) + ' ' +\
26404            '>'
26405
26406    def to_dict(self):
26407        return {
26408            'account_type': self.account_type,
26409            'deadline': self.deadline,
26410            'duration': self.duration,
26411            'id': self.id,
26412            'name': self.name,
26413            'permissions': self.permissions,
26414            'rekeyed': self.rekeyed,
26415            'suspended': self.suspended,
26416            'tags': self.tags,
26417        }
26418
26419    @classmethod
26420    def from_dict(cls, d):
26421        return cls(
26422            account_type=d.get('account_type'),
26423            deadline=d.get('deadline'),
26424            duration=d.get('duration'),
26425            id=d.get('id'),
26426            name=d.get('name'),
26427            permissions=d.get('permissions'),
26428            rekeyed=d.get('rekeyed'),
26429            suspended=d.get('suspended'),
26430            tags=d.get('tags'),
26431        )
26432
26433
26434class Trino:
26435    '''
26436    Trino is currently unstable, and its API may change, or it may be removed,
26437    without a major version bump.
26438    '''
26439    __slots__ = [
26440        'bind_interface',
26441        'database',
26442        'egress_filter',
26443        'healthy',
26444        'hostname',
26445        'id',
26446        'name',
26447        'password',
26448        'port',
26449        'port_override',
26450        'proxy_cluster_id',
26451        'secret_store_id',
26452        'subdomain',
26453        'tags',
26454        'username',
26455    ]
26456
26457    def __init__(
26458        self,
26459        bind_interface=None,
26460        database=None,
26461        egress_filter=None,
26462        healthy=None,
26463        hostname=None,
26464        id=None,
26465        name=None,
26466        password=None,
26467        port=None,
26468        port_override=None,
26469        proxy_cluster_id=None,
26470        secret_store_id=None,
26471        subdomain=None,
26472        tags=None,
26473        username=None,
26474    ):
26475        self.bind_interface = bind_interface if bind_interface is not None else ''
26476        '''
26477         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26478        '''
26479        self.database = database if database is not None else ''
26480        '''
26481         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26482        '''
26483        self.egress_filter = egress_filter if egress_filter is not None else ''
26484        '''
26485         A filter applied to the routing logic to pin datasource to nodes.
26486        '''
26487        self.healthy = healthy if healthy is not None else False
26488        '''
26489         True if the datasource is reachable and the credentials are valid.
26490        '''
26491        self.hostname = hostname if hostname is not None else ''
26492        '''
26493         The host to dial to initiate a connection from the egress node to this resource.
26494        '''
26495        self.id = id if id is not None else ''
26496        '''
26497         Unique identifier of the Resource.
26498        '''
26499        self.name = name if name is not None else ''
26500        '''
26501         Unique human-readable name of the Resource.
26502        '''
26503        self.password = password if password is not None else ''
26504        '''
26505         The password to authenticate with.
26506        '''
26507        self.port = port if port is not None else 0
26508        '''
26509         The port to dial to initiate a connection from the egress node to this resource.
26510        '''
26511        self.port_override = port_override if port_override is not None else 0
26512        '''
26513         The local port used by clients to connect to this resource.
26514        '''
26515        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26516        '''
26517         ID of the proxy cluster for this resource, if any.
26518        '''
26519        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26520        '''
26521         ID of the secret store containing credentials for this resource, if any.
26522        '''
26523        self.subdomain = subdomain if subdomain is not None else ''
26524        '''
26525         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26526        '''
26527        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26528        '''
26529         Tags is a map of key, value pairs.
26530        '''
26531        self.username = username if username is not None else ''
26532        '''
26533         The username to authenticate with.
26534        '''
26535
26536    def __repr__(self):
26537        return '<sdm.Trino ' + \
26538            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26539            'database: ' + repr(self.database) + ' ' +\
26540            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26541            'healthy: ' + repr(self.healthy) + ' ' +\
26542            'hostname: ' + repr(self.hostname) + ' ' +\
26543            'id: ' + repr(self.id) + ' ' +\
26544            'name: ' + repr(self.name) + ' ' +\
26545            'password: ' + repr(self.password) + ' ' +\
26546            'port: ' + repr(self.port) + ' ' +\
26547            'port_override: ' + repr(self.port_override) + ' ' +\
26548            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26549            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26550            'subdomain: ' + repr(self.subdomain) + ' ' +\
26551            'tags: ' + repr(self.tags) + ' ' +\
26552            'username: ' + repr(self.username) + ' ' +\
26553            '>'
26554
26555    def to_dict(self):
26556        return {
26557            'bind_interface': self.bind_interface,
26558            'database': self.database,
26559            'egress_filter': self.egress_filter,
26560            'healthy': self.healthy,
26561            'hostname': self.hostname,
26562            'id': self.id,
26563            'name': self.name,
26564            'password': self.password,
26565            'port': self.port,
26566            'port_override': self.port_override,
26567            'proxy_cluster_id': self.proxy_cluster_id,
26568            'secret_store_id': self.secret_store_id,
26569            'subdomain': self.subdomain,
26570            'tags': self.tags,
26571            'username': self.username,
26572        }
26573
26574    @classmethod
26575    def from_dict(cls, d):
26576        return cls(
26577            bind_interface=d.get('bind_interface'),
26578            database=d.get('database'),
26579            egress_filter=d.get('egress_filter'),
26580            healthy=d.get('healthy'),
26581            hostname=d.get('hostname'),
26582            id=d.get('id'),
26583            name=d.get('name'),
26584            password=d.get('password'),
26585            port=d.get('port'),
26586            port_override=d.get('port_override'),
26587            proxy_cluster_id=d.get('proxy_cluster_id'),
26588            secret_store_id=d.get('secret_store_id'),
26589            subdomain=d.get('subdomain'),
26590            tags=d.get('tags'),
26591            username=d.get('username'),
26592        )
26593
26594
26595class UpdateResponseMetadata:
26596    '''
26597         UpdateResponseMetadata is reserved for future use.
26598    '''
26599    __slots__ = []
26600
26601    def __init__(self, ):
26602        pass
26603
26604    def __repr__(self):
26605        return '<sdm.UpdateResponseMetadata ' + \
26606            '>'
26607
26608    def to_dict(self):
26609        return {}
26610
26611    @classmethod
26612    def from_dict(cls, d):
26613        return cls()
26614
26615
26616class User:
26617    '''
26618         A User can connect to resources they are granted directly, or granted
26619     via roles.
26620    '''
26621    __slots__ = [
26622        'email',
26623        'external_id',
26624        'first_name',
26625        'id',
26626        'last_name',
26627        'managed_by',
26628        'password',
26629        'permission_level',
26630        'suspended',
26631        'tags',
26632    ]
26633
26634    def __init__(
26635        self,
26636        email=None,
26637        external_id=None,
26638        first_name=None,
26639        id=None,
26640        last_name=None,
26641        managed_by=None,
26642        password=None,
26643        permission_level=None,
26644        suspended=None,
26645        tags=None,
26646    ):
26647        self.email = email if email is not None else ''
26648        '''
26649         The User's email address. Must be unique.
26650        '''
26651        self.external_id = external_id if external_id is not None else ''
26652        '''
26653         External ID is an alternative unique ID this user is represented by within an external service.
26654        '''
26655        self.first_name = first_name if first_name is not None else ''
26656        '''
26657         The User's first name.
26658        '''
26659        self.id = id if id is not None else ''
26660        '''
26661         Unique identifier of the User.
26662        '''
26663        self.last_name = last_name if last_name is not None else ''
26664        '''
26665         The User's last name.
26666        '''
26667        self.managed_by = managed_by if managed_by is not None else ''
26668        '''
26669         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
26670        '''
26671        self.password = password if password is not None else ''
26672        '''
26673         Password is a write-only field that can be used to set the user's password.
26674         Currently only supported for update.
26675        '''
26676        self.permission_level = permission_level if permission_level is not None else ''
26677        '''
26678         PermissionLevel is the user's permission level e.g. admin, DBA, user.
26679        '''
26680        self.suspended = suspended if suspended is not None else False
26681        '''
26682         Suspended is a read only field for the User's suspended state.
26683        '''
26684        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26685        '''
26686         Tags is a map of key, value pairs.
26687        '''
26688
26689    def __repr__(self):
26690        return '<sdm.User ' + \
26691            'email: ' + repr(self.email) + ' ' +\
26692            'external_id: ' + repr(self.external_id) + ' ' +\
26693            'first_name: ' + repr(self.first_name) + ' ' +\
26694            'id: ' + repr(self.id) + ' ' +\
26695            'last_name: ' + repr(self.last_name) + ' ' +\
26696            'managed_by: ' + repr(self.managed_by) + ' ' +\
26697            'password: ' + repr(self.password) + ' ' +\
26698            'permission_level: ' + repr(self.permission_level) + ' ' +\
26699            'suspended: ' + repr(self.suspended) + ' ' +\
26700            'tags: ' + repr(self.tags) + ' ' +\
26701            '>'
26702
26703    def to_dict(self):
26704        return {
26705            'email': self.email,
26706            'external_id': self.external_id,
26707            'first_name': self.first_name,
26708            'id': self.id,
26709            'last_name': self.last_name,
26710            'managed_by': self.managed_by,
26711            'password': self.password,
26712            'permission_level': self.permission_level,
26713            'suspended': self.suspended,
26714            'tags': self.tags,
26715        }
26716
26717    @classmethod
26718    def from_dict(cls, d):
26719        return cls(
26720            email=d.get('email'),
26721            external_id=d.get('external_id'),
26722            first_name=d.get('first_name'),
26723            id=d.get('id'),
26724            last_name=d.get('last_name'),
26725            managed_by=d.get('managed_by'),
26726            password=d.get('password'),
26727            permission_level=d.get('permission_level'),
26728            suspended=d.get('suspended'),
26729            tags=d.get('tags'),
26730        )
26731
26732
26733class VaultAWSEC2Store:
26734    '''
26735    VaultAWSEC2Store is currently unstable, and its API may change, or it may be removed,
26736    without a major version bump.
26737    '''
26738    __slots__ = [
26739        'id',
26740        'name',
26741        'namespace',
26742        'server_address',
26743        'tags',
26744    ]
26745
26746    def __init__(
26747        self,
26748        id=None,
26749        name=None,
26750        namespace=None,
26751        server_address=None,
26752        tags=None,
26753    ):
26754        self.id = id if id is not None else ''
26755        '''
26756         Unique identifier of the SecretStore.
26757        '''
26758        self.name = name if name is not None else ''
26759        '''
26760         Unique human-readable name of the SecretStore.
26761        '''
26762        self.namespace = namespace if namespace is not None else ''
26763        '''
26764         The namespace to make requests within
26765        '''
26766        self.server_address = server_address if server_address is not None else ''
26767        '''
26768         The URL of the Vault to target
26769        '''
26770        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26771        '''
26772         Tags is a map of key, value pairs.
26773        '''
26774
26775    def __repr__(self):
26776        return '<sdm.VaultAWSEC2Store ' + \
26777            'id: ' + repr(self.id) + ' ' +\
26778            'name: ' + repr(self.name) + ' ' +\
26779            'namespace: ' + repr(self.namespace) + ' ' +\
26780            'server_address: ' + repr(self.server_address) + ' ' +\
26781            'tags: ' + repr(self.tags) + ' ' +\
26782            '>'
26783
26784    def to_dict(self):
26785        return {
26786            'id': self.id,
26787            'name': self.name,
26788            'namespace': self.namespace,
26789            'server_address': self.server_address,
26790            'tags': self.tags,
26791        }
26792
26793    @classmethod
26794    def from_dict(cls, d):
26795        return cls(
26796            id=d.get('id'),
26797            name=d.get('name'),
26798            namespace=d.get('namespace'),
26799            server_address=d.get('server_address'),
26800            tags=d.get('tags'),
26801        )
26802
26803
26804class VaultAWSIAMStore:
26805    '''
26806    VaultAWSIAMStore is currently unstable, and its API may change, or it may be removed,
26807    without a major version bump.
26808    '''
26809    __slots__ = [
26810        'id',
26811        'name',
26812        'namespace',
26813        'server_address',
26814        'tags',
26815    ]
26816
26817    def __init__(
26818        self,
26819        id=None,
26820        name=None,
26821        namespace=None,
26822        server_address=None,
26823        tags=None,
26824    ):
26825        self.id = id if id is not None else ''
26826        '''
26827         Unique identifier of the SecretStore.
26828        '''
26829        self.name = name if name is not None else ''
26830        '''
26831         Unique human-readable name of the SecretStore.
26832        '''
26833        self.namespace = namespace if namespace is not None else ''
26834        '''
26835         The namespace to make requests within
26836        '''
26837        self.server_address = server_address if server_address is not None else ''
26838        '''
26839         The URL of the Vault to target
26840        '''
26841        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26842        '''
26843         Tags is a map of key, value pairs.
26844        '''
26845
26846    def __repr__(self):
26847        return '<sdm.VaultAWSIAMStore ' + \
26848            'id: ' + repr(self.id) + ' ' +\
26849            'name: ' + repr(self.name) + ' ' +\
26850            'namespace: ' + repr(self.namespace) + ' ' +\
26851            'server_address: ' + repr(self.server_address) + ' ' +\
26852            'tags: ' + repr(self.tags) + ' ' +\
26853            '>'
26854
26855    def to_dict(self):
26856        return {
26857            'id': self.id,
26858            'name': self.name,
26859            'namespace': self.namespace,
26860            'server_address': self.server_address,
26861            'tags': self.tags,
26862        }
26863
26864    @classmethod
26865    def from_dict(cls, d):
26866        return cls(
26867            id=d.get('id'),
26868            name=d.get('name'),
26869            namespace=d.get('namespace'),
26870            server_address=d.get('server_address'),
26871            tags=d.get('tags'),
26872        )
26873
26874
26875class VaultAppRoleCertSSHStore:
26876    __slots__ = [
26877        'id',
26878        'issuedcertttlminutes',
26879        'name',
26880        'namespace',
26881        'server_address',
26882        'signing_role',
26883        'ssh_mount_point',
26884        'tags',
26885    ]
26886
26887    def __init__(
26888        self,
26889        id=None,
26890        issuedcertttlminutes=None,
26891        name=None,
26892        namespace=None,
26893        server_address=None,
26894        signing_role=None,
26895        ssh_mount_point=None,
26896        tags=None,
26897    ):
26898        self.id = id if id is not None else ''
26899        '''
26900         Unique identifier of the SecretStore.
26901        '''
26902        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
26903        '''
26904         The lifetime of certificates issued by this CA represented in minutes.
26905        '''
26906        self.name = name if name is not None else ''
26907        '''
26908         Unique human-readable name of the SecretStore.
26909        '''
26910        self.namespace = namespace if namespace is not None else ''
26911        '''
26912         The namespace to make requests within
26913        '''
26914        self.server_address = server_address if server_address is not None else ''
26915        '''
26916         The URL of the Vault to target
26917        '''
26918        self.signing_role = signing_role if signing_role is not None else ''
26919        '''
26920         The signing role to be used for signing certificates
26921        '''
26922        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
26923        '''
26924         The mount point of the SSH engine configured with the desired CA
26925        '''
26926        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26927        '''
26928         Tags is a map of key, value pairs.
26929        '''
26930
26931    def __repr__(self):
26932        return '<sdm.VaultAppRoleCertSSHStore ' + \
26933            'id: ' + repr(self.id) + ' ' +\
26934            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
26935            'name: ' + repr(self.name) + ' ' +\
26936            'namespace: ' + repr(self.namespace) + ' ' +\
26937            'server_address: ' + repr(self.server_address) + ' ' +\
26938            'signing_role: ' + repr(self.signing_role) + ' ' +\
26939            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
26940            'tags: ' + repr(self.tags) + ' ' +\
26941            '>'
26942
26943    def to_dict(self):
26944        return {
26945            'id': self.id,
26946            'issuedcertttlminutes': self.issuedcertttlminutes,
26947            'name': self.name,
26948            'namespace': self.namespace,
26949            'server_address': self.server_address,
26950            'signing_role': self.signing_role,
26951            'ssh_mount_point': self.ssh_mount_point,
26952            'tags': self.tags,
26953        }
26954
26955    @classmethod
26956    def from_dict(cls, d):
26957        return cls(
26958            id=d.get('id'),
26959            issuedcertttlminutes=d.get('issuedcertttlminutes'),
26960            name=d.get('name'),
26961            namespace=d.get('namespace'),
26962            server_address=d.get('server_address'),
26963            signing_role=d.get('signing_role'),
26964            ssh_mount_point=d.get('ssh_mount_point'),
26965            tags=d.get('tags'),
26966        )
26967
26968
26969class VaultAppRoleCertX509Store:
26970    __slots__ = [
26971        'id',
26972        'issuedcertttlminutes',
26973        'name',
26974        'namespace',
26975        'pki_mount_point',
26976        'server_address',
26977        'signing_role',
26978        'tags',
26979    ]
26980
26981    def __init__(
26982        self,
26983        id=None,
26984        issuedcertttlminutes=None,
26985        name=None,
26986        namespace=None,
26987        pki_mount_point=None,
26988        server_address=None,
26989        signing_role=None,
26990        tags=None,
26991    ):
26992        self.id = id if id is not None else ''
26993        '''
26994         Unique identifier of the SecretStore.
26995        '''
26996        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
26997        '''
26998         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
26999        '''
27000        self.name = name if name is not None else ''
27001        '''
27002         Unique human-readable name of the SecretStore.
27003        '''
27004        self.namespace = namespace if namespace is not None else ''
27005        '''
27006         The namespace to make requests within
27007        '''
27008        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27009        '''
27010         The mount point of the PKI engine configured with the desired CA
27011        '''
27012        self.server_address = server_address if server_address is not None else ''
27013        '''
27014         The URL of the Vault to target
27015        '''
27016        self.signing_role = signing_role if signing_role is not None else ''
27017        '''
27018         The signing role to be used for signing certificates
27019        '''
27020        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27021        '''
27022         Tags is a map of key, value pairs.
27023        '''
27024
27025    def __repr__(self):
27026        return '<sdm.VaultAppRoleCertX509Store ' + \
27027            'id: ' + repr(self.id) + ' ' +\
27028            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27029            'name: ' + repr(self.name) + ' ' +\
27030            'namespace: ' + repr(self.namespace) + ' ' +\
27031            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
27032            'server_address: ' + repr(self.server_address) + ' ' +\
27033            'signing_role: ' + repr(self.signing_role) + ' ' +\
27034            'tags: ' + repr(self.tags) + ' ' +\
27035            '>'
27036
27037    def to_dict(self):
27038        return {
27039            'id': self.id,
27040            'issuedcertttlminutes': self.issuedcertttlminutes,
27041            'name': self.name,
27042            'namespace': self.namespace,
27043            'pki_mount_point': self.pki_mount_point,
27044            'server_address': self.server_address,
27045            'signing_role': self.signing_role,
27046            'tags': self.tags,
27047        }
27048
27049    @classmethod
27050    def from_dict(cls, d):
27051        return cls(
27052            id=d.get('id'),
27053            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27054            name=d.get('name'),
27055            namespace=d.get('namespace'),
27056            pki_mount_point=d.get('pki_mount_point'),
27057            server_address=d.get('server_address'),
27058            signing_role=d.get('signing_role'),
27059            tags=d.get('tags'),
27060        )
27061
27062
27063class VaultAppRoleStore:
27064    __slots__ = [
27065        'id',
27066        'name',
27067        'namespace',
27068        'server_address',
27069        'tags',
27070    ]
27071
27072    def __init__(
27073        self,
27074        id=None,
27075        name=None,
27076        namespace=None,
27077        server_address=None,
27078        tags=None,
27079    ):
27080        self.id = id if id is not None else ''
27081        '''
27082         Unique identifier of the SecretStore.
27083        '''
27084        self.name = name if name is not None else ''
27085        '''
27086         Unique human-readable name of the SecretStore.
27087        '''
27088        self.namespace = namespace if namespace is not None else ''
27089        '''
27090         The namespace to make requests within
27091        '''
27092        self.server_address = server_address if server_address is not None else ''
27093        '''
27094         The URL of the Vault to target
27095        '''
27096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27097        '''
27098         Tags is a map of key, value pairs.
27099        '''
27100
27101    def __repr__(self):
27102        return '<sdm.VaultAppRoleStore ' + \
27103            'id: ' + repr(self.id) + ' ' +\
27104            'name: ' + repr(self.name) + ' ' +\
27105            'namespace: ' + repr(self.namespace) + ' ' +\
27106            'server_address: ' + repr(self.server_address) + ' ' +\
27107            'tags: ' + repr(self.tags) + ' ' +\
27108            '>'
27109
27110    def to_dict(self):
27111        return {
27112            'id': self.id,
27113            'name': self.name,
27114            'namespace': self.namespace,
27115            'server_address': self.server_address,
27116            'tags': self.tags,
27117        }
27118
27119    @classmethod
27120    def from_dict(cls, d):
27121        return cls(
27122            id=d.get('id'),
27123            name=d.get('name'),
27124            namespace=d.get('namespace'),
27125            server_address=d.get('server_address'),
27126            tags=d.get('tags'),
27127        )
27128
27129
27130class VaultTLSCertSSHStore:
27131    __slots__ = [
27132        'ca_cert_path',
27133        'client_cert_path',
27134        'client_key_path',
27135        'id',
27136        'issuedcertttlminutes',
27137        'name',
27138        'namespace',
27139        'server_address',
27140        'signing_role',
27141        'ssh_mount_point',
27142        'tags',
27143    ]
27144
27145    def __init__(
27146        self,
27147        ca_cert_path=None,
27148        client_cert_path=None,
27149        client_key_path=None,
27150        id=None,
27151        issuedcertttlminutes=None,
27152        name=None,
27153        namespace=None,
27154        server_address=None,
27155        signing_role=None,
27156        ssh_mount_point=None,
27157        tags=None,
27158    ):
27159        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27160        '''
27161         A path to a CA file accessible by a Node
27162        '''
27163        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27164        '''
27165         A path to a client certificate file accessible by a Node
27166        '''
27167        self.client_key_path = client_key_path if client_key_path is not None else ''
27168        '''
27169         A path to a client key file accessible by a Node
27170        '''
27171        self.id = id if id is not None else ''
27172        '''
27173         Unique identifier of the SecretStore.
27174        '''
27175        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27176        '''
27177         The lifetime of certificates issued by this CA represented in minutes.
27178        '''
27179        self.name = name if name is not None else ''
27180        '''
27181         Unique human-readable name of the SecretStore.
27182        '''
27183        self.namespace = namespace if namespace is not None else ''
27184        '''
27185         The namespace to make requests within
27186        '''
27187        self.server_address = server_address if server_address is not None else ''
27188        '''
27189         The URL of the Vault to target
27190        '''
27191        self.signing_role = signing_role if signing_role is not None else ''
27192        '''
27193         The signing role to be used for signing certificates
27194        '''
27195        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
27196        '''
27197         The mount point of the SSH engine configured with the desired CA
27198        '''
27199        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27200        '''
27201         Tags is a map of key, value pairs.
27202        '''
27203
27204    def __repr__(self):
27205        return '<sdm.VaultTLSCertSSHStore ' + \
27206            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
27207            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
27208            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
27209            'id: ' + repr(self.id) + ' ' +\
27210            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27211            'name: ' + repr(self.name) + ' ' +\
27212            'namespace: ' + repr(self.namespace) + ' ' +\
27213            'server_address: ' + repr(self.server_address) + ' ' +\
27214            'signing_role: ' + repr(self.signing_role) + ' ' +\
27215            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
27216            'tags: ' + repr(self.tags) + ' ' +\
27217            '>'
27218
27219    def to_dict(self):
27220        return {
27221            'ca_cert_path': self.ca_cert_path,
27222            'client_cert_path': self.client_cert_path,
27223            'client_key_path': self.client_key_path,
27224            'id': self.id,
27225            'issuedcertttlminutes': self.issuedcertttlminutes,
27226            'name': self.name,
27227            'namespace': self.namespace,
27228            'server_address': self.server_address,
27229            'signing_role': self.signing_role,
27230            'ssh_mount_point': self.ssh_mount_point,
27231            'tags': self.tags,
27232        }
27233
27234    @classmethod
27235    def from_dict(cls, d):
27236        return cls(
27237            ca_cert_path=d.get('ca_cert_path'),
27238            client_cert_path=d.get('client_cert_path'),
27239            client_key_path=d.get('client_key_path'),
27240            id=d.get('id'),
27241            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27242            name=d.get('name'),
27243            namespace=d.get('namespace'),
27244            server_address=d.get('server_address'),
27245            signing_role=d.get('signing_role'),
27246            ssh_mount_point=d.get('ssh_mount_point'),
27247            tags=d.get('tags'),
27248        )
27249
27250
27251class VaultTLSCertX509Store:
27252    __slots__ = [
27253        'ca_cert_path',
27254        'client_cert_path',
27255        'client_key_path',
27256        'id',
27257        'issuedcertttlminutes',
27258        'name',
27259        'namespace',
27260        'pki_mount_point',
27261        'server_address',
27262        'signing_role',
27263        'tags',
27264    ]
27265
27266    def __init__(
27267        self,
27268        ca_cert_path=None,
27269        client_cert_path=None,
27270        client_key_path=None,
27271        id=None,
27272        issuedcertttlminutes=None,
27273        name=None,
27274        namespace=None,
27275        pki_mount_point=None,
27276        server_address=None,
27277        signing_role=None,
27278        tags=None,
27279    ):
27280        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27281        '''
27282         A path to a CA file accessible by a Node
27283        '''
27284        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27285        '''
27286         A path to a client certificate file accessible by a Node
27287        '''
27288        self.client_key_path = client_key_path if client_key_path is not None else ''
27289        '''
27290         A path to a client key file accessible by a Node
27291        '''
27292        self.id = id if id is not None else ''
27293        '''
27294         Unique identifier of the SecretStore.
27295        '''
27296        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27297        '''
27298         The lifetime of certificates issued by this CA represented in minutes.
27299        '''
27300        self.name = name if name is not None else ''
27301        '''
27302         Unique human-readable name of the SecretStore.
27303        '''
27304        self.namespace = namespace if namespace is not None else ''
27305        '''
27306         The namespace to make requests within
27307        '''
27308        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27309        '''
27310         The mount point of the PKI engine configured with the desired CA
27311        '''
27312        self.server_address = server_address if server_address is not None else ''
27313        '''
27314         The URL of the Vault to target
27315        '''
27316        self.signing_role = signing_role if signing_role is not None else ''
27317        '''
27318         The signing role to be used for signing certificates
27319        '''
27320        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27321        '''
27322         Tags is a map of key, value pairs.
27323        '''
27324
27325    def __repr__(self):
27326        return '<sdm.VaultTLSCertX509Store ' + \
27327            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
27328            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
27329            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
27330            'id: ' + repr(self.id) + ' ' +\
27331            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27332            'name: ' + repr(self.name) + ' ' +\
27333            'namespace: ' + repr(self.namespace) + ' ' +\
27334            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
27335            'server_address: ' + repr(self.server_address) + ' ' +\
27336            'signing_role: ' + repr(self.signing_role) + ' ' +\
27337            'tags: ' + repr(self.tags) + ' ' +\
27338            '>'
27339
27340    def to_dict(self):
27341        return {
27342            'ca_cert_path': self.ca_cert_path,
27343            'client_cert_path': self.client_cert_path,
27344            'client_key_path': self.client_key_path,
27345            'id': self.id,
27346            'issuedcertttlminutes': self.issuedcertttlminutes,
27347            'name': self.name,
27348            'namespace': self.namespace,
27349            'pki_mount_point': self.pki_mount_point,
27350            'server_address': self.server_address,
27351            'signing_role': self.signing_role,
27352            'tags': self.tags,
27353        }
27354
27355    @classmethod
27356    def from_dict(cls, d):
27357        return cls(
27358            ca_cert_path=d.get('ca_cert_path'),
27359            client_cert_path=d.get('client_cert_path'),
27360            client_key_path=d.get('client_key_path'),
27361            id=d.get('id'),
27362            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27363            name=d.get('name'),
27364            namespace=d.get('namespace'),
27365            pki_mount_point=d.get('pki_mount_point'),
27366            server_address=d.get('server_address'),
27367            signing_role=d.get('signing_role'),
27368            tags=d.get('tags'),
27369        )
27370
27371
27372class VaultTLSStore:
27373    __slots__ = [
27374        'ca_cert_path',
27375        'client_cert_path',
27376        'client_key_path',
27377        'id',
27378        'name',
27379        'namespace',
27380        'server_address',
27381        'tags',
27382    ]
27383
27384    def __init__(
27385        self,
27386        ca_cert_path=None,
27387        client_cert_path=None,
27388        client_key_path=None,
27389        id=None,
27390        name=None,
27391        namespace=None,
27392        server_address=None,
27393        tags=None,
27394    ):
27395        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27396        '''
27397         A path to a CA file accessible by a Node
27398        '''
27399        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27400        '''
27401         A path to a client certificate file accessible by a Node
27402        '''
27403        self.client_key_path = client_key_path if client_key_path is not None else ''
27404        '''
27405         A path to a client key file accessible by a Node
27406        '''
27407        self.id = id if id is not None else ''
27408        '''
27409         Unique identifier of the SecretStore.
27410        '''
27411        self.name = name if name is not None else ''
27412        '''
27413         Unique human-readable name of the SecretStore.
27414        '''
27415        self.namespace = namespace if namespace is not None else ''
27416        '''
27417         The namespace to make requests within
27418        '''
27419        self.server_address = server_address if server_address is not None else ''
27420        '''
27421         The URL of the Vault to target
27422        '''
27423        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27424        '''
27425         Tags is a map of key, value pairs.
27426        '''
27427
27428    def __repr__(self):
27429        return '<sdm.VaultTLSStore ' + \
27430            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
27431            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
27432            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
27433            'id: ' + repr(self.id) + ' ' +\
27434            'name: ' + repr(self.name) + ' ' +\
27435            'namespace: ' + repr(self.namespace) + ' ' +\
27436            'server_address: ' + repr(self.server_address) + ' ' +\
27437            'tags: ' + repr(self.tags) + ' ' +\
27438            '>'
27439
27440    def to_dict(self):
27441        return {
27442            'ca_cert_path': self.ca_cert_path,
27443            'client_cert_path': self.client_cert_path,
27444            'client_key_path': self.client_key_path,
27445            'id': self.id,
27446            'name': self.name,
27447            'namespace': self.namespace,
27448            'server_address': self.server_address,
27449            'tags': self.tags,
27450        }
27451
27452    @classmethod
27453    def from_dict(cls, d):
27454        return cls(
27455            ca_cert_path=d.get('ca_cert_path'),
27456            client_cert_path=d.get('client_cert_path'),
27457            client_key_path=d.get('client_key_path'),
27458            id=d.get('id'),
27459            name=d.get('name'),
27460            namespace=d.get('namespace'),
27461            server_address=d.get('server_address'),
27462            tags=d.get('tags'),
27463        )
27464
27465
27466class VaultTokenCertSSHStore:
27467    __slots__ = [
27468        'id',
27469        'issuedcertttlminutes',
27470        'name',
27471        'namespace',
27472        'server_address',
27473        'signing_role',
27474        'ssh_mount_point',
27475        'tags',
27476    ]
27477
27478    def __init__(
27479        self,
27480        id=None,
27481        issuedcertttlminutes=None,
27482        name=None,
27483        namespace=None,
27484        server_address=None,
27485        signing_role=None,
27486        ssh_mount_point=None,
27487        tags=None,
27488    ):
27489        self.id = id if id is not None else ''
27490        '''
27491         Unique identifier of the SecretStore.
27492        '''
27493        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27494        '''
27495         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
27496        '''
27497        self.name = name if name is not None else ''
27498        '''
27499         Unique human-readable name of the SecretStore.
27500        '''
27501        self.namespace = namespace if namespace is not None else ''
27502        '''
27503         The namespace to make requests within
27504        '''
27505        self.server_address = server_address if server_address is not None else ''
27506        '''
27507         The URL of the Vault to target
27508        '''
27509        self.signing_role = signing_role if signing_role is not None else ''
27510        '''
27511         The signing role to be used for signing certificates
27512        '''
27513        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
27514        '''
27515         The mount point of the SSH engine configured with the desired CA
27516        '''
27517        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27518        '''
27519         Tags is a map of key, value pairs.
27520        '''
27521
27522    def __repr__(self):
27523        return '<sdm.VaultTokenCertSSHStore ' + \
27524            'id: ' + repr(self.id) + ' ' +\
27525            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27526            'name: ' + repr(self.name) + ' ' +\
27527            'namespace: ' + repr(self.namespace) + ' ' +\
27528            'server_address: ' + repr(self.server_address) + ' ' +\
27529            'signing_role: ' + repr(self.signing_role) + ' ' +\
27530            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
27531            'tags: ' + repr(self.tags) + ' ' +\
27532            '>'
27533
27534    def to_dict(self):
27535        return {
27536            'id': self.id,
27537            'issuedcertttlminutes': self.issuedcertttlminutes,
27538            'name': self.name,
27539            'namespace': self.namespace,
27540            'server_address': self.server_address,
27541            'signing_role': self.signing_role,
27542            'ssh_mount_point': self.ssh_mount_point,
27543            'tags': self.tags,
27544        }
27545
27546    @classmethod
27547    def from_dict(cls, d):
27548        return cls(
27549            id=d.get('id'),
27550            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27551            name=d.get('name'),
27552            namespace=d.get('namespace'),
27553            server_address=d.get('server_address'),
27554            signing_role=d.get('signing_role'),
27555            ssh_mount_point=d.get('ssh_mount_point'),
27556            tags=d.get('tags'),
27557        )
27558
27559
27560class VaultTokenCertX509Store:
27561    __slots__ = [
27562        'id',
27563        'issuedcertttlminutes',
27564        'name',
27565        'namespace',
27566        'pki_mount_point',
27567        'server_address',
27568        'signing_role',
27569        'tags',
27570    ]
27571
27572    def __init__(
27573        self,
27574        id=None,
27575        issuedcertttlminutes=None,
27576        name=None,
27577        namespace=None,
27578        pki_mount_point=None,
27579        server_address=None,
27580        signing_role=None,
27581        tags=None,
27582    ):
27583        self.id = id if id is not None else ''
27584        '''
27585         Unique identifier of the SecretStore.
27586        '''
27587        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27588        '''
27589         The lifetime of certificates issued by this CA represented in minutes.
27590        '''
27591        self.name = name if name is not None else ''
27592        '''
27593         Unique human-readable name of the SecretStore.
27594        '''
27595        self.namespace = namespace if namespace is not None else ''
27596        '''
27597         The namespace to make requests within
27598        '''
27599        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27600        '''
27601         The mount point of the PKI engine configured with the desired CA
27602        '''
27603        self.server_address = server_address if server_address is not None else ''
27604        '''
27605         The URL of the Vault to target
27606        '''
27607        self.signing_role = signing_role if signing_role is not None else ''
27608        '''
27609         The signing role to be used for signing certificates
27610        '''
27611        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27612        '''
27613         Tags is a map of key, value pairs.
27614        '''
27615
27616    def __repr__(self):
27617        return '<sdm.VaultTokenCertX509Store ' + \
27618            'id: ' + repr(self.id) + ' ' +\
27619            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27620            'name: ' + repr(self.name) + ' ' +\
27621            'namespace: ' + repr(self.namespace) + ' ' +\
27622            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
27623            'server_address: ' + repr(self.server_address) + ' ' +\
27624            'signing_role: ' + repr(self.signing_role) + ' ' +\
27625            'tags: ' + repr(self.tags) + ' ' +\
27626            '>'
27627
27628    def to_dict(self):
27629        return {
27630            'id': self.id,
27631            'issuedcertttlminutes': self.issuedcertttlminutes,
27632            'name': self.name,
27633            'namespace': self.namespace,
27634            'pki_mount_point': self.pki_mount_point,
27635            'server_address': self.server_address,
27636            'signing_role': self.signing_role,
27637            'tags': self.tags,
27638        }
27639
27640    @classmethod
27641    def from_dict(cls, d):
27642        return cls(
27643            id=d.get('id'),
27644            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27645            name=d.get('name'),
27646            namespace=d.get('namespace'),
27647            pki_mount_point=d.get('pki_mount_point'),
27648            server_address=d.get('server_address'),
27649            signing_role=d.get('signing_role'),
27650            tags=d.get('tags'),
27651        )
27652
27653
27654class VaultTokenStore:
27655    __slots__ = [
27656        'id',
27657        'name',
27658        'namespace',
27659        'server_address',
27660        'tags',
27661    ]
27662
27663    def __init__(
27664        self,
27665        id=None,
27666        name=None,
27667        namespace=None,
27668        server_address=None,
27669        tags=None,
27670    ):
27671        self.id = id if id is not None else ''
27672        '''
27673         Unique identifier of the SecretStore.
27674        '''
27675        self.name = name if name is not None else ''
27676        '''
27677         Unique human-readable name of the SecretStore.
27678        '''
27679        self.namespace = namespace if namespace is not None else ''
27680        '''
27681         The namespace to make requests within
27682        '''
27683        self.server_address = server_address if server_address is not None else ''
27684        '''
27685         The URL of the Vault to target
27686        '''
27687        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27688        '''
27689         Tags is a map of key, value pairs.
27690        '''
27691
27692    def __repr__(self):
27693        return '<sdm.VaultTokenStore ' + \
27694            'id: ' + repr(self.id) + ' ' +\
27695            'name: ' + repr(self.name) + ' ' +\
27696            'namespace: ' + repr(self.namespace) + ' ' +\
27697            'server_address: ' + repr(self.server_address) + ' ' +\
27698            'tags: ' + repr(self.tags) + ' ' +\
27699            '>'
27700
27701    def to_dict(self):
27702        return {
27703            'id': self.id,
27704            'name': self.name,
27705            'namespace': self.namespace,
27706            'server_address': self.server_address,
27707            'tags': self.tags,
27708        }
27709
27710    @classmethod
27711    def from_dict(cls, d):
27712        return cls(
27713            id=d.get('id'),
27714            name=d.get('name'),
27715            namespace=d.get('namespace'),
27716            server_address=d.get('server_address'),
27717            tags=d.get('tags'),
27718        )
27719
27720
27721class Vertica:
27722    '''
27723    Vertica is currently unstable, and its API may change, or it may be removed,
27724    without a major version bump.
27725    '''
27726    __slots__ = [
27727        'bind_interface',
27728        'database',
27729        'egress_filter',
27730        'healthy',
27731        'hostname',
27732        'id',
27733        'name',
27734        'password',
27735        'port',
27736        'port_override',
27737        'proxy_cluster_id',
27738        'secret_store_id',
27739        'subdomain',
27740        'tags',
27741        'username',
27742    ]
27743
27744    def __init__(
27745        self,
27746        bind_interface=None,
27747        database=None,
27748        egress_filter=None,
27749        healthy=None,
27750        hostname=None,
27751        id=None,
27752        name=None,
27753        password=None,
27754        port=None,
27755        port_override=None,
27756        proxy_cluster_id=None,
27757        secret_store_id=None,
27758        subdomain=None,
27759        tags=None,
27760        username=None,
27761    ):
27762        self.bind_interface = bind_interface if bind_interface is not None else ''
27763        '''
27764         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27765        '''
27766        self.database = database if database is not None else ''
27767        '''
27768         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27769        '''
27770        self.egress_filter = egress_filter if egress_filter is not None else ''
27771        '''
27772         A filter applied to the routing logic to pin datasource to nodes.
27773        '''
27774        self.healthy = healthy if healthy is not None else False
27775        '''
27776         True if the datasource is reachable and the credentials are valid.
27777        '''
27778        self.hostname = hostname if hostname is not None else ''
27779        '''
27780         The host to dial to initiate a connection from the egress node to this resource.
27781        '''
27782        self.id = id if id is not None else ''
27783        '''
27784         Unique identifier of the Resource.
27785        '''
27786        self.name = name if name is not None else ''
27787        '''
27788         Unique human-readable name of the Resource.
27789        '''
27790        self.password = password if password is not None else ''
27791        '''
27792         The password to authenticate with.
27793        '''
27794        self.port = port if port is not None else 0
27795        '''
27796         The port to dial to initiate a connection from the egress node to this resource.
27797        '''
27798        self.port_override = port_override if port_override is not None else 0
27799        '''
27800         The local port used by clients to connect to this resource.
27801        '''
27802        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27803        '''
27804         ID of the proxy cluster for this resource, if any.
27805        '''
27806        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27807        '''
27808         ID of the secret store containing credentials for this resource, if any.
27809        '''
27810        self.subdomain = subdomain if subdomain is not None else ''
27811        '''
27812         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27813        '''
27814        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27815        '''
27816         Tags is a map of key, value pairs.
27817        '''
27818        self.username = username if username is not None else ''
27819        '''
27820         The username to authenticate with.
27821        '''
27822
27823    def __repr__(self):
27824        return '<sdm.Vertica ' + \
27825            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27826            'database: ' + repr(self.database) + ' ' +\
27827            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27828            'healthy: ' + repr(self.healthy) + ' ' +\
27829            'hostname: ' + repr(self.hostname) + ' ' +\
27830            'id: ' + repr(self.id) + ' ' +\
27831            'name: ' + repr(self.name) + ' ' +\
27832            'password: ' + repr(self.password) + ' ' +\
27833            'port: ' + repr(self.port) + ' ' +\
27834            'port_override: ' + repr(self.port_override) + ' ' +\
27835            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27836            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27837            'subdomain: ' + repr(self.subdomain) + ' ' +\
27838            'tags: ' + repr(self.tags) + ' ' +\
27839            'username: ' + repr(self.username) + ' ' +\
27840            '>'
27841
27842    def to_dict(self):
27843        return {
27844            'bind_interface': self.bind_interface,
27845            'database': self.database,
27846            'egress_filter': self.egress_filter,
27847            'healthy': self.healthy,
27848            'hostname': self.hostname,
27849            'id': self.id,
27850            'name': self.name,
27851            'password': self.password,
27852            'port': self.port,
27853            'port_override': self.port_override,
27854            'proxy_cluster_id': self.proxy_cluster_id,
27855            'secret_store_id': self.secret_store_id,
27856            'subdomain': self.subdomain,
27857            'tags': self.tags,
27858            'username': self.username,
27859        }
27860
27861    @classmethod
27862    def from_dict(cls, d):
27863        return cls(
27864            bind_interface=d.get('bind_interface'),
27865            database=d.get('database'),
27866            egress_filter=d.get('egress_filter'),
27867            healthy=d.get('healthy'),
27868            hostname=d.get('hostname'),
27869            id=d.get('id'),
27870            name=d.get('name'),
27871            password=d.get('password'),
27872            port=d.get('port'),
27873            port_override=d.get('port_override'),
27874            proxy_cluster_id=d.get('proxy_cluster_id'),
27875            secret_store_id=d.get('secret_store_id'),
27876            subdomain=d.get('subdomain'),
27877            tags=d.get('tags'),
27878            username=d.get('username'),
27879        )
27880
27881
27882class Workflow:
27883    '''
27884         Workflows are the collection of rules that define the resources to which access can be requested,
27885     the users that can request that access, and the mechanism for approving those requests which can either
27886     but automatic approval or a set of users authorized to approve the requests.
27887    '''
27888    __slots__ = [
27889        'access_request_fixed_duration',
27890        'access_request_max_duration',
27891        'access_rules',
27892        'approval_flow_id',
27893        'auto_grant',
27894        'description',
27895        'enabled',
27896        'id',
27897        'name',
27898        'weight',
27899    ]
27900
27901    def __init__(
27902        self,
27903        access_request_fixed_duration=None,
27904        access_request_max_duration=None,
27905        access_rules=None,
27906        approval_flow_id=None,
27907        auto_grant=None,
27908        description=None,
27909        enabled=None,
27910        id=None,
27911        name=None,
27912        weight=None,
27913    ):
27914        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
27915        '''
27916         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
27917         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
27918        '''
27919        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
27920        '''
27921         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
27922         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
27923        '''
27924        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
27925        )
27926        '''
27927         AccessRules is a list of access rules defining the resources this Workflow provides access to.
27928        '''
27929        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
27930        '''
27931         Optional approval flow ID identifies an approval flow that linked to the workflow
27932        '''
27933        self.auto_grant = auto_grant if auto_grant is not None else False
27934        '''
27935         Optional auto grant setting to automatically approve requests or not, defaults to false.
27936        '''
27937        self.description = description if description is not None else ''
27938        '''
27939         Optional description of the Workflow.
27940        '''
27941        self.enabled = enabled if enabled is not None else False
27942        '''
27943         Optional enabled state for workflow. This setting may be overridden by the system if
27944         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
27945         enabling the workflow. The requirements to enable a workflow are that the workflow must be
27946         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
27947         the workflow.
27948        '''
27949        self.id = id if id is not None else ''
27950        '''
27951         Unique identifier of the Workflow.
27952        '''
27953        self.name = name if name is not None else ''
27954        '''
27955         Unique human-readable name of the Workflow.
27956        '''
27957        self.weight = weight if weight is not None else 0
27958        '''
27959         Optional weight for workflow to specify it's priority in matching a request.
27960        '''
27961
27962    def __repr__(self):
27963        return '<sdm.Workflow ' + \
27964            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
27965            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
27966            'access_rules: ' + repr(self.access_rules) + ' ' +\
27967            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
27968            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
27969            'description: ' + repr(self.description) + ' ' +\
27970            'enabled: ' + repr(self.enabled) + ' ' +\
27971            'id: ' + repr(self.id) + ' ' +\
27972            'name: ' + repr(self.name) + ' ' +\
27973            'weight: ' + repr(self.weight) + ' ' +\
27974            '>'
27975
27976    def to_dict(self):
27977        return {
27978            'access_request_fixed_duration':
27979            self.access_request_fixed_duration,
27980            'access_request_max_duration': self.access_request_max_duration,
27981            'access_rules': self.access_rules,
27982            'approval_flow_id': self.approval_flow_id,
27983            'auto_grant': self.auto_grant,
27984            'description': self.description,
27985            'enabled': self.enabled,
27986            'id': self.id,
27987            'name': self.name,
27988            'weight': self.weight,
27989        }
27990
27991    @classmethod
27992    def from_dict(cls, d):
27993        return cls(
27994            access_request_fixed_duration=d.get(
27995                'access_request_fixed_duration'),
27996            access_request_max_duration=d.get('access_request_max_duration'),
27997            access_rules=d.get('access_rules'),
27998            approval_flow_id=d.get('approval_flow_id'),
27999            auto_grant=d.get('auto_grant'),
28000            description=d.get('description'),
28001            enabled=d.get('enabled'),
28002            id=d.get('id'),
28003            name=d.get('name'),
28004            weight=d.get('weight'),
28005        )
28006
28007
28008class WorkflowApprover:
28009    '''
28010         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
28011    '''
28012    __slots__ = [
28013        'account_id',
28014        'id',
28015        'role_id',
28016        'workflow_id',
28017    ]
28018
28019    def __init__(
28020        self,
28021        account_id=None,
28022        id=None,
28023        role_id=None,
28024        workflow_id=None,
28025    ):
28026        self.account_id = account_id if account_id is not None else ''
28027        '''
28028         The approver account id.
28029        '''
28030        self.id = id if id is not None else ''
28031        '''
28032         Unique identifier of the WorkflowApprover.
28033        '''
28034        self.role_id = role_id if role_id is not None else ''
28035        '''
28036         The approver role id
28037        '''
28038        self.workflow_id = workflow_id if workflow_id is not None else ''
28039        '''
28040         The workflow id.
28041        '''
28042
28043    def __repr__(self):
28044        return '<sdm.WorkflowApprover ' + \
28045            'account_id: ' + repr(self.account_id) + ' ' +\
28046            'id: ' + repr(self.id) + ' ' +\
28047            'role_id: ' + repr(self.role_id) + ' ' +\
28048            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
28049            '>'
28050
28051    def to_dict(self):
28052        return {
28053            'account_id': self.account_id,
28054            'id': self.id,
28055            'role_id': self.role_id,
28056            'workflow_id': self.workflow_id,
28057        }
28058
28059    @classmethod
28060    def from_dict(cls, d):
28061        return cls(
28062            account_id=d.get('account_id'),
28063            id=d.get('id'),
28064            role_id=d.get('role_id'),
28065            workflow_id=d.get('workflow_id'),
28066        )
28067
28068
28069class WorkflowApproverGetResponse:
28070    '''
28071         WorkflowApproverGetResponse returns a requested WorkflowApprover.
28072    '''
28073    __slots__ = [
28074        'meta',
28075        'rate_limit',
28076        'workflow_approver',
28077    ]
28078
28079    def __init__(
28080        self,
28081        meta=None,
28082        rate_limit=None,
28083        workflow_approver=None,
28084    ):
28085        self.meta = meta if meta is not None else None
28086        '''
28087         Reserved for future use.
28088        '''
28089        self.rate_limit = rate_limit if rate_limit is not None else None
28090        '''
28091         Rate limit information.
28092        '''
28093        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28094        '''
28095         The requested WorkflowApprover.
28096        '''
28097
28098    def __repr__(self):
28099        return '<sdm.WorkflowApproverGetResponse ' + \
28100            'meta: ' + repr(self.meta) + ' ' +\
28101            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28102            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28103            '>'
28104
28105    def to_dict(self):
28106        return {
28107            'meta': self.meta,
28108            'rate_limit': self.rate_limit,
28109            'workflow_approver': self.workflow_approver,
28110        }
28111
28112    @classmethod
28113    def from_dict(cls, d):
28114        return cls(
28115            meta=d.get('meta'),
28116            rate_limit=d.get('rate_limit'),
28117            workflow_approver=d.get('workflow_approver'),
28118        )
28119
28120
28121class WorkflowApproverHistory:
28122    '''
28123         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
28124    '''
28125    __slots__ = [
28126        'activity_id',
28127        'deleted_at',
28128        'timestamp',
28129        'workflow_approver',
28130    ]
28131
28132    def __init__(
28133        self,
28134        activity_id=None,
28135        deleted_at=None,
28136        timestamp=None,
28137        workflow_approver=None,
28138    ):
28139        self.activity_id = activity_id if activity_id is not None else ''
28140        '''
28141         The unique identifier of the Activity that produced this change to the WorkflowApprover.
28142         May be empty for some system-initiated updates.
28143        '''
28144        self.deleted_at = deleted_at if deleted_at is not None else None
28145        '''
28146         If this WorkflowApprover was deleted, the time it was deleted.
28147        '''
28148        self.timestamp = timestamp if timestamp is not None else None
28149        '''
28150         The time at which the WorkflowApprover state was recorded.
28151        '''
28152        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28153        '''
28154         The complete WorkflowApprover state at this time.
28155        '''
28156
28157    def __repr__(self):
28158        return '<sdm.WorkflowApproverHistory ' + \
28159            'activity_id: ' + repr(self.activity_id) + ' ' +\
28160            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28161            'timestamp: ' + repr(self.timestamp) + ' ' +\
28162            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28163            '>'
28164
28165    def to_dict(self):
28166        return {
28167            'activity_id': self.activity_id,
28168            'deleted_at': self.deleted_at,
28169            'timestamp': self.timestamp,
28170            'workflow_approver': self.workflow_approver,
28171        }
28172
28173    @classmethod
28174    def from_dict(cls, d):
28175        return cls(
28176            activity_id=d.get('activity_id'),
28177            deleted_at=d.get('deleted_at'),
28178            timestamp=d.get('timestamp'),
28179            workflow_approver=d.get('workflow_approver'),
28180        )
28181
28182
28183class WorkflowApproversCreateRequest:
28184    '''
28185         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
28186     workflow approver to be created.
28187    '''
28188    __slots__ = [
28189        'workflow_approver',
28190    ]
28191
28192    def __init__(
28193        self,
28194        workflow_approver=None,
28195    ):
28196        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28197        '''
28198         Parameters to define the new WorkflowApprover.
28199        '''
28200
28201    def __repr__(self):
28202        return '<sdm.WorkflowApproversCreateRequest ' + \
28203            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28204            '>'
28205
28206    def to_dict(self):
28207        return {
28208            'workflow_approver': self.workflow_approver,
28209        }
28210
28211    @classmethod
28212    def from_dict(cls, d):
28213        return cls(workflow_approver=d.get('workflow_approver'), )
28214
28215
28216class WorkflowApproversCreateResponse:
28217    '''
28218         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
28219    '''
28220    __slots__ = [
28221        'rate_limit',
28222        'workflow_approver',
28223    ]
28224
28225    def __init__(
28226        self,
28227        rate_limit=None,
28228        workflow_approver=None,
28229    ):
28230        self.rate_limit = rate_limit if rate_limit is not None else None
28231        '''
28232         Rate limit information.
28233        '''
28234        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28235        '''
28236         The created workflow approver.
28237        '''
28238
28239    def __repr__(self):
28240        return '<sdm.WorkflowApproversCreateResponse ' + \
28241            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28242            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28243            '>'
28244
28245    def to_dict(self):
28246        return {
28247            'rate_limit': self.rate_limit,
28248            'workflow_approver': self.workflow_approver,
28249        }
28250
28251    @classmethod
28252    def from_dict(cls, d):
28253        return cls(
28254            rate_limit=d.get('rate_limit'),
28255            workflow_approver=d.get('workflow_approver'),
28256        )
28257
28258
28259class WorkflowApproversDeleteRequest:
28260    '''
28261         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
28262    '''
28263    __slots__ = [
28264        'id',
28265    ]
28266
28267    def __init__(
28268        self,
28269        id=None,
28270    ):
28271        self.id = id if id is not None else ''
28272        '''
28273         The unique identifier of the WorkflowApprover to delete.
28274        '''
28275
28276    def __repr__(self):
28277        return '<sdm.WorkflowApproversDeleteRequest ' + \
28278            'id: ' + repr(self.id) + ' ' +\
28279            '>'
28280
28281    def to_dict(self):
28282        return {
28283            'id': self.id,
28284        }
28285
28286    @classmethod
28287    def from_dict(cls, d):
28288        return cls(id=d.get('id'), )
28289
28290
28291class WorkflowApproversDeleteResponse:
28292    '''
28293         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
28294    '''
28295    __slots__ = [
28296        'rate_limit',
28297    ]
28298
28299    def __init__(
28300        self,
28301        rate_limit=None,
28302    ):
28303        self.rate_limit = rate_limit if rate_limit is not None else None
28304        '''
28305         Rate limit information.
28306        '''
28307
28308    def __repr__(self):
28309        return '<sdm.WorkflowApproversDeleteResponse ' + \
28310            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28311            '>'
28312
28313    def to_dict(self):
28314        return {
28315            'rate_limit': self.rate_limit,
28316        }
28317
28318    @classmethod
28319    def from_dict(cls, d):
28320        return cls(rate_limit=d.get('rate_limit'), )
28321
28322
28323class WorkflowApproversListRequest:
28324    '''
28325         WorkflowApproversListRequest specifies criteria for retrieving a list of
28326     WorkflowApprover records
28327    '''
28328    __slots__ = [
28329        'filter',
28330    ]
28331
28332    def __init__(
28333        self,
28334        filter=None,
28335    ):
28336        self.filter = filter if filter is not None else ''
28337        '''
28338         A human-readable filter query string.
28339        '''
28340
28341    def __repr__(self):
28342        return '<sdm.WorkflowApproversListRequest ' + \
28343            'filter: ' + repr(self.filter) + ' ' +\
28344            '>'
28345
28346    def to_dict(self):
28347        return {
28348            'filter': self.filter,
28349        }
28350
28351    @classmethod
28352    def from_dict(cls, d):
28353        return cls(filter=d.get('filter'), )
28354
28355
28356class WorkflowApproversListResponse:
28357    '''
28358         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
28359     the criteria of a WorkflowApproversListRequest.
28360    '''
28361    __slots__ = [
28362        'rate_limit',
28363    ]
28364
28365    def __init__(
28366        self,
28367        rate_limit=None,
28368    ):
28369        self.rate_limit = rate_limit if rate_limit is not None else None
28370        '''
28371         Rate limit information.
28372        '''
28373
28374    def __repr__(self):
28375        return '<sdm.WorkflowApproversListResponse ' + \
28376            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28377            '>'
28378
28379    def to_dict(self):
28380        return {
28381            'rate_limit': self.rate_limit,
28382        }
28383
28384    @classmethod
28385    def from_dict(cls, d):
28386        return cls(rate_limit=d.get('rate_limit'), )
28387
28388
28389class WorkflowAssignment:
28390    '''
28391         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
28392     access to via the workflow.
28393    '''
28394    __slots__ = [
28395        'resource_id',
28396        'workflow_id',
28397    ]
28398
28399    def __init__(
28400        self,
28401        resource_id=None,
28402        workflow_id=None,
28403    ):
28404        self.resource_id = resource_id if resource_id is not None else ''
28405        '''
28406         The resource id.
28407        '''
28408        self.workflow_id = workflow_id if workflow_id is not None else ''
28409        '''
28410         The workflow id.
28411        '''
28412
28413    def __repr__(self):
28414        return '<sdm.WorkflowAssignment ' + \
28415            'resource_id: ' + repr(self.resource_id) + ' ' +\
28416            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
28417            '>'
28418
28419    def to_dict(self):
28420        return {
28421            'resource_id': self.resource_id,
28422            'workflow_id': self.workflow_id,
28423        }
28424
28425    @classmethod
28426    def from_dict(cls, d):
28427        return cls(
28428            resource_id=d.get('resource_id'),
28429            workflow_id=d.get('workflow_id'),
28430        )
28431
28432
28433class WorkflowAssignmentHistory:
28434    '''
28435         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
28436    '''
28437    __slots__ = [
28438        'activity_id',
28439        'deleted_at',
28440        'timestamp',
28441        'workflow_assignment',
28442    ]
28443
28444    def __init__(
28445        self,
28446        activity_id=None,
28447        deleted_at=None,
28448        timestamp=None,
28449        workflow_assignment=None,
28450    ):
28451        self.activity_id = activity_id if activity_id is not None else ''
28452        '''
28453         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
28454         May be empty for some system-initiated updates.
28455        '''
28456        self.deleted_at = deleted_at if deleted_at is not None else None
28457        '''
28458         If this WorkflowAssignment was deleted, the time it was deleted.
28459        '''
28460        self.timestamp = timestamp if timestamp is not None else None
28461        '''
28462         The time at which the WorkflowAssignment state was recorded.
28463        '''
28464        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
28465        '''
28466         The complete WorkflowAssignment state at this time.
28467        '''
28468
28469    def __repr__(self):
28470        return '<sdm.WorkflowAssignmentHistory ' + \
28471            'activity_id: ' + repr(self.activity_id) + ' ' +\
28472            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28473            'timestamp: ' + repr(self.timestamp) + ' ' +\
28474            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
28475            '>'
28476
28477    def to_dict(self):
28478        return {
28479            'activity_id': self.activity_id,
28480            'deleted_at': self.deleted_at,
28481            'timestamp': self.timestamp,
28482            'workflow_assignment': self.workflow_assignment,
28483        }
28484
28485    @classmethod
28486    def from_dict(cls, d):
28487        return cls(
28488            activity_id=d.get('activity_id'),
28489            deleted_at=d.get('deleted_at'),
28490            timestamp=d.get('timestamp'),
28491            workflow_assignment=d.get('workflow_assignment'),
28492        )
28493
28494
28495class WorkflowAssignmentsListRequest:
28496    '''
28497         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
28498     WorkflowAssignment records
28499    '''
28500    __slots__ = [
28501        'filter',
28502    ]
28503
28504    def __init__(
28505        self,
28506        filter=None,
28507    ):
28508        self.filter = filter if filter is not None else ''
28509        '''
28510         A human-readable filter query string.
28511        '''
28512
28513    def __repr__(self):
28514        return '<sdm.WorkflowAssignmentsListRequest ' + \
28515            'filter: ' + repr(self.filter) + ' ' +\
28516            '>'
28517
28518    def to_dict(self):
28519        return {
28520            'filter': self.filter,
28521        }
28522
28523    @classmethod
28524    def from_dict(cls, d):
28525        return cls(filter=d.get('filter'), )
28526
28527
28528class WorkflowAssignmentsListResponse:
28529    '''
28530         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
28531     the criteria of a WorkflowAssignmentsListRequest.
28532    '''
28533    __slots__ = [
28534        'rate_limit',
28535    ]
28536
28537    def __init__(
28538        self,
28539        rate_limit=None,
28540    ):
28541        self.rate_limit = rate_limit if rate_limit is not None else None
28542        '''
28543         Rate limit information.
28544        '''
28545
28546    def __repr__(self):
28547        return '<sdm.WorkflowAssignmentsListResponse ' + \
28548            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28549            '>'
28550
28551    def to_dict(self):
28552        return {
28553            'rate_limit': self.rate_limit,
28554        }
28555
28556    @classmethod
28557    def from_dict(cls, d):
28558        return cls(rate_limit=d.get('rate_limit'), )
28559
28560
28561class WorkflowCreateResponse:
28562    '''
28563         WorkflowCreateResponse reports how the Workflow was created in the system.
28564    '''
28565    __slots__ = [
28566        'rate_limit',
28567        'workflow',
28568    ]
28569
28570    def __init__(
28571        self,
28572        rate_limit=None,
28573        workflow=None,
28574    ):
28575        self.rate_limit = rate_limit if rate_limit is not None else None
28576        '''
28577         Rate limit information.
28578        '''
28579        self.workflow = workflow if workflow is not None else None
28580        '''
28581         The created workflow.
28582        '''
28583
28584    def __repr__(self):
28585        return '<sdm.WorkflowCreateResponse ' + \
28586            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28587            'workflow: ' + repr(self.workflow) + ' ' +\
28588            '>'
28589
28590    def to_dict(self):
28591        return {
28592            'rate_limit': self.rate_limit,
28593            'workflow': self.workflow,
28594        }
28595
28596    @classmethod
28597    def from_dict(cls, d):
28598        return cls(
28599            rate_limit=d.get('rate_limit'),
28600            workflow=d.get('workflow'),
28601        )
28602
28603
28604class WorkflowDeleteResponse:
28605    '''
28606         WorkflowDeleteResponse returns information about a Workflow that was deleted.
28607    '''
28608    __slots__ = [
28609        'id',
28610        'rate_limit',
28611    ]
28612
28613    def __init__(
28614        self,
28615        id=None,
28616        rate_limit=None,
28617    ):
28618        self.id = id if id is not None else ''
28619        '''
28620         The deleted workflow id.
28621        '''
28622        self.rate_limit = rate_limit if rate_limit is not None else None
28623        '''
28624         Rate limit information.
28625        '''
28626
28627    def __repr__(self):
28628        return '<sdm.WorkflowDeleteResponse ' + \
28629            'id: ' + repr(self.id) + ' ' +\
28630            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28631            '>'
28632
28633    def to_dict(self):
28634        return {
28635            'id': self.id,
28636            'rate_limit': self.rate_limit,
28637        }
28638
28639    @classmethod
28640    def from_dict(cls, d):
28641        return cls(
28642            id=d.get('id'),
28643            rate_limit=d.get('rate_limit'),
28644        )
28645
28646
28647class WorkflowGetResponse:
28648    '''
28649         WorkflowGetResponse returns a requested Workflow.
28650    '''
28651    __slots__ = [
28652        'meta',
28653        'rate_limit',
28654        'workflow',
28655    ]
28656
28657    def __init__(
28658        self,
28659        meta=None,
28660        rate_limit=None,
28661        workflow=None,
28662    ):
28663        self.meta = meta if meta is not None else None
28664        '''
28665         Reserved for future use.
28666        '''
28667        self.rate_limit = rate_limit if rate_limit is not None else None
28668        '''
28669         Rate limit information.
28670        '''
28671        self.workflow = workflow if workflow is not None else None
28672        '''
28673         The requested Workflow.
28674        '''
28675
28676    def __repr__(self):
28677        return '<sdm.WorkflowGetResponse ' + \
28678            'meta: ' + repr(self.meta) + ' ' +\
28679            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28680            'workflow: ' + repr(self.workflow) + ' ' +\
28681            '>'
28682
28683    def to_dict(self):
28684        return {
28685            'meta': self.meta,
28686            'rate_limit': self.rate_limit,
28687            'workflow': self.workflow,
28688        }
28689
28690    @classmethod
28691    def from_dict(cls, d):
28692        return cls(
28693            meta=d.get('meta'),
28694            rate_limit=d.get('rate_limit'),
28695            workflow=d.get('workflow'),
28696        )
28697
28698
28699class WorkflowHistory:
28700    '''
28701         WorkflowsHistory provides records of all changes to the state of a Workflow.
28702    '''
28703    __slots__ = [
28704        'activity_id',
28705        'deleted_at',
28706        'timestamp',
28707        'workflow',
28708    ]
28709
28710    def __init__(
28711        self,
28712        activity_id=None,
28713        deleted_at=None,
28714        timestamp=None,
28715        workflow=None,
28716    ):
28717        self.activity_id = activity_id if activity_id is not None else ''
28718        '''
28719         The unique identifier of the Activity that produced this change to the Workflow.
28720         May be empty for some system-initiated updates.
28721        '''
28722        self.deleted_at = deleted_at if deleted_at is not None else None
28723        '''
28724         If this Workflow was deleted, the time it was deleted.
28725        '''
28726        self.timestamp = timestamp if timestamp is not None else None
28727        '''
28728         The time at which the Workflow state was recorded.
28729        '''
28730        self.workflow = workflow if workflow is not None else None
28731        '''
28732         The complete Workflow state at this time.
28733        '''
28734
28735    def __repr__(self):
28736        return '<sdm.WorkflowHistory ' + \
28737            'activity_id: ' + repr(self.activity_id) + ' ' +\
28738            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28739            'timestamp: ' + repr(self.timestamp) + ' ' +\
28740            'workflow: ' + repr(self.workflow) + ' ' +\
28741            '>'
28742
28743    def to_dict(self):
28744        return {
28745            'activity_id': self.activity_id,
28746            'deleted_at': self.deleted_at,
28747            'timestamp': self.timestamp,
28748            'workflow': self.workflow,
28749        }
28750
28751    @classmethod
28752    def from_dict(cls, d):
28753        return cls(
28754            activity_id=d.get('activity_id'),
28755            deleted_at=d.get('deleted_at'),
28756            timestamp=d.get('timestamp'),
28757            workflow=d.get('workflow'),
28758        )
28759
28760
28761class WorkflowListResponse:
28762    '''
28763         WorkflowListResponse returns a list of Workflow records that meet
28764     the criteria of a WorkflowListRequest.
28765    '''
28766    __slots__ = [
28767        'rate_limit',
28768    ]
28769
28770    def __init__(
28771        self,
28772        rate_limit=None,
28773    ):
28774        self.rate_limit = rate_limit if rate_limit is not None else None
28775        '''
28776         Rate limit information.
28777        '''
28778
28779    def __repr__(self):
28780        return '<sdm.WorkflowListResponse ' + \
28781            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28782            '>'
28783
28784    def to_dict(self):
28785        return {
28786            'rate_limit': self.rate_limit,
28787        }
28788
28789    @classmethod
28790    def from_dict(cls, d):
28791        return cls(rate_limit=d.get('rate_limit'), )
28792
28793
28794class WorkflowRole:
28795    '''
28796         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
28797     to request access to a resource via the workflow.
28798    '''
28799    __slots__ = [
28800        'id',
28801        'role_id',
28802        'workflow_id',
28803    ]
28804
28805    def __init__(
28806        self,
28807        id=None,
28808        role_id=None,
28809        workflow_id=None,
28810    ):
28811        self.id = id if id is not None else ''
28812        '''
28813         Unique identifier of the WorkflowRole.
28814        '''
28815        self.role_id = role_id if role_id is not None else ''
28816        '''
28817         The role id.
28818        '''
28819        self.workflow_id = workflow_id if workflow_id is not None else ''
28820        '''
28821         The workflow id.
28822        '''
28823
28824    def __repr__(self):
28825        return '<sdm.WorkflowRole ' + \
28826            'id: ' + repr(self.id) + ' ' +\
28827            'role_id: ' + repr(self.role_id) + ' ' +\
28828            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
28829            '>'
28830
28831    def to_dict(self):
28832        return {
28833            'id': self.id,
28834            'role_id': self.role_id,
28835            'workflow_id': self.workflow_id,
28836        }
28837
28838    @classmethod
28839    def from_dict(cls, d):
28840        return cls(
28841            id=d.get('id'),
28842            role_id=d.get('role_id'),
28843            workflow_id=d.get('workflow_id'),
28844        )
28845
28846
28847class WorkflowRoleGetResponse:
28848    '''
28849         WorkflowRoleGetResponse returns a requested WorkflowRole.
28850    '''
28851    __slots__ = [
28852        'meta',
28853        'rate_limit',
28854        'workflow_role',
28855    ]
28856
28857    def __init__(
28858        self,
28859        meta=None,
28860        rate_limit=None,
28861        workflow_role=None,
28862    ):
28863        self.meta = meta if meta is not None else None
28864        '''
28865         Reserved for future use.
28866        '''
28867        self.rate_limit = rate_limit if rate_limit is not None else None
28868        '''
28869         Rate limit information.
28870        '''
28871        self.workflow_role = workflow_role if workflow_role is not None else None
28872        '''
28873         The requested WorkflowRole.
28874        '''
28875
28876    def __repr__(self):
28877        return '<sdm.WorkflowRoleGetResponse ' + \
28878            'meta: ' + repr(self.meta) + ' ' +\
28879            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28880            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
28881            '>'
28882
28883    def to_dict(self):
28884        return {
28885            'meta': self.meta,
28886            'rate_limit': self.rate_limit,
28887            'workflow_role': self.workflow_role,
28888        }
28889
28890    @classmethod
28891    def from_dict(cls, d):
28892        return cls(
28893            meta=d.get('meta'),
28894            rate_limit=d.get('rate_limit'),
28895            workflow_role=d.get('workflow_role'),
28896        )
28897
28898
28899class WorkflowRoleHistory:
28900    '''
28901         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
28902    '''
28903    __slots__ = [
28904        'activity_id',
28905        'deleted_at',
28906        'timestamp',
28907        'workflow_role',
28908    ]
28909
28910    def __init__(
28911        self,
28912        activity_id=None,
28913        deleted_at=None,
28914        timestamp=None,
28915        workflow_role=None,
28916    ):
28917        self.activity_id = activity_id if activity_id is not None else ''
28918        '''
28919         The unique identifier of the Activity that produced this change to the WorkflowRole.
28920         May be empty for some system-initiated updates.
28921        '''
28922        self.deleted_at = deleted_at if deleted_at is not None else None
28923        '''
28924         If this WorkflowRole was deleted, the time it was deleted.
28925        '''
28926        self.timestamp = timestamp if timestamp is not None else None
28927        '''
28928         The time at which the WorkflowRole state was recorded.
28929        '''
28930        self.workflow_role = workflow_role if workflow_role is not None else None
28931        '''
28932         The complete WorkflowRole state at this time.
28933        '''
28934
28935    def __repr__(self):
28936        return '<sdm.WorkflowRoleHistory ' + \
28937            'activity_id: ' + repr(self.activity_id) + ' ' +\
28938            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28939            'timestamp: ' + repr(self.timestamp) + ' ' +\
28940            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
28941            '>'
28942
28943    def to_dict(self):
28944        return {
28945            'activity_id': self.activity_id,
28946            'deleted_at': self.deleted_at,
28947            'timestamp': self.timestamp,
28948            'workflow_role': self.workflow_role,
28949        }
28950
28951    @classmethod
28952    def from_dict(cls, d):
28953        return cls(
28954            activity_id=d.get('activity_id'),
28955            deleted_at=d.get('deleted_at'),
28956            timestamp=d.get('timestamp'),
28957            workflow_role=d.get('workflow_role'),
28958        )
28959
28960
28961class WorkflowRolesCreateRequest:
28962    '''
28963         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
28964     workflow role to be created.
28965    '''
28966    __slots__ = [
28967        'workflow_role',
28968    ]
28969
28970    def __init__(
28971        self,
28972        workflow_role=None,
28973    ):
28974        self.workflow_role = workflow_role if workflow_role is not None else None
28975        '''
28976         Parameters to define the new WorkflowRole.
28977        '''
28978
28979    def __repr__(self):
28980        return '<sdm.WorkflowRolesCreateRequest ' + \
28981            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
28982            '>'
28983
28984    def to_dict(self):
28985        return {
28986            'workflow_role': self.workflow_role,
28987        }
28988
28989    @classmethod
28990    def from_dict(cls, d):
28991        return cls(workflow_role=d.get('workflow_role'), )
28992
28993
28994class WorkflowRolesCreateResponse:
28995    '''
28996         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
28997    '''
28998    __slots__ = [
28999        'rate_limit',
29000        'workflow_role',
29001    ]
29002
29003    def __init__(
29004        self,
29005        rate_limit=None,
29006        workflow_role=None,
29007    ):
29008        self.rate_limit = rate_limit if rate_limit is not None else None
29009        '''
29010         Rate limit information.
29011        '''
29012        self.workflow_role = workflow_role if workflow_role is not None else None
29013        '''
29014         The created workflow role.
29015        '''
29016
29017    def __repr__(self):
29018        return '<sdm.WorkflowRolesCreateResponse ' + \
29019            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29020            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
29021            '>'
29022
29023    def to_dict(self):
29024        return {
29025            'rate_limit': self.rate_limit,
29026            'workflow_role': self.workflow_role,
29027        }
29028
29029    @classmethod
29030    def from_dict(cls, d):
29031        return cls(
29032            rate_limit=d.get('rate_limit'),
29033            workflow_role=d.get('workflow_role'),
29034        )
29035
29036
29037class WorkflowRolesDeleteRequest:
29038    '''
29039         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
29040    '''
29041    __slots__ = [
29042        'id',
29043    ]
29044
29045    def __init__(
29046        self,
29047        id=None,
29048    ):
29049        self.id = id if id is not None else ''
29050        '''
29051         The unique identifier of the WorkflowRole to delete.
29052        '''
29053
29054    def __repr__(self):
29055        return '<sdm.WorkflowRolesDeleteRequest ' + \
29056            'id: ' + repr(self.id) + ' ' +\
29057            '>'
29058
29059    def to_dict(self):
29060        return {
29061            'id': self.id,
29062        }
29063
29064    @classmethod
29065    def from_dict(cls, d):
29066        return cls(id=d.get('id'), )
29067
29068
29069class WorkflowRolesDeleteResponse:
29070    '''
29071         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
29072    '''
29073    __slots__ = [
29074        'rate_limit',
29075    ]
29076
29077    def __init__(
29078        self,
29079        rate_limit=None,
29080    ):
29081        self.rate_limit = rate_limit if rate_limit is not None else None
29082        '''
29083         Rate limit information.
29084        '''
29085
29086    def __repr__(self):
29087        return '<sdm.WorkflowRolesDeleteResponse ' + \
29088            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29089            '>'
29090
29091    def to_dict(self):
29092        return {
29093            'rate_limit': self.rate_limit,
29094        }
29095
29096    @classmethod
29097    def from_dict(cls, d):
29098        return cls(rate_limit=d.get('rate_limit'), )
29099
29100
29101class WorkflowRolesListRequest:
29102    '''
29103         WorkflowRolesListRequest specifies criteria for retrieving a list of
29104     WorkflowRole records
29105    '''
29106    __slots__ = [
29107        'filter',
29108    ]
29109
29110    def __init__(
29111        self,
29112        filter=None,
29113    ):
29114        self.filter = filter if filter is not None else ''
29115        '''
29116         A human-readable filter query string.
29117        '''
29118
29119    def __repr__(self):
29120        return '<sdm.WorkflowRolesListRequest ' + \
29121            'filter: ' + repr(self.filter) + ' ' +\
29122            '>'
29123
29124    def to_dict(self):
29125        return {
29126            'filter': self.filter,
29127        }
29128
29129    @classmethod
29130    def from_dict(cls, d):
29131        return cls(filter=d.get('filter'), )
29132
29133
29134class WorkflowRolesListResponse:
29135    '''
29136         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
29137     the criteria of a WorkflowRolesListRequest.
29138    '''
29139    __slots__ = [
29140        'rate_limit',
29141    ]
29142
29143    def __init__(
29144        self,
29145        rate_limit=None,
29146    ):
29147        self.rate_limit = rate_limit if rate_limit is not None else None
29148        '''
29149         Rate limit information.
29150        '''
29151
29152    def __repr__(self):
29153        return '<sdm.WorkflowRolesListResponse ' + \
29154            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29155            '>'
29156
29157    def to_dict(self):
29158        return {
29159            'rate_limit': self.rate_limit,
29160        }
29161
29162    @classmethod
29163    def from_dict(cls, d):
29164        return cls(rate_limit=d.get('rate_limit'), )
29165
29166
29167class WorkflowUpdateResponse:
29168    '''
29169         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
29170     a WorkflowUpdateRequest.
29171    '''
29172    __slots__ = [
29173        'rate_limit',
29174        'workflow',
29175    ]
29176
29177    def __init__(
29178        self,
29179        rate_limit=None,
29180        workflow=None,
29181    ):
29182        self.rate_limit = rate_limit if rate_limit is not None else None
29183        '''
29184         Rate limit information.
29185        '''
29186        self.workflow = workflow if workflow is not None else None
29187        '''
29188         The updated workflow.
29189        '''
29190
29191    def __repr__(self):
29192        return '<sdm.WorkflowUpdateResponse ' + \
29193            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29194            'workflow: ' + repr(self.workflow) + ' ' +\
29195            '>'
29196
29197    def to_dict(self):
29198        return {
29199            'rate_limit': self.rate_limit,
29200            'workflow': self.workflow,
29201        }
29202
29203    @classmethod
29204    def from_dict(cls, d):
29205        return cls(
29206            rate_limit=d.get('rate_limit'),
29207            workflow=d.get('workflow'),
29208        )
29209
29210
29211def _porcelain_zero_value_tags():
29212    return {}
29213
29214
29215def _porcelain_zero_value_access_rules():
29216    return []
29217
29218
29219def _porcelain_zero_value_access_rule():
29220    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 ActiveDirectoryStore:
3277class ActiveDirectoryStore:
3278    __slots__ = [
3279        'id',
3280        'name',
3281        'server_address',
3282        'tags',
3283    ]
3284
3285    def __init__(
3286        self,
3287        id=None,
3288        name=None,
3289        server_address=None,
3290        tags=None,
3291    ):
3292        self.id = id if id is not None else ''
3293        '''
3294         Unique identifier of the SecretStore.
3295        '''
3296        self.name = name if name is not None else ''
3297        '''
3298         Unique human-readable name of the SecretStore.
3299        '''
3300        self.server_address = server_address if server_address is not None else ''
3301        '''
3302         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3303         Often this is the same host as Active Directory Certificate Services
3304        '''
3305        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3306        '''
3307         Tags is a map of key, value pairs.
3308        '''
3309
3310    def __repr__(self):
3311        return '<sdm.ActiveDirectoryStore ' + \
3312            'id: ' + repr(self.id) + ' ' +\
3313            'name: ' + repr(self.name) + ' ' +\
3314            'server_address: ' + repr(self.server_address) + ' ' +\
3315            'tags: ' + repr(self.tags) + ' ' +\
3316            '>'
3317
3318    def to_dict(self):
3319        return {
3320            'id': self.id,
3321            'name': self.name,
3322            'server_address': self.server_address,
3323            'tags': self.tags,
3324        }
3325
3326    @classmethod
3327    def from_dict(cls, d):
3328        return cls(
3329            id=d.get('id'),
3330            name=d.get('name'),
3331            server_address=d.get('server_address'),
3332            tags=d.get('tags'),
3333        )
ActiveDirectoryStore(id=None, name=None, server_address=None, tags=None)
3285    def __init__(
3286        self,
3287        id=None,
3288        name=None,
3289        server_address=None,
3290        tags=None,
3291    ):
3292        self.id = id if id is not None else ''
3293        '''
3294         Unique identifier of the SecretStore.
3295        '''
3296        self.name = name if name is not None else ''
3297        '''
3298         Unique human-readable name of the SecretStore.
3299        '''
3300        self.server_address = server_address if server_address is not None else ''
3301        '''
3302         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3303         Often this is the same host as Active Directory Certificate Services
3304        '''
3305        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3306        '''
3307         Tags is a map of key, value pairs.
3308        '''
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)
3318    def to_dict(self):
3319        return {
3320            'id': self.id,
3321            'name': self.name,
3322            'server_address': self.server_address,
3323            'tags': self.tags,
3324        }
@classmethod
def from_dict(cls, d)
3326    @classmethod
3327    def from_dict(cls, d):
3328        return cls(
3329            id=d.get('id'),
3330            name=d.get('name'),
3331            server_address=d.get('server_address'),
3332            tags=d.get('tags'),
3333        )
class Activity:
3336class Activity:
3337    '''
3338         An Activity is a record of an action taken against a strongDM deployment, e.g.
3339     a user creation, resource deletion, sso configuration change, etc.
3340    '''
3341    __slots__ = [
3342        'actor',
3343        'completed_at',
3344        'description',
3345        'entities',
3346        'id',
3347        'ip_address',
3348        'user_agent',
3349        'verb',
3350    ]
3351
3352    def __init__(
3353        self,
3354        actor=None,
3355        completed_at=None,
3356        description=None,
3357        entities=None,
3358        id=None,
3359        ip_address=None,
3360        user_agent=None,
3361        verb=None,
3362    ):
3363        self.actor = actor if actor is not None else None
3364        '''
3365         The account who executed this activity. If the actor later has a name or email change,
3366         that change is not reflected here. Actor is a snapshot of the executing account at
3367         the time an activity took place.
3368        '''
3369        self.completed_at = completed_at if completed_at is not None else None
3370        '''
3371         The time this activity took effect.
3372        '''
3373        self.description = description if description is not None else ''
3374        '''
3375         A humanized description of the activity.
3376        '''
3377        self.entities = entities if entities is not None else []
3378        '''
3379         The entities involved in this activity. These entities can be any first class
3380         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
3381         every activity affects explicit entities.
3382        '''
3383        self.id = id if id is not None else ''
3384        '''
3385         Unique identifier of the Activity.
3386        '''
3387        self.ip_address = ip_address if ip_address is not None else ''
3388        '''
3389         The IP from which this action was taken.
3390        '''
3391        self.user_agent = user_agent if user_agent is not None else ''
3392        '''
3393         The User Agent present when this request was executed. Generally a client type and version
3394         like strongdm-cli/55.66.77
3395        '''
3396        self.verb = verb if verb is not None else ''
3397        '''
3398         The kind of activity which has taken place, one of the ActivityVerb constants.
3399        '''
3400
3401    def __repr__(self):
3402        return '<sdm.Activity ' + \
3403            'actor: ' + repr(self.actor) + ' ' +\
3404            'completed_at: ' + repr(self.completed_at) + ' ' +\
3405            'description: ' + repr(self.description) + ' ' +\
3406            'entities: ' + repr(self.entities) + ' ' +\
3407            'id: ' + repr(self.id) + ' ' +\
3408            'ip_address: ' + repr(self.ip_address) + ' ' +\
3409            'user_agent: ' + repr(self.user_agent) + ' ' +\
3410            'verb: ' + repr(self.verb) + ' ' +\
3411            '>'
3412
3413    def to_dict(self):
3414        return {
3415            'actor': self.actor,
3416            'completed_at': self.completed_at,
3417            'description': self.description,
3418            'entities': self.entities,
3419            'id': self.id,
3420            'ip_address': self.ip_address,
3421            'user_agent': self.user_agent,
3422            'verb': self.verb,
3423        }
3424
3425    @classmethod
3426    def from_dict(cls, d):
3427        return cls(
3428            actor=d.get('actor'),
3429            completed_at=d.get('completed_at'),
3430            description=d.get('description'),
3431            entities=d.get('entities'),
3432            id=d.get('id'),
3433            ip_address=d.get('ip_address'),
3434            user_agent=d.get('user_agent'),
3435            verb=d.get('verb'),
3436        )

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)
3352    def __init__(
3353        self,
3354        actor=None,
3355        completed_at=None,
3356        description=None,
3357        entities=None,
3358        id=None,
3359        ip_address=None,
3360        user_agent=None,
3361        verb=None,
3362    ):
3363        self.actor = actor if actor is not None else None
3364        '''
3365         The account who executed this activity. If the actor later has a name or email change,
3366         that change is not reflected here. Actor is a snapshot of the executing account at
3367         the time an activity took place.
3368        '''
3369        self.completed_at = completed_at if completed_at is not None else None
3370        '''
3371         The time this activity took effect.
3372        '''
3373        self.description = description if description is not None else ''
3374        '''
3375         A humanized description of the activity.
3376        '''
3377        self.entities = entities if entities is not None else []
3378        '''
3379         The entities involved in this activity. These entities can be any first class
3380         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
3381         every activity affects explicit entities.
3382        '''
3383        self.id = id if id is not None else ''
3384        '''
3385         Unique identifier of the Activity.
3386        '''
3387        self.ip_address = ip_address if ip_address is not None else ''
3388        '''
3389         The IP from which this action was taken.
3390        '''
3391        self.user_agent = user_agent if user_agent is not None else ''
3392        '''
3393         The User Agent present when this request was executed. Generally a client type and version
3394         like strongdm-cli/55.66.77
3395        '''
3396        self.verb = verb if verb is not None else ''
3397        '''
3398         The kind of activity which has taken place, one of the ActivityVerb constants.
3399        '''
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)
3413    def to_dict(self):
3414        return {
3415            'actor': self.actor,
3416            'completed_at': self.completed_at,
3417            'description': self.description,
3418            'entities': self.entities,
3419            'id': self.id,
3420            'ip_address': self.ip_address,
3421            'user_agent': self.user_agent,
3422            'verb': self.verb,
3423        }
@classmethod
def from_dict(cls, d)
3425    @classmethod
3426    def from_dict(cls, d):
3427        return cls(
3428            actor=d.get('actor'),
3429            completed_at=d.get('completed_at'),
3430            description=d.get('description'),
3431            entities=d.get('entities'),
3432            id=d.get('id'),
3433            ip_address=d.get('ip_address'),
3434            user_agent=d.get('user_agent'),
3435            verb=d.get('verb'),
3436        )
class ActivityActor:
3439class ActivityActor:
3440    __slots__ = [
3441        'activity_external_id',
3442        'email',
3443        'first_name',
3444        'id',
3445        'last_name',
3446    ]
3447
3448    def __init__(
3449        self,
3450        activity_external_id=None,
3451        email=None,
3452        first_name=None,
3453        id=None,
3454        last_name=None,
3455    ):
3456        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
3457        '''
3458         The external ID of the actor at the time this activity occurred.
3459        '''
3460        self.email = email if email is not None else ''
3461        '''
3462         The email of the actor at the time this activity occurred.
3463        '''
3464        self.first_name = first_name if first_name is not None else ''
3465        '''
3466         The first name of the actor at the time this activity occurred.
3467        '''
3468        self.id = id if id is not None else ''
3469        '''
3470         Unique identifier of the actor. Immutable.
3471        '''
3472        self.last_name = last_name if last_name is not None else ''
3473        '''
3474         The last name of the actor at the time this activity occurred.
3475        '''
3476
3477    def __repr__(self):
3478        return '<sdm.ActivityActor ' + \
3479            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
3480            'email: ' + repr(self.email) + ' ' +\
3481            'first_name: ' + repr(self.first_name) + ' ' +\
3482            'id: ' + repr(self.id) + ' ' +\
3483            'last_name: ' + repr(self.last_name) + ' ' +\
3484            '>'
3485
3486    def to_dict(self):
3487        return {
3488            'activity_external_id': self.activity_external_id,
3489            'email': self.email,
3490            'first_name': self.first_name,
3491            'id': self.id,
3492            'last_name': self.last_name,
3493        }
3494
3495    @classmethod
3496    def from_dict(cls, d):
3497        return cls(
3498            activity_external_id=d.get('activity_external_id'),
3499            email=d.get('email'),
3500            first_name=d.get('first_name'),
3501            id=d.get('id'),
3502            last_name=d.get('last_name'),
3503        )
ActivityActor( activity_external_id=None, email=None, first_name=None, id=None, last_name=None)
3448    def __init__(
3449        self,
3450        activity_external_id=None,
3451        email=None,
3452        first_name=None,
3453        id=None,
3454        last_name=None,
3455    ):
3456        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
3457        '''
3458         The external ID of the actor at the time this activity occurred.
3459        '''
3460        self.email = email if email is not None else ''
3461        '''
3462         The email of the actor at the time this activity occurred.
3463        '''
3464        self.first_name = first_name if first_name is not None else ''
3465        '''
3466         The first name of the actor at the time this activity occurred.
3467        '''
3468        self.id = id if id is not None else ''
3469        '''
3470         Unique identifier of the actor. Immutable.
3471        '''
3472        self.last_name = last_name if last_name is not None else ''
3473        '''
3474         The last name of the actor at the time this activity occurred.
3475        '''
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)
3486    def to_dict(self):
3487        return {
3488            'activity_external_id': self.activity_external_id,
3489            'email': self.email,
3490            'first_name': self.first_name,
3491            'id': self.id,
3492            'last_name': self.last_name,
3493        }
@classmethod
def from_dict(cls, d)
3495    @classmethod
3496    def from_dict(cls, d):
3497        return cls(
3498            activity_external_id=d.get('activity_external_id'),
3499            email=d.get('email'),
3500            first_name=d.get('first_name'),
3501            id=d.get('id'),
3502            last_name=d.get('last_name'),
3503        )
class ActivityEntity:
3506class ActivityEntity:
3507    __slots__ = [
3508        'email',
3509        'external_id',
3510        'id',
3511        'name',
3512        'type',
3513    ]
3514
3515    def __init__(
3516        self,
3517        email=None,
3518        external_id=None,
3519        id=None,
3520        name=None,
3521        type=None,
3522    ):
3523        self.email = email if email is not None else ''
3524        '''
3525         The email of the affected entity, if it has one (for example, if it is an account).
3526        '''
3527        self.external_id = external_id if external_id is not None else ''
3528        '''
3529         The external ID of the affected entity, if it has one (for example, if it is an account).
3530        '''
3531        self.id = id if id is not None else ''
3532        '''
3533         The unique identifier of the entity this activity affected.
3534        '''
3535        self.name = name if name is not None else ''
3536        '''
3537         A display name representing the affected entity.
3538        '''
3539        self.type = type if type is not None else ''
3540        '''
3541         The type of entity affected, one of the ActivityEntityType constants.
3542        '''
3543
3544    def __repr__(self):
3545        return '<sdm.ActivityEntity ' + \
3546            'email: ' + repr(self.email) + ' ' +\
3547            'external_id: ' + repr(self.external_id) + ' ' +\
3548            'id: ' + repr(self.id) + ' ' +\
3549            'name: ' + repr(self.name) + ' ' +\
3550            'type: ' + repr(self.type) + ' ' +\
3551            '>'
3552
3553    def to_dict(self):
3554        return {
3555            'email': self.email,
3556            'external_id': self.external_id,
3557            'id': self.id,
3558            'name': self.name,
3559            'type': self.type,
3560        }
3561
3562    @classmethod
3563    def from_dict(cls, d):
3564        return cls(
3565            email=d.get('email'),
3566            external_id=d.get('external_id'),
3567            id=d.get('id'),
3568            name=d.get('name'),
3569            type=d.get('type'),
3570        )
ActivityEntity(email=None, external_id=None, id=None, name=None, type=None)
3515    def __init__(
3516        self,
3517        email=None,
3518        external_id=None,
3519        id=None,
3520        name=None,
3521        type=None,
3522    ):
3523        self.email = email if email is not None else ''
3524        '''
3525         The email of the affected entity, if it has one (for example, if it is an account).
3526        '''
3527        self.external_id = external_id if external_id is not None else ''
3528        '''
3529         The external ID of the affected entity, if it has one (for example, if it is an account).
3530        '''
3531        self.id = id if id is not None else ''
3532        '''
3533         The unique identifier of the entity this activity affected.
3534        '''
3535        self.name = name if name is not None else ''
3536        '''
3537         A display name representing the affected entity.
3538        '''
3539        self.type = type if type is not None else ''
3540        '''
3541         The type of entity affected, one of the ActivityEntityType constants.
3542        '''
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)
3553    def to_dict(self):
3554        return {
3555            'email': self.email,
3556            'external_id': self.external_id,
3557            'id': self.id,
3558            'name': self.name,
3559            'type': self.type,
3560        }
@classmethod
def from_dict(cls, d)
3562    @classmethod
3563    def from_dict(cls, d):
3564        return cls(
3565            email=d.get('email'),
3566            external_id=d.get('external_id'),
3567            id=d.get('id'),
3568            name=d.get('name'),
3569            type=d.get('type'),
3570        )
class ActivityGetResponse:
3573class ActivityGetResponse:
3574    '''
3575         ActivityGetResponse returns a requested Activity.
3576    '''
3577    __slots__ = [
3578        'activity',
3579        'meta',
3580        'rate_limit',
3581    ]
3582
3583    def __init__(
3584        self,
3585        activity=None,
3586        meta=None,
3587        rate_limit=None,
3588    ):
3589        self.activity = activity if activity is not None else None
3590        '''
3591         The requested Activity.
3592        '''
3593        self.meta = meta if meta is not None else None
3594        '''
3595         Reserved for future use.
3596        '''
3597        self.rate_limit = rate_limit if rate_limit is not None else None
3598        '''
3599         Rate limit information.
3600        '''
3601
3602    def __repr__(self):
3603        return '<sdm.ActivityGetResponse ' + \
3604            'activity: ' + repr(self.activity) + ' ' +\
3605            'meta: ' + repr(self.meta) + ' ' +\
3606            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3607            '>'
3608
3609    def to_dict(self):
3610        return {
3611            'activity': self.activity,
3612            'meta': self.meta,
3613            'rate_limit': self.rate_limit,
3614        }
3615
3616    @classmethod
3617    def from_dict(cls, d):
3618        return cls(
3619            activity=d.get('activity'),
3620            meta=d.get('meta'),
3621            rate_limit=d.get('rate_limit'),
3622        )

ActivityGetResponse returns a requested Activity.

ActivityGetResponse(activity=None, meta=None, rate_limit=None)
3583    def __init__(
3584        self,
3585        activity=None,
3586        meta=None,
3587        rate_limit=None,
3588    ):
3589        self.activity = activity if activity is not None else None
3590        '''
3591         The requested Activity.
3592        '''
3593        self.meta = meta if meta is not None else None
3594        '''
3595         Reserved for future use.
3596        '''
3597        self.rate_limit = rate_limit if rate_limit is not None else None
3598        '''
3599         Rate limit information.
3600        '''
activity

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3609    def to_dict(self):
3610        return {
3611            'activity': self.activity,
3612            'meta': self.meta,
3613            'rate_limit': self.rate_limit,
3614        }
@classmethod
def from_dict(cls, d)
3616    @classmethod
3617    def from_dict(cls, d):
3618        return cls(
3619            activity=d.get('activity'),
3620            meta=d.get('meta'),
3621            rate_limit=d.get('rate_limit'),
3622        )
class AmazonEKS:
3625class AmazonEKS:
3626    __slots__ = [
3627        'access_key',
3628        'allow_resource_role_bypass',
3629        'bind_interface',
3630        'certificate_authority',
3631        'cluster_name',
3632        'discovery_enabled',
3633        'discovery_username',
3634        'egress_filter',
3635        'endpoint',
3636        'healthcheck_namespace',
3637        'healthy',
3638        'id',
3639        'identity_alias_healthcheck_username',
3640        'identity_set_id',
3641        'name',
3642        'port_override',
3643        'proxy_cluster_id',
3644        'region',
3645        'role_arn',
3646        'role_external_id',
3647        'secret_access_key',
3648        'secret_store_id',
3649        'subdomain',
3650        'tags',
3651    ]
3652
3653    def __init__(
3654        self,
3655        access_key=None,
3656        allow_resource_role_bypass=None,
3657        bind_interface=None,
3658        certificate_authority=None,
3659        cluster_name=None,
3660        discovery_enabled=None,
3661        discovery_username=None,
3662        egress_filter=None,
3663        endpoint=None,
3664        healthcheck_namespace=None,
3665        healthy=None,
3666        id=None,
3667        identity_alias_healthcheck_username=None,
3668        identity_set_id=None,
3669        name=None,
3670        port_override=None,
3671        proxy_cluster_id=None,
3672        region=None,
3673        role_arn=None,
3674        role_external_id=None,
3675        secret_access_key=None,
3676        secret_store_id=None,
3677        subdomain=None,
3678        tags=None,
3679    ):
3680        self.access_key = access_key if access_key is not None else ''
3681        '''
3682         The Access Key ID to use to authenticate.
3683        '''
3684        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3685        '''
3686         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3687         when a resource role is not provided.
3688        '''
3689        self.bind_interface = bind_interface if bind_interface is not None else ''
3690        '''
3691         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3692        '''
3693        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3694        '''
3695         The CA to authenticate TLS connections with.
3696        '''
3697        self.cluster_name = cluster_name if cluster_name is not None else ''
3698        '''
3699         The name of the cluster to connect to.
3700        '''
3701        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3702        '''
3703         If true, configures discovery of a cluster to be run from a node.
3704        '''
3705        self.discovery_username = discovery_username if discovery_username is not None else ''
3706        '''
3707         If a cluster is configured for user impersonation, this is the user to impersonate when
3708         running discovery.
3709        '''
3710        self.egress_filter = egress_filter if egress_filter is not None else ''
3711        '''
3712         A filter applied to the routing logic to pin datasource to nodes.
3713        '''
3714        self.endpoint = endpoint if endpoint is not None else ''
3715        '''
3716         The endpoint to dial.
3717        '''
3718        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3719        '''
3720         The path used to check the health of your connection.  Defaults to `default`.
3721        '''
3722        self.healthy = healthy if healthy is not None else False
3723        '''
3724         True if the datasource is reachable and the credentials are valid.
3725        '''
3726        self.id = id if id is not None else ''
3727        '''
3728         Unique identifier of the Resource.
3729        '''
3730        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3731        '''
3732         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3733        '''
3734        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3735        '''
3736         The ID of the identity set to use for identity connections.
3737        '''
3738        self.name = name if name is not None else ''
3739        '''
3740         Unique human-readable name of the Resource.
3741        '''
3742        self.port_override = port_override if port_override is not None else 0
3743        '''
3744         The local port used by clients to connect to this resource.
3745        '''
3746        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3747        '''
3748         ID of the proxy cluster for this resource, if any.
3749        '''
3750        self.region = region if region is not None else ''
3751        '''
3752         The AWS region to connect to e.g. us-east-1.
3753        '''
3754        self.role_arn = role_arn if role_arn is not None else ''
3755        '''
3756         The role to assume after logging in.
3757        '''
3758        self.role_external_id = role_external_id if role_external_id is not None else ''
3759        '''
3760         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3761        '''
3762        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
3763        '''
3764         The Secret Access Key to use to authenticate.
3765        '''
3766        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3767        '''
3768         ID of the secret store containing credentials for this resource, if any.
3769        '''
3770        self.subdomain = subdomain if subdomain is not None else ''
3771        '''
3772         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3773        '''
3774        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3775        '''
3776         Tags is a map of key, value pairs.
3777        '''
3778
3779    def __repr__(self):
3780        return '<sdm.AmazonEKS ' + \
3781            'access_key: ' + repr(self.access_key) + ' ' +\
3782            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
3783            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
3784            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
3785            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
3786            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
3787            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
3788            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
3789            'endpoint: ' + repr(self.endpoint) + ' ' +\
3790            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
3791            'healthy: ' + repr(self.healthy) + ' ' +\
3792            'id: ' + repr(self.id) + ' ' +\
3793            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
3794            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
3795            'name: ' + repr(self.name) + ' ' +\
3796            'port_override: ' + repr(self.port_override) + ' ' +\
3797            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
3798            'region: ' + repr(self.region) + ' ' +\
3799            'role_arn: ' + repr(self.role_arn) + ' ' +\
3800            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
3801            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
3802            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
3803            'subdomain: ' + repr(self.subdomain) + ' ' +\
3804            'tags: ' + repr(self.tags) + ' ' +\
3805            '>'
3806
3807    def to_dict(self):
3808        return {
3809            'access_key': self.access_key,
3810            'allow_resource_role_bypass': self.allow_resource_role_bypass,
3811            'bind_interface': self.bind_interface,
3812            'certificate_authority': self.certificate_authority,
3813            'cluster_name': self.cluster_name,
3814            'discovery_enabled': self.discovery_enabled,
3815            'discovery_username': self.discovery_username,
3816            'egress_filter': self.egress_filter,
3817            'endpoint': self.endpoint,
3818            'healthcheck_namespace': self.healthcheck_namespace,
3819            'healthy': self.healthy,
3820            'id': self.id,
3821            'identity_alias_healthcheck_username':
3822            self.identity_alias_healthcheck_username,
3823            'identity_set_id': self.identity_set_id,
3824            'name': self.name,
3825            'port_override': self.port_override,
3826            'proxy_cluster_id': self.proxy_cluster_id,
3827            'region': self.region,
3828            'role_arn': self.role_arn,
3829            'role_external_id': self.role_external_id,
3830            'secret_access_key': self.secret_access_key,
3831            'secret_store_id': self.secret_store_id,
3832            'subdomain': self.subdomain,
3833            'tags': self.tags,
3834        }
3835
3836    @classmethod
3837    def from_dict(cls, d):
3838        return cls(
3839            access_key=d.get('access_key'),
3840            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
3841            bind_interface=d.get('bind_interface'),
3842            certificate_authority=d.get('certificate_authority'),
3843            cluster_name=d.get('cluster_name'),
3844            discovery_enabled=d.get('discovery_enabled'),
3845            discovery_username=d.get('discovery_username'),
3846            egress_filter=d.get('egress_filter'),
3847            endpoint=d.get('endpoint'),
3848            healthcheck_namespace=d.get('healthcheck_namespace'),
3849            healthy=d.get('healthy'),
3850            id=d.get('id'),
3851            identity_alias_healthcheck_username=d.get(
3852                'identity_alias_healthcheck_username'),
3853            identity_set_id=d.get('identity_set_id'),
3854            name=d.get('name'),
3855            port_override=d.get('port_override'),
3856            proxy_cluster_id=d.get('proxy_cluster_id'),
3857            region=d.get('region'),
3858            role_arn=d.get('role_arn'),
3859            role_external_id=d.get('role_external_id'),
3860            secret_access_key=d.get('secret_access_key'),
3861            secret_store_id=d.get('secret_store_id'),
3862            subdomain=d.get('subdomain'),
3863            tags=d.get('tags'),
3864        )
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)
3653    def __init__(
3654        self,
3655        access_key=None,
3656        allow_resource_role_bypass=None,
3657        bind_interface=None,
3658        certificate_authority=None,
3659        cluster_name=None,
3660        discovery_enabled=None,
3661        discovery_username=None,
3662        egress_filter=None,
3663        endpoint=None,
3664        healthcheck_namespace=None,
3665        healthy=None,
3666        id=None,
3667        identity_alias_healthcheck_username=None,
3668        identity_set_id=None,
3669        name=None,
3670        port_override=None,
3671        proxy_cluster_id=None,
3672        region=None,
3673        role_arn=None,
3674        role_external_id=None,
3675        secret_access_key=None,
3676        secret_store_id=None,
3677        subdomain=None,
3678        tags=None,
3679    ):
3680        self.access_key = access_key if access_key is not None else ''
3681        '''
3682         The Access Key ID to use to authenticate.
3683        '''
3684        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3685        '''
3686         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3687         when a resource role is not provided.
3688        '''
3689        self.bind_interface = bind_interface if bind_interface is not None else ''
3690        '''
3691         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3692        '''
3693        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3694        '''
3695         The CA to authenticate TLS connections with.
3696        '''
3697        self.cluster_name = cluster_name if cluster_name is not None else ''
3698        '''
3699         The name of the cluster to connect to.
3700        '''
3701        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3702        '''
3703         If true, configures discovery of a cluster to be run from a node.
3704        '''
3705        self.discovery_username = discovery_username if discovery_username is not None else ''
3706        '''
3707         If a cluster is configured for user impersonation, this is the user to impersonate when
3708         running discovery.
3709        '''
3710        self.egress_filter = egress_filter if egress_filter is not None else ''
3711        '''
3712         A filter applied to the routing logic to pin datasource to nodes.
3713        '''
3714        self.endpoint = endpoint if endpoint is not None else ''
3715        '''
3716         The endpoint to dial.
3717        '''
3718        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3719        '''
3720         The path used to check the health of your connection.  Defaults to `default`.
3721        '''
3722        self.healthy = healthy if healthy is not None else False
3723        '''
3724         True if the datasource is reachable and the credentials are valid.
3725        '''
3726        self.id = id if id is not None else ''
3727        '''
3728         Unique identifier of the Resource.
3729        '''
3730        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3731        '''
3732         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3733        '''
3734        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3735        '''
3736         The ID of the identity set to use for identity connections.
3737        '''
3738        self.name = name if name is not None else ''
3739        '''
3740         Unique human-readable name of the Resource.
3741        '''
3742        self.port_override = port_override if port_override is not None else 0
3743        '''
3744         The local port used by clients to connect to this resource.
3745        '''
3746        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3747        '''
3748         ID of the proxy cluster for this resource, if any.
3749        '''
3750        self.region = region if region is not None else ''
3751        '''
3752         The AWS region to connect to e.g. us-east-1.
3753        '''
3754        self.role_arn = role_arn if role_arn is not None else ''
3755        '''
3756         The role to assume after logging in.
3757        '''
3758        self.role_external_id = role_external_id if role_external_id is not None else ''
3759        '''
3760         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3761        '''
3762        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
3763        '''
3764         The Secret Access Key to use to authenticate.
3765        '''
3766        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3767        '''
3768         ID of the secret store containing credentials for this resource, if any.
3769        '''
3770        self.subdomain = subdomain if subdomain is not None else ''
3771        '''
3772         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3773        '''
3774        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3775        '''
3776         Tags is a map of key, value pairs.
3777        '''
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)
3807    def to_dict(self):
3808        return {
3809            'access_key': self.access_key,
3810            'allow_resource_role_bypass': self.allow_resource_role_bypass,
3811            'bind_interface': self.bind_interface,
3812            'certificate_authority': self.certificate_authority,
3813            'cluster_name': self.cluster_name,
3814            'discovery_enabled': self.discovery_enabled,
3815            'discovery_username': self.discovery_username,
3816            'egress_filter': self.egress_filter,
3817            'endpoint': self.endpoint,
3818            'healthcheck_namespace': self.healthcheck_namespace,
3819            'healthy': self.healthy,
3820            'id': self.id,
3821            'identity_alias_healthcheck_username':
3822            self.identity_alias_healthcheck_username,
3823            'identity_set_id': self.identity_set_id,
3824            'name': self.name,
3825            'port_override': self.port_override,
3826            'proxy_cluster_id': self.proxy_cluster_id,
3827            'region': self.region,
3828            'role_arn': self.role_arn,
3829            'role_external_id': self.role_external_id,
3830            'secret_access_key': self.secret_access_key,
3831            'secret_store_id': self.secret_store_id,
3832            'subdomain': self.subdomain,
3833            'tags': self.tags,
3834        }
@classmethod
def from_dict(cls, d)
3836    @classmethod
3837    def from_dict(cls, d):
3838        return cls(
3839            access_key=d.get('access_key'),
3840            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
3841            bind_interface=d.get('bind_interface'),
3842            certificate_authority=d.get('certificate_authority'),
3843            cluster_name=d.get('cluster_name'),
3844            discovery_enabled=d.get('discovery_enabled'),
3845            discovery_username=d.get('discovery_username'),
3846            egress_filter=d.get('egress_filter'),
3847            endpoint=d.get('endpoint'),
3848            healthcheck_namespace=d.get('healthcheck_namespace'),
3849            healthy=d.get('healthy'),
3850            id=d.get('id'),
3851            identity_alias_healthcheck_username=d.get(
3852                'identity_alias_healthcheck_username'),
3853            identity_set_id=d.get('identity_set_id'),
3854            name=d.get('name'),
3855            port_override=d.get('port_override'),
3856            proxy_cluster_id=d.get('proxy_cluster_id'),
3857            region=d.get('region'),
3858            role_arn=d.get('role_arn'),
3859            role_external_id=d.get('role_external_id'),
3860            secret_access_key=d.get('secret_access_key'),
3861            secret_store_id=d.get('secret_store_id'),
3862            subdomain=d.get('subdomain'),
3863            tags=d.get('tags'),
3864        )
class AmazonEKSInstanceProfile:
3867class AmazonEKSInstanceProfile:
3868    __slots__ = [
3869        'allow_resource_role_bypass',
3870        'bind_interface',
3871        'certificate_authority',
3872        'cluster_name',
3873        'discovery_enabled',
3874        'discovery_username',
3875        'egress_filter',
3876        'endpoint',
3877        'healthcheck_namespace',
3878        'healthy',
3879        'id',
3880        'identity_alias_healthcheck_username',
3881        'identity_set_id',
3882        'name',
3883        'port_override',
3884        'proxy_cluster_id',
3885        'region',
3886        'role_arn',
3887        'role_external_id',
3888        'secret_store_id',
3889        'subdomain',
3890        'tags',
3891    ]
3892
3893    def __init__(
3894        self,
3895        allow_resource_role_bypass=None,
3896        bind_interface=None,
3897        certificate_authority=None,
3898        cluster_name=None,
3899        discovery_enabled=None,
3900        discovery_username=None,
3901        egress_filter=None,
3902        endpoint=None,
3903        healthcheck_namespace=None,
3904        healthy=None,
3905        id=None,
3906        identity_alias_healthcheck_username=None,
3907        identity_set_id=None,
3908        name=None,
3909        port_override=None,
3910        proxy_cluster_id=None,
3911        region=None,
3912        role_arn=None,
3913        role_external_id=None,
3914        secret_store_id=None,
3915        subdomain=None,
3916        tags=None,
3917    ):
3918        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3919        '''
3920         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3921         when a resource role is not provided.
3922        '''
3923        self.bind_interface = bind_interface if bind_interface is not None else ''
3924        '''
3925         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3926        '''
3927        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3928        '''
3929         The CA to authenticate TLS connections with.
3930        '''
3931        self.cluster_name = cluster_name if cluster_name is not None else ''
3932        '''
3933         The name of the cluster to connect to.
3934        '''
3935        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3936        '''
3937         If true, configures discovery of a cluster to be run from a node.
3938        '''
3939        self.discovery_username = discovery_username if discovery_username is not None else ''
3940        '''
3941         If a cluster is configured for user impersonation, this is the user to impersonate when
3942         running discovery.
3943        '''
3944        self.egress_filter = egress_filter if egress_filter is not None else ''
3945        '''
3946         A filter applied to the routing logic to pin datasource to nodes.
3947        '''
3948        self.endpoint = endpoint if endpoint is not None else ''
3949        '''
3950         The endpoint to dial.
3951        '''
3952        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3953        '''
3954         The path used to check the health of your connection.  Defaults to `default`.
3955        '''
3956        self.healthy = healthy if healthy is not None else False
3957        '''
3958         True if the datasource is reachable and the credentials are valid.
3959        '''
3960        self.id = id if id is not None else ''
3961        '''
3962         Unique identifier of the Resource.
3963        '''
3964        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3965        '''
3966         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3967        '''
3968        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3969        '''
3970         The ID of the identity set to use for identity connections.
3971        '''
3972        self.name = name if name is not None else ''
3973        '''
3974         Unique human-readable name of the Resource.
3975        '''
3976        self.port_override = port_override if port_override is not None else 0
3977        '''
3978         The local port used by clients to connect to this resource.
3979        '''
3980        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3981        '''
3982         ID of the proxy cluster for this resource, if any.
3983        '''
3984        self.region = region if region is not None else ''
3985        '''
3986         The AWS region to connect to e.g. us-east-1.
3987        '''
3988        self.role_arn = role_arn if role_arn is not None else ''
3989        '''
3990         The role to assume after logging in.
3991        '''
3992        self.role_external_id = role_external_id if role_external_id is not None else ''
3993        '''
3994         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3995        '''
3996        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3997        '''
3998         ID of the secret store containing credentials for this resource, if any.
3999        '''
4000        self.subdomain = subdomain if subdomain is not None else ''
4001        '''
4002         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4003        '''
4004        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4005        '''
4006         Tags is a map of key, value pairs.
4007        '''
4008
4009    def __repr__(self):
4010        return '<sdm.AmazonEKSInstanceProfile ' + \
4011            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4012            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4013            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4014            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4015            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4016            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4017            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4018            'endpoint: ' + repr(self.endpoint) + ' ' +\
4019            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4020            'healthy: ' + repr(self.healthy) + ' ' +\
4021            'id: ' + repr(self.id) + ' ' +\
4022            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
4023            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
4024            'name: ' + repr(self.name) + ' ' +\
4025            'port_override: ' + repr(self.port_override) + ' ' +\
4026            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4027            'region: ' + repr(self.region) + ' ' +\
4028            'role_arn: ' + repr(self.role_arn) + ' ' +\
4029            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4030            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4031            'subdomain: ' + repr(self.subdomain) + ' ' +\
4032            'tags: ' + repr(self.tags) + ' ' +\
4033            '>'
4034
4035    def to_dict(self):
4036        return {
4037            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4038            'bind_interface': self.bind_interface,
4039            'certificate_authority': self.certificate_authority,
4040            'cluster_name': self.cluster_name,
4041            'discovery_enabled': self.discovery_enabled,
4042            'discovery_username': self.discovery_username,
4043            'egress_filter': self.egress_filter,
4044            'endpoint': self.endpoint,
4045            'healthcheck_namespace': self.healthcheck_namespace,
4046            'healthy': self.healthy,
4047            'id': self.id,
4048            'identity_alias_healthcheck_username':
4049            self.identity_alias_healthcheck_username,
4050            'identity_set_id': self.identity_set_id,
4051            'name': self.name,
4052            'port_override': self.port_override,
4053            'proxy_cluster_id': self.proxy_cluster_id,
4054            'region': self.region,
4055            'role_arn': self.role_arn,
4056            'role_external_id': self.role_external_id,
4057            'secret_store_id': self.secret_store_id,
4058            'subdomain': self.subdomain,
4059            'tags': self.tags,
4060        }
4061
4062    @classmethod
4063    def from_dict(cls, d):
4064        return cls(
4065            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4066            bind_interface=d.get('bind_interface'),
4067            certificate_authority=d.get('certificate_authority'),
4068            cluster_name=d.get('cluster_name'),
4069            discovery_enabled=d.get('discovery_enabled'),
4070            discovery_username=d.get('discovery_username'),
4071            egress_filter=d.get('egress_filter'),
4072            endpoint=d.get('endpoint'),
4073            healthcheck_namespace=d.get('healthcheck_namespace'),
4074            healthy=d.get('healthy'),
4075            id=d.get('id'),
4076            identity_alias_healthcheck_username=d.get(
4077                'identity_alias_healthcheck_username'),
4078            identity_set_id=d.get('identity_set_id'),
4079            name=d.get('name'),
4080            port_override=d.get('port_override'),
4081            proxy_cluster_id=d.get('proxy_cluster_id'),
4082            region=d.get('region'),
4083            role_arn=d.get('role_arn'),
4084            role_external_id=d.get('role_external_id'),
4085            secret_store_id=d.get('secret_store_id'),
4086            subdomain=d.get('subdomain'),
4087            tags=d.get('tags'),
4088        )
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)
3893    def __init__(
3894        self,
3895        allow_resource_role_bypass=None,
3896        bind_interface=None,
3897        certificate_authority=None,
3898        cluster_name=None,
3899        discovery_enabled=None,
3900        discovery_username=None,
3901        egress_filter=None,
3902        endpoint=None,
3903        healthcheck_namespace=None,
3904        healthy=None,
3905        id=None,
3906        identity_alias_healthcheck_username=None,
3907        identity_set_id=None,
3908        name=None,
3909        port_override=None,
3910        proxy_cluster_id=None,
3911        region=None,
3912        role_arn=None,
3913        role_external_id=None,
3914        secret_store_id=None,
3915        subdomain=None,
3916        tags=None,
3917    ):
3918        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3919        '''
3920         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3921         when a resource role is not provided.
3922        '''
3923        self.bind_interface = bind_interface if bind_interface is not None else ''
3924        '''
3925         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3926        '''
3927        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3928        '''
3929         The CA to authenticate TLS connections with.
3930        '''
3931        self.cluster_name = cluster_name if cluster_name is not None else ''
3932        '''
3933         The name of the cluster to connect to.
3934        '''
3935        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3936        '''
3937         If true, configures discovery of a cluster to be run from a node.
3938        '''
3939        self.discovery_username = discovery_username if discovery_username is not None else ''
3940        '''
3941         If a cluster is configured for user impersonation, this is the user to impersonate when
3942         running discovery.
3943        '''
3944        self.egress_filter = egress_filter if egress_filter is not None else ''
3945        '''
3946         A filter applied to the routing logic to pin datasource to nodes.
3947        '''
3948        self.endpoint = endpoint if endpoint is not None else ''
3949        '''
3950         The endpoint to dial.
3951        '''
3952        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3953        '''
3954         The path used to check the health of your connection.  Defaults to `default`.
3955        '''
3956        self.healthy = healthy if healthy is not None else False
3957        '''
3958         True if the datasource is reachable and the credentials are valid.
3959        '''
3960        self.id = id if id is not None else ''
3961        '''
3962         Unique identifier of the Resource.
3963        '''
3964        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3965        '''
3966         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3967        '''
3968        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3969        '''
3970         The ID of the identity set to use for identity connections.
3971        '''
3972        self.name = name if name is not None else ''
3973        '''
3974         Unique human-readable name of the Resource.
3975        '''
3976        self.port_override = port_override if port_override is not None else 0
3977        '''
3978         The local port used by clients to connect to this resource.
3979        '''
3980        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3981        '''
3982         ID of the proxy cluster for this resource, if any.
3983        '''
3984        self.region = region if region is not None else ''
3985        '''
3986         The AWS region to connect to e.g. us-east-1.
3987        '''
3988        self.role_arn = role_arn if role_arn is not None else ''
3989        '''
3990         The role to assume after logging in.
3991        '''
3992        self.role_external_id = role_external_id if role_external_id is not None else ''
3993        '''
3994         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3995        '''
3996        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3997        '''
3998         ID of the secret store containing credentials for this resource, if any.
3999        '''
4000        self.subdomain = subdomain if subdomain is not None else ''
4001        '''
4002         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4003        '''
4004        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4005        '''
4006         Tags is a map of key, value pairs.
4007        '''
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)
4035    def to_dict(self):
4036        return {
4037            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4038            'bind_interface': self.bind_interface,
4039            'certificate_authority': self.certificate_authority,
4040            'cluster_name': self.cluster_name,
4041            'discovery_enabled': self.discovery_enabled,
4042            'discovery_username': self.discovery_username,
4043            'egress_filter': self.egress_filter,
4044            'endpoint': self.endpoint,
4045            'healthcheck_namespace': self.healthcheck_namespace,
4046            'healthy': self.healthy,
4047            'id': self.id,
4048            'identity_alias_healthcheck_username':
4049            self.identity_alias_healthcheck_username,
4050            'identity_set_id': self.identity_set_id,
4051            'name': self.name,
4052            'port_override': self.port_override,
4053            'proxy_cluster_id': self.proxy_cluster_id,
4054            'region': self.region,
4055            'role_arn': self.role_arn,
4056            'role_external_id': self.role_external_id,
4057            'secret_store_id': self.secret_store_id,
4058            'subdomain': self.subdomain,
4059            'tags': self.tags,
4060        }
@classmethod
def from_dict(cls, d)
4062    @classmethod
4063    def from_dict(cls, d):
4064        return cls(
4065            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4066            bind_interface=d.get('bind_interface'),
4067            certificate_authority=d.get('certificate_authority'),
4068            cluster_name=d.get('cluster_name'),
4069            discovery_enabled=d.get('discovery_enabled'),
4070            discovery_username=d.get('discovery_username'),
4071            egress_filter=d.get('egress_filter'),
4072            endpoint=d.get('endpoint'),
4073            healthcheck_namespace=d.get('healthcheck_namespace'),
4074            healthy=d.get('healthy'),
4075            id=d.get('id'),
4076            identity_alias_healthcheck_username=d.get(
4077                'identity_alias_healthcheck_username'),
4078            identity_set_id=d.get('identity_set_id'),
4079            name=d.get('name'),
4080            port_override=d.get('port_override'),
4081            proxy_cluster_id=d.get('proxy_cluster_id'),
4082            region=d.get('region'),
4083            role_arn=d.get('role_arn'),
4084            role_external_id=d.get('role_external_id'),
4085            secret_store_id=d.get('secret_store_id'),
4086            subdomain=d.get('subdomain'),
4087            tags=d.get('tags'),
4088        )
class AmazonEKSInstanceProfileUserImpersonation:
4091class AmazonEKSInstanceProfileUserImpersonation:
4092    __slots__ = [
4093        'bind_interface',
4094        'certificate_authority',
4095        'cluster_name',
4096        'egress_filter',
4097        'endpoint',
4098        'healthcheck_namespace',
4099        'healthy',
4100        'id',
4101        'name',
4102        'port_override',
4103        'proxy_cluster_id',
4104        'region',
4105        'role_arn',
4106        'role_external_id',
4107        'secret_store_id',
4108        'subdomain',
4109        'tags',
4110    ]
4111
4112    def __init__(
4113        self,
4114        bind_interface=None,
4115        certificate_authority=None,
4116        cluster_name=None,
4117        egress_filter=None,
4118        endpoint=None,
4119        healthcheck_namespace=None,
4120        healthy=None,
4121        id=None,
4122        name=None,
4123        port_override=None,
4124        proxy_cluster_id=None,
4125        region=None,
4126        role_arn=None,
4127        role_external_id=None,
4128        secret_store_id=None,
4129        subdomain=None,
4130        tags=None,
4131    ):
4132        self.bind_interface = bind_interface if bind_interface is not None else ''
4133        '''
4134         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4135        '''
4136        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4137        '''
4138         The CA to authenticate TLS connections with.
4139        '''
4140        self.cluster_name = cluster_name if cluster_name is not None else ''
4141        '''
4142         The name of the cluster to connect to.
4143        '''
4144        self.egress_filter = egress_filter if egress_filter is not None else ''
4145        '''
4146         A filter applied to the routing logic to pin datasource to nodes.
4147        '''
4148        self.endpoint = endpoint if endpoint is not None else ''
4149        '''
4150         The endpoint to dial.
4151        '''
4152        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4153        '''
4154         The path used to check the health of your connection.  Defaults to `default`.
4155        '''
4156        self.healthy = healthy if healthy is not None else False
4157        '''
4158         True if the datasource is reachable and the credentials are valid.
4159        '''
4160        self.id = id if id is not None else ''
4161        '''
4162         Unique identifier of the Resource.
4163        '''
4164        self.name = name if name is not None else ''
4165        '''
4166         Unique human-readable name of the Resource.
4167        '''
4168        self.port_override = port_override if port_override is not None else 0
4169        '''
4170         The local port used by clients to connect to this resource.
4171        '''
4172        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4173        '''
4174         ID of the proxy cluster for this resource, if any.
4175        '''
4176        self.region = region if region is not None else ''
4177        '''
4178         The AWS region to connect to e.g. us-east-1.
4179        '''
4180        self.role_arn = role_arn if role_arn is not None else ''
4181        '''
4182         The role to assume after logging in.
4183        '''
4184        self.role_external_id = role_external_id if role_external_id is not None else ''
4185        '''
4186         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4187        '''
4188        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4189        '''
4190         ID of the secret store containing credentials for this resource, if any.
4191        '''
4192        self.subdomain = subdomain if subdomain is not None else ''
4193        '''
4194         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4195        '''
4196        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4197        '''
4198         Tags is a map of key, value pairs.
4199        '''
4200
4201    def __repr__(self):
4202        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
4203            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4204            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4205            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4206            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4207            'endpoint: ' + repr(self.endpoint) + ' ' +\
4208            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4209            'healthy: ' + repr(self.healthy) + ' ' +\
4210            'id: ' + repr(self.id) + ' ' +\
4211            'name: ' + repr(self.name) + ' ' +\
4212            'port_override: ' + repr(self.port_override) + ' ' +\
4213            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4214            'region: ' + repr(self.region) + ' ' +\
4215            'role_arn: ' + repr(self.role_arn) + ' ' +\
4216            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4217            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4218            'subdomain: ' + repr(self.subdomain) + ' ' +\
4219            'tags: ' + repr(self.tags) + ' ' +\
4220            '>'
4221
4222    def to_dict(self):
4223        return {
4224            'bind_interface': self.bind_interface,
4225            'certificate_authority': self.certificate_authority,
4226            'cluster_name': self.cluster_name,
4227            'egress_filter': self.egress_filter,
4228            'endpoint': self.endpoint,
4229            'healthcheck_namespace': self.healthcheck_namespace,
4230            'healthy': self.healthy,
4231            'id': self.id,
4232            'name': self.name,
4233            'port_override': self.port_override,
4234            'proxy_cluster_id': self.proxy_cluster_id,
4235            'region': self.region,
4236            'role_arn': self.role_arn,
4237            'role_external_id': self.role_external_id,
4238            'secret_store_id': self.secret_store_id,
4239            'subdomain': self.subdomain,
4240            'tags': self.tags,
4241        }
4242
4243    @classmethod
4244    def from_dict(cls, d):
4245        return cls(
4246            bind_interface=d.get('bind_interface'),
4247            certificate_authority=d.get('certificate_authority'),
4248            cluster_name=d.get('cluster_name'),
4249            egress_filter=d.get('egress_filter'),
4250            endpoint=d.get('endpoint'),
4251            healthcheck_namespace=d.get('healthcheck_namespace'),
4252            healthy=d.get('healthy'),
4253            id=d.get('id'),
4254            name=d.get('name'),
4255            port_override=d.get('port_override'),
4256            proxy_cluster_id=d.get('proxy_cluster_id'),
4257            region=d.get('region'),
4258            role_arn=d.get('role_arn'),
4259            role_external_id=d.get('role_external_id'),
4260            secret_store_id=d.get('secret_store_id'),
4261            subdomain=d.get('subdomain'),
4262            tags=d.get('tags'),
4263        )
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)
4112    def __init__(
4113        self,
4114        bind_interface=None,
4115        certificate_authority=None,
4116        cluster_name=None,
4117        egress_filter=None,
4118        endpoint=None,
4119        healthcheck_namespace=None,
4120        healthy=None,
4121        id=None,
4122        name=None,
4123        port_override=None,
4124        proxy_cluster_id=None,
4125        region=None,
4126        role_arn=None,
4127        role_external_id=None,
4128        secret_store_id=None,
4129        subdomain=None,
4130        tags=None,
4131    ):
4132        self.bind_interface = bind_interface if bind_interface is not None else ''
4133        '''
4134         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4135        '''
4136        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4137        '''
4138         The CA to authenticate TLS connections with.
4139        '''
4140        self.cluster_name = cluster_name if cluster_name is not None else ''
4141        '''
4142         The name of the cluster to connect to.
4143        '''
4144        self.egress_filter = egress_filter if egress_filter is not None else ''
4145        '''
4146         A filter applied to the routing logic to pin datasource to nodes.
4147        '''
4148        self.endpoint = endpoint if endpoint is not None else ''
4149        '''
4150         The endpoint to dial.
4151        '''
4152        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4153        '''
4154         The path used to check the health of your connection.  Defaults to `default`.
4155        '''
4156        self.healthy = healthy if healthy is not None else False
4157        '''
4158         True if the datasource is reachable and the credentials are valid.
4159        '''
4160        self.id = id if id is not None else ''
4161        '''
4162         Unique identifier of the Resource.
4163        '''
4164        self.name = name if name is not None else ''
4165        '''
4166         Unique human-readable name of the Resource.
4167        '''
4168        self.port_override = port_override if port_override is not None else 0
4169        '''
4170         The local port used by clients to connect to this resource.
4171        '''
4172        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4173        '''
4174         ID of the proxy cluster for this resource, if any.
4175        '''
4176        self.region = region if region is not None else ''
4177        '''
4178         The AWS region to connect to e.g. us-east-1.
4179        '''
4180        self.role_arn = role_arn if role_arn is not None else ''
4181        '''
4182         The role to assume after logging in.
4183        '''
4184        self.role_external_id = role_external_id if role_external_id is not None else ''
4185        '''
4186         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4187        '''
4188        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4189        '''
4190         ID of the secret store containing credentials for this resource, if any.
4191        '''
4192        self.subdomain = subdomain if subdomain is not None else ''
4193        '''
4194         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4195        '''
4196        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4197        '''
4198         Tags is a map of key, value pairs.
4199        '''
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)
4222    def to_dict(self):
4223        return {
4224            'bind_interface': self.bind_interface,
4225            'certificate_authority': self.certificate_authority,
4226            'cluster_name': self.cluster_name,
4227            'egress_filter': self.egress_filter,
4228            'endpoint': self.endpoint,
4229            'healthcheck_namespace': self.healthcheck_namespace,
4230            'healthy': self.healthy,
4231            'id': self.id,
4232            'name': self.name,
4233            'port_override': self.port_override,
4234            'proxy_cluster_id': self.proxy_cluster_id,
4235            'region': self.region,
4236            'role_arn': self.role_arn,
4237            'role_external_id': self.role_external_id,
4238            'secret_store_id': self.secret_store_id,
4239            'subdomain': self.subdomain,
4240            'tags': self.tags,
4241        }
@classmethod
def from_dict(cls, d)
4243    @classmethod
4244    def from_dict(cls, d):
4245        return cls(
4246            bind_interface=d.get('bind_interface'),
4247            certificate_authority=d.get('certificate_authority'),
4248            cluster_name=d.get('cluster_name'),
4249            egress_filter=d.get('egress_filter'),
4250            endpoint=d.get('endpoint'),
4251            healthcheck_namespace=d.get('healthcheck_namespace'),
4252            healthy=d.get('healthy'),
4253            id=d.get('id'),
4254            name=d.get('name'),
4255            port_override=d.get('port_override'),
4256            proxy_cluster_id=d.get('proxy_cluster_id'),
4257            region=d.get('region'),
4258            role_arn=d.get('role_arn'),
4259            role_external_id=d.get('role_external_id'),
4260            secret_store_id=d.get('secret_store_id'),
4261            subdomain=d.get('subdomain'),
4262            tags=d.get('tags'),
4263        )
class AmazonEKSUserImpersonation:
4266class AmazonEKSUserImpersonation:
4267    __slots__ = [
4268        'access_key',
4269        'bind_interface',
4270        'certificate_authority',
4271        'cluster_name',
4272        'egress_filter',
4273        'endpoint',
4274        'healthcheck_namespace',
4275        'healthy',
4276        'id',
4277        'name',
4278        'port_override',
4279        'proxy_cluster_id',
4280        'region',
4281        'role_arn',
4282        'role_external_id',
4283        'secret_access_key',
4284        'secret_store_id',
4285        'subdomain',
4286        'tags',
4287    ]
4288
4289    def __init__(
4290        self,
4291        access_key=None,
4292        bind_interface=None,
4293        certificate_authority=None,
4294        cluster_name=None,
4295        egress_filter=None,
4296        endpoint=None,
4297        healthcheck_namespace=None,
4298        healthy=None,
4299        id=None,
4300        name=None,
4301        port_override=None,
4302        proxy_cluster_id=None,
4303        region=None,
4304        role_arn=None,
4305        role_external_id=None,
4306        secret_access_key=None,
4307        secret_store_id=None,
4308        subdomain=None,
4309        tags=None,
4310    ):
4311        self.access_key = access_key if access_key is not None else ''
4312        '''
4313         The Access Key ID to use to authenticate.
4314        '''
4315        self.bind_interface = bind_interface if bind_interface is not None else ''
4316        '''
4317         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4318        '''
4319        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4320        '''
4321         The CA to authenticate TLS connections with.
4322        '''
4323        self.cluster_name = cluster_name if cluster_name is not None else ''
4324        '''
4325         The name of the cluster to connect to.
4326        '''
4327        self.egress_filter = egress_filter if egress_filter is not None else ''
4328        '''
4329         A filter applied to the routing logic to pin datasource to nodes.
4330        '''
4331        self.endpoint = endpoint if endpoint is not None else ''
4332        '''
4333         The endpoint to dial.
4334        '''
4335        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4336        '''
4337         The path used to check the health of your connection.  Defaults to `default`.
4338        '''
4339        self.healthy = healthy if healthy is not None else False
4340        '''
4341         True if the datasource is reachable and the credentials are valid.
4342        '''
4343        self.id = id if id is not None else ''
4344        '''
4345         Unique identifier of the Resource.
4346        '''
4347        self.name = name if name is not None else ''
4348        '''
4349         Unique human-readable name of the Resource.
4350        '''
4351        self.port_override = port_override if port_override is not None else 0
4352        '''
4353         The local port used by clients to connect to this resource.
4354        '''
4355        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4356        '''
4357         ID of the proxy cluster for this resource, if any.
4358        '''
4359        self.region = region if region is not None else ''
4360        '''
4361         The AWS region to connect to e.g. us-east-1.
4362        '''
4363        self.role_arn = role_arn if role_arn is not None else ''
4364        '''
4365         The role to assume after logging in.
4366        '''
4367        self.role_external_id = role_external_id if role_external_id is not None else ''
4368        '''
4369         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4370        '''
4371        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4372        '''
4373         The Secret Access Key to use to authenticate.
4374        '''
4375        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4376        '''
4377         ID of the secret store containing credentials for this resource, if any.
4378        '''
4379        self.subdomain = subdomain if subdomain is not None else ''
4380        '''
4381         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4382        '''
4383        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4384        '''
4385         Tags is a map of key, value pairs.
4386        '''
4387
4388    def __repr__(self):
4389        return '<sdm.AmazonEKSUserImpersonation ' + \
4390            'access_key: ' + repr(self.access_key) + ' ' +\
4391            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4392            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4393            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4394            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4395            'endpoint: ' + repr(self.endpoint) + ' ' +\
4396            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4397            'healthy: ' + repr(self.healthy) + ' ' +\
4398            'id: ' + repr(self.id) + ' ' +\
4399            'name: ' + repr(self.name) + ' ' +\
4400            'port_override: ' + repr(self.port_override) + ' ' +\
4401            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4402            'region: ' + repr(self.region) + ' ' +\
4403            'role_arn: ' + repr(self.role_arn) + ' ' +\
4404            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4405            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4406            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4407            'subdomain: ' + repr(self.subdomain) + ' ' +\
4408            'tags: ' + repr(self.tags) + ' ' +\
4409            '>'
4410
4411    def to_dict(self):
4412        return {
4413            'access_key': self.access_key,
4414            'bind_interface': self.bind_interface,
4415            'certificate_authority': self.certificate_authority,
4416            'cluster_name': self.cluster_name,
4417            'egress_filter': self.egress_filter,
4418            'endpoint': self.endpoint,
4419            'healthcheck_namespace': self.healthcheck_namespace,
4420            'healthy': self.healthy,
4421            'id': self.id,
4422            'name': self.name,
4423            'port_override': self.port_override,
4424            'proxy_cluster_id': self.proxy_cluster_id,
4425            'region': self.region,
4426            'role_arn': self.role_arn,
4427            'role_external_id': self.role_external_id,
4428            'secret_access_key': self.secret_access_key,
4429            'secret_store_id': self.secret_store_id,
4430            'subdomain': self.subdomain,
4431            'tags': self.tags,
4432        }
4433
4434    @classmethod
4435    def from_dict(cls, d):
4436        return cls(
4437            access_key=d.get('access_key'),
4438            bind_interface=d.get('bind_interface'),
4439            certificate_authority=d.get('certificate_authority'),
4440            cluster_name=d.get('cluster_name'),
4441            egress_filter=d.get('egress_filter'),
4442            endpoint=d.get('endpoint'),
4443            healthcheck_namespace=d.get('healthcheck_namespace'),
4444            healthy=d.get('healthy'),
4445            id=d.get('id'),
4446            name=d.get('name'),
4447            port_override=d.get('port_override'),
4448            proxy_cluster_id=d.get('proxy_cluster_id'),
4449            region=d.get('region'),
4450            role_arn=d.get('role_arn'),
4451            role_external_id=d.get('role_external_id'),
4452            secret_access_key=d.get('secret_access_key'),
4453            secret_store_id=d.get('secret_store_id'),
4454            subdomain=d.get('subdomain'),
4455            tags=d.get('tags'),
4456        )
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)
4289    def __init__(
4290        self,
4291        access_key=None,
4292        bind_interface=None,
4293        certificate_authority=None,
4294        cluster_name=None,
4295        egress_filter=None,
4296        endpoint=None,
4297        healthcheck_namespace=None,
4298        healthy=None,
4299        id=None,
4300        name=None,
4301        port_override=None,
4302        proxy_cluster_id=None,
4303        region=None,
4304        role_arn=None,
4305        role_external_id=None,
4306        secret_access_key=None,
4307        secret_store_id=None,
4308        subdomain=None,
4309        tags=None,
4310    ):
4311        self.access_key = access_key if access_key is not None else ''
4312        '''
4313         The Access Key ID to use to authenticate.
4314        '''
4315        self.bind_interface = bind_interface if bind_interface is not None else ''
4316        '''
4317         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4318        '''
4319        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4320        '''
4321         The CA to authenticate TLS connections with.
4322        '''
4323        self.cluster_name = cluster_name if cluster_name is not None else ''
4324        '''
4325         The name of the cluster to connect to.
4326        '''
4327        self.egress_filter = egress_filter if egress_filter is not None else ''
4328        '''
4329         A filter applied to the routing logic to pin datasource to nodes.
4330        '''
4331        self.endpoint = endpoint if endpoint is not None else ''
4332        '''
4333         The endpoint to dial.
4334        '''
4335        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4336        '''
4337         The path used to check the health of your connection.  Defaults to `default`.
4338        '''
4339        self.healthy = healthy if healthy is not None else False
4340        '''
4341         True if the datasource is reachable and the credentials are valid.
4342        '''
4343        self.id = id if id is not None else ''
4344        '''
4345         Unique identifier of the Resource.
4346        '''
4347        self.name = name if name is not None else ''
4348        '''
4349         Unique human-readable name of the Resource.
4350        '''
4351        self.port_override = port_override if port_override is not None else 0
4352        '''
4353         The local port used by clients to connect to this resource.
4354        '''
4355        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4356        '''
4357         ID of the proxy cluster for this resource, if any.
4358        '''
4359        self.region = region if region is not None else ''
4360        '''
4361         The AWS region to connect to e.g. us-east-1.
4362        '''
4363        self.role_arn = role_arn if role_arn is not None else ''
4364        '''
4365         The role to assume after logging in.
4366        '''
4367        self.role_external_id = role_external_id if role_external_id is not None else ''
4368        '''
4369         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4370        '''
4371        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4372        '''
4373         The Secret Access Key to use to authenticate.
4374        '''
4375        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4376        '''
4377         ID of the secret store containing credentials for this resource, if any.
4378        '''
4379        self.subdomain = subdomain if subdomain is not None else ''
4380        '''
4381         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4382        '''
4383        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4384        '''
4385         Tags is a map of key, value pairs.
4386        '''
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)
4411    def to_dict(self):
4412        return {
4413            'access_key': self.access_key,
4414            'bind_interface': self.bind_interface,
4415            'certificate_authority': self.certificate_authority,
4416            'cluster_name': self.cluster_name,
4417            'egress_filter': self.egress_filter,
4418            'endpoint': self.endpoint,
4419            'healthcheck_namespace': self.healthcheck_namespace,
4420            'healthy': self.healthy,
4421            'id': self.id,
4422            'name': self.name,
4423            'port_override': self.port_override,
4424            'proxy_cluster_id': self.proxy_cluster_id,
4425            'region': self.region,
4426            'role_arn': self.role_arn,
4427            'role_external_id': self.role_external_id,
4428            'secret_access_key': self.secret_access_key,
4429            'secret_store_id': self.secret_store_id,
4430            'subdomain': self.subdomain,
4431            'tags': self.tags,
4432        }
@classmethod
def from_dict(cls, d)
4434    @classmethod
4435    def from_dict(cls, d):
4436        return cls(
4437            access_key=d.get('access_key'),
4438            bind_interface=d.get('bind_interface'),
4439            certificate_authority=d.get('certificate_authority'),
4440            cluster_name=d.get('cluster_name'),
4441            egress_filter=d.get('egress_filter'),
4442            endpoint=d.get('endpoint'),
4443            healthcheck_namespace=d.get('healthcheck_namespace'),
4444            healthy=d.get('healthy'),
4445            id=d.get('id'),
4446            name=d.get('name'),
4447            port_override=d.get('port_override'),
4448            proxy_cluster_id=d.get('proxy_cluster_id'),
4449            region=d.get('region'),
4450            role_arn=d.get('role_arn'),
4451            role_external_id=d.get('role_external_id'),
4452            secret_access_key=d.get('secret_access_key'),
4453            secret_store_id=d.get('secret_store_id'),
4454            subdomain=d.get('subdomain'),
4455            tags=d.get('tags'),
4456        )
class AmazonES:
4459class AmazonES:
4460    __slots__ = [
4461        'access_key',
4462        'bind_interface',
4463        'egress_filter',
4464        'endpoint',
4465        'healthy',
4466        'id',
4467        'name',
4468        'port_override',
4469        'proxy_cluster_id',
4470        'region',
4471        'role_arn',
4472        'role_external_id',
4473        'secret_access_key',
4474        'secret_store_id',
4475        'subdomain',
4476        'tags',
4477    ]
4478
4479    def __init__(
4480        self,
4481        access_key=None,
4482        bind_interface=None,
4483        egress_filter=None,
4484        endpoint=None,
4485        healthy=None,
4486        id=None,
4487        name=None,
4488        port_override=None,
4489        proxy_cluster_id=None,
4490        region=None,
4491        role_arn=None,
4492        role_external_id=None,
4493        secret_access_key=None,
4494        secret_store_id=None,
4495        subdomain=None,
4496        tags=None,
4497    ):
4498        self.access_key = access_key if access_key is not None else ''
4499        '''
4500         The Access Key ID to use to authenticate.
4501        '''
4502        self.bind_interface = bind_interface if bind_interface is not None else ''
4503        '''
4504         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4505        '''
4506        self.egress_filter = egress_filter if egress_filter is not None else ''
4507        '''
4508         A filter applied to the routing logic to pin datasource to nodes.
4509        '''
4510        self.endpoint = endpoint if endpoint is not None else ''
4511        '''
4512         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4513        '''
4514        self.healthy = healthy if healthy is not None else False
4515        '''
4516         True if the datasource is reachable and the credentials are valid.
4517        '''
4518        self.id = id if id is not None else ''
4519        '''
4520         Unique identifier of the Resource.
4521        '''
4522        self.name = name if name is not None else ''
4523        '''
4524         Unique human-readable name of the Resource.
4525        '''
4526        self.port_override = port_override if port_override is not None else 0
4527        '''
4528         The local port used by clients to connect to this resource.
4529        '''
4530        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4531        '''
4532         ID of the proxy cluster for this resource, if any.
4533        '''
4534        self.region = region if region is not None else ''
4535        '''
4536         The AWS region to connect to e.g. us-east-1.
4537        '''
4538        self.role_arn = role_arn if role_arn is not None else ''
4539        '''
4540         The role to assume after logging in.
4541        '''
4542        self.role_external_id = role_external_id if role_external_id is not None else ''
4543        '''
4544         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4545        '''
4546        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4547        '''
4548         The Secret Access Key to use to authenticate.
4549        '''
4550        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4551        '''
4552         ID of the secret store containing credentials for this resource, if any.
4553        '''
4554        self.subdomain = subdomain if subdomain is not None else ''
4555        '''
4556         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4557        '''
4558        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4559        '''
4560         Tags is a map of key, value pairs.
4561        '''
4562
4563    def __repr__(self):
4564        return '<sdm.AmazonES ' + \
4565            'access_key: ' + repr(self.access_key) + ' ' +\
4566            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4567            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4568            'endpoint: ' + repr(self.endpoint) + ' ' +\
4569            'healthy: ' + repr(self.healthy) + ' ' +\
4570            'id: ' + repr(self.id) + ' ' +\
4571            'name: ' + repr(self.name) + ' ' +\
4572            'port_override: ' + repr(self.port_override) + ' ' +\
4573            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4574            'region: ' + repr(self.region) + ' ' +\
4575            'role_arn: ' + repr(self.role_arn) + ' ' +\
4576            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4577            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4578            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4579            'subdomain: ' + repr(self.subdomain) + ' ' +\
4580            'tags: ' + repr(self.tags) + ' ' +\
4581            '>'
4582
4583    def to_dict(self):
4584        return {
4585            'access_key': self.access_key,
4586            'bind_interface': self.bind_interface,
4587            'egress_filter': self.egress_filter,
4588            'endpoint': self.endpoint,
4589            'healthy': self.healthy,
4590            'id': self.id,
4591            'name': self.name,
4592            'port_override': self.port_override,
4593            'proxy_cluster_id': self.proxy_cluster_id,
4594            'region': self.region,
4595            'role_arn': self.role_arn,
4596            'role_external_id': self.role_external_id,
4597            'secret_access_key': self.secret_access_key,
4598            'secret_store_id': self.secret_store_id,
4599            'subdomain': self.subdomain,
4600            'tags': self.tags,
4601        }
4602
4603    @classmethod
4604    def from_dict(cls, d):
4605        return cls(
4606            access_key=d.get('access_key'),
4607            bind_interface=d.get('bind_interface'),
4608            egress_filter=d.get('egress_filter'),
4609            endpoint=d.get('endpoint'),
4610            healthy=d.get('healthy'),
4611            id=d.get('id'),
4612            name=d.get('name'),
4613            port_override=d.get('port_override'),
4614            proxy_cluster_id=d.get('proxy_cluster_id'),
4615            region=d.get('region'),
4616            role_arn=d.get('role_arn'),
4617            role_external_id=d.get('role_external_id'),
4618            secret_access_key=d.get('secret_access_key'),
4619            secret_store_id=d.get('secret_store_id'),
4620            subdomain=d.get('subdomain'),
4621            tags=d.get('tags'),
4622        )
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)
4479    def __init__(
4480        self,
4481        access_key=None,
4482        bind_interface=None,
4483        egress_filter=None,
4484        endpoint=None,
4485        healthy=None,
4486        id=None,
4487        name=None,
4488        port_override=None,
4489        proxy_cluster_id=None,
4490        region=None,
4491        role_arn=None,
4492        role_external_id=None,
4493        secret_access_key=None,
4494        secret_store_id=None,
4495        subdomain=None,
4496        tags=None,
4497    ):
4498        self.access_key = access_key if access_key is not None else ''
4499        '''
4500         The Access Key ID to use to authenticate.
4501        '''
4502        self.bind_interface = bind_interface if bind_interface is not None else ''
4503        '''
4504         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4505        '''
4506        self.egress_filter = egress_filter if egress_filter is not None else ''
4507        '''
4508         A filter applied to the routing logic to pin datasource to nodes.
4509        '''
4510        self.endpoint = endpoint if endpoint is not None else ''
4511        '''
4512         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4513        '''
4514        self.healthy = healthy if healthy is not None else False
4515        '''
4516         True if the datasource is reachable and the credentials are valid.
4517        '''
4518        self.id = id if id is not None else ''
4519        '''
4520         Unique identifier of the Resource.
4521        '''
4522        self.name = name if name is not None else ''
4523        '''
4524         Unique human-readable name of the Resource.
4525        '''
4526        self.port_override = port_override if port_override is not None else 0
4527        '''
4528         The local port used by clients to connect to this resource.
4529        '''
4530        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4531        '''
4532         ID of the proxy cluster for this resource, if any.
4533        '''
4534        self.region = region if region is not None else ''
4535        '''
4536         The AWS region to connect to e.g. us-east-1.
4537        '''
4538        self.role_arn = role_arn if role_arn is not None else ''
4539        '''
4540         The role to assume after logging in.
4541        '''
4542        self.role_external_id = role_external_id if role_external_id is not None else ''
4543        '''
4544         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4545        '''
4546        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4547        '''
4548         The Secret Access Key to use to authenticate.
4549        '''
4550        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4551        '''
4552         ID of the secret store containing credentials for this resource, if any.
4553        '''
4554        self.subdomain = subdomain if subdomain is not None else ''
4555        '''
4556         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4557        '''
4558        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4559        '''
4560         Tags is a map of key, value pairs.
4561        '''
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)
4583    def to_dict(self):
4584        return {
4585            'access_key': self.access_key,
4586            'bind_interface': self.bind_interface,
4587            'egress_filter': self.egress_filter,
4588            'endpoint': self.endpoint,
4589            'healthy': self.healthy,
4590            'id': self.id,
4591            'name': self.name,
4592            'port_override': self.port_override,
4593            'proxy_cluster_id': self.proxy_cluster_id,
4594            'region': self.region,
4595            'role_arn': self.role_arn,
4596            'role_external_id': self.role_external_id,
4597            'secret_access_key': self.secret_access_key,
4598            'secret_store_id': self.secret_store_id,
4599            'subdomain': self.subdomain,
4600            'tags': self.tags,
4601        }
@classmethod
def from_dict(cls, d)
4603    @classmethod
4604    def from_dict(cls, d):
4605        return cls(
4606            access_key=d.get('access_key'),
4607            bind_interface=d.get('bind_interface'),
4608            egress_filter=d.get('egress_filter'),
4609            endpoint=d.get('endpoint'),
4610            healthy=d.get('healthy'),
4611            id=d.get('id'),
4612            name=d.get('name'),
4613            port_override=d.get('port_override'),
4614            proxy_cluster_id=d.get('proxy_cluster_id'),
4615            region=d.get('region'),
4616            role_arn=d.get('role_arn'),
4617            role_external_id=d.get('role_external_id'),
4618            secret_access_key=d.get('secret_access_key'),
4619            secret_store_id=d.get('secret_store_id'),
4620            subdomain=d.get('subdomain'),
4621            tags=d.get('tags'),
4622        )
class AmazonESIAM:
4625class AmazonESIAM:
4626    '''
4627    AmazonESIAM is currently unstable, and its API may change, or it may be removed,
4628    without a major version bump.
4629    '''
4630    __slots__ = [
4631        'bind_interface',
4632        'egress_filter',
4633        'endpoint',
4634        'healthy',
4635        'id',
4636        'name',
4637        'port_override',
4638        'proxy_cluster_id',
4639        'region',
4640        'role_arn',
4641        'role_external_id',
4642        'secret_store_id',
4643        'subdomain',
4644        'tags',
4645        'tlsrequired',
4646    ]
4647
4648    def __init__(
4649        self,
4650        bind_interface=None,
4651        egress_filter=None,
4652        endpoint=None,
4653        healthy=None,
4654        id=None,
4655        name=None,
4656        port_override=None,
4657        proxy_cluster_id=None,
4658        region=None,
4659        role_arn=None,
4660        role_external_id=None,
4661        secret_store_id=None,
4662        subdomain=None,
4663        tags=None,
4664        tlsrequired=None,
4665    ):
4666        self.bind_interface = bind_interface if bind_interface is not None else ''
4667        '''
4668         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4669        '''
4670        self.egress_filter = egress_filter if egress_filter is not None else ''
4671        '''
4672         A filter applied to the routing logic to pin datasource to nodes.
4673        '''
4674        self.endpoint = endpoint if endpoint is not None else ''
4675        '''
4676         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4677        '''
4678        self.healthy = healthy if healthy is not None else False
4679        '''
4680         True if the datasource is reachable and the credentials are valid.
4681        '''
4682        self.id = id if id is not None else ''
4683        '''
4684         Unique identifier of the Resource.
4685        '''
4686        self.name = name if name is not None else ''
4687        '''
4688         Unique human-readable name of the Resource.
4689        '''
4690        self.port_override = port_override if port_override is not None else 0
4691        '''
4692         The local port used by clients to connect to this resource.
4693        '''
4694        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4695        '''
4696         ID of the proxy cluster for this resource, if any.
4697        '''
4698        self.region = region if region is not None else ''
4699        '''
4700         The AWS region to connect to.
4701        '''
4702        self.role_arn = role_arn if role_arn is not None else ''
4703        '''
4704         The role to assume after logging in.
4705        '''
4706        self.role_external_id = role_external_id if role_external_id is not None else ''
4707        '''
4708         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4709        '''
4710        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4711        '''
4712         ID of the secret store containing credentials for this resource, if any.
4713        '''
4714        self.subdomain = subdomain if subdomain is not None else ''
4715        '''
4716         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4717        '''
4718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4719        '''
4720         Tags is a map of key, value pairs.
4721        '''
4722        self.tlsrequired = tlsrequired if tlsrequired is not None else False
4723        '''
4724         Use TLS to connect to the OpenSearch server
4725        '''
4726
4727    def __repr__(self):
4728        return '<sdm.AmazonESIAM ' + \
4729            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4730            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4731            'endpoint: ' + repr(self.endpoint) + ' ' +\
4732            'healthy: ' + repr(self.healthy) + ' ' +\
4733            'id: ' + repr(self.id) + ' ' +\
4734            'name: ' + repr(self.name) + ' ' +\
4735            'port_override: ' + repr(self.port_override) + ' ' +\
4736            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4737            'region: ' + repr(self.region) + ' ' +\
4738            'role_arn: ' + repr(self.role_arn) + ' ' +\
4739            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4740            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4741            'subdomain: ' + repr(self.subdomain) + ' ' +\
4742            'tags: ' + repr(self.tags) + ' ' +\
4743            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
4744            '>'
4745
4746    def to_dict(self):
4747        return {
4748            'bind_interface': self.bind_interface,
4749            'egress_filter': self.egress_filter,
4750            'endpoint': self.endpoint,
4751            'healthy': self.healthy,
4752            'id': self.id,
4753            'name': self.name,
4754            'port_override': self.port_override,
4755            'proxy_cluster_id': self.proxy_cluster_id,
4756            'region': self.region,
4757            'role_arn': self.role_arn,
4758            'role_external_id': self.role_external_id,
4759            'secret_store_id': self.secret_store_id,
4760            'subdomain': self.subdomain,
4761            'tags': self.tags,
4762            'tlsrequired': self.tlsrequired,
4763        }
4764
4765    @classmethod
4766    def from_dict(cls, d):
4767        return cls(
4768            bind_interface=d.get('bind_interface'),
4769            egress_filter=d.get('egress_filter'),
4770            endpoint=d.get('endpoint'),
4771            healthy=d.get('healthy'),
4772            id=d.get('id'),
4773            name=d.get('name'),
4774            port_override=d.get('port_override'),
4775            proxy_cluster_id=d.get('proxy_cluster_id'),
4776            region=d.get('region'),
4777            role_arn=d.get('role_arn'),
4778            role_external_id=d.get('role_external_id'),
4779            secret_store_id=d.get('secret_store_id'),
4780            subdomain=d.get('subdomain'),
4781            tags=d.get('tags'),
4782            tlsrequired=d.get('tlsrequired'),
4783        )

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

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)
4648    def __init__(
4649        self,
4650        bind_interface=None,
4651        egress_filter=None,
4652        endpoint=None,
4653        healthy=None,
4654        id=None,
4655        name=None,
4656        port_override=None,
4657        proxy_cluster_id=None,
4658        region=None,
4659        role_arn=None,
4660        role_external_id=None,
4661        secret_store_id=None,
4662        subdomain=None,
4663        tags=None,
4664        tlsrequired=None,
4665    ):
4666        self.bind_interface = bind_interface if bind_interface is not None else ''
4667        '''
4668         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4669        '''
4670        self.egress_filter = egress_filter if egress_filter is not None else ''
4671        '''
4672         A filter applied to the routing logic to pin datasource to nodes.
4673        '''
4674        self.endpoint = endpoint if endpoint is not None else ''
4675        '''
4676         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4677        '''
4678        self.healthy = healthy if healthy is not None else False
4679        '''
4680         True if the datasource is reachable and the credentials are valid.
4681        '''
4682        self.id = id if id is not None else ''
4683        '''
4684         Unique identifier of the Resource.
4685        '''
4686        self.name = name if name is not None else ''
4687        '''
4688         Unique human-readable name of the Resource.
4689        '''
4690        self.port_override = port_override if port_override is not None else 0
4691        '''
4692         The local port used by clients to connect to this resource.
4693        '''
4694        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4695        '''
4696         ID of the proxy cluster for this resource, if any.
4697        '''
4698        self.region = region if region is not None else ''
4699        '''
4700         The AWS region to connect to.
4701        '''
4702        self.role_arn = role_arn if role_arn is not None else ''
4703        '''
4704         The role to assume after logging in.
4705        '''
4706        self.role_external_id = role_external_id if role_external_id is not None else ''
4707        '''
4708         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4709        '''
4710        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4711        '''
4712         ID of the secret store containing credentials for this resource, if any.
4713        '''
4714        self.subdomain = subdomain if subdomain is not None else ''
4715        '''
4716         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4717        '''
4718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4719        '''
4720         Tags is a map of key, value pairs.
4721        '''
4722        self.tlsrequired = tlsrequired if tlsrequired is not None else False
4723        '''
4724         Use TLS to connect to the OpenSearch server
4725        '''
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)
4746    def to_dict(self):
4747        return {
4748            'bind_interface': self.bind_interface,
4749            'egress_filter': self.egress_filter,
4750            'endpoint': self.endpoint,
4751            'healthy': self.healthy,
4752            'id': self.id,
4753            'name': self.name,
4754            'port_override': self.port_override,
4755            'proxy_cluster_id': self.proxy_cluster_id,
4756            'region': self.region,
4757            'role_arn': self.role_arn,
4758            'role_external_id': self.role_external_id,
4759            'secret_store_id': self.secret_store_id,
4760            'subdomain': self.subdomain,
4761            'tags': self.tags,
4762            'tlsrequired': self.tlsrequired,
4763        }
@classmethod
def from_dict(cls, d)
4765    @classmethod
4766    def from_dict(cls, d):
4767        return cls(
4768            bind_interface=d.get('bind_interface'),
4769            egress_filter=d.get('egress_filter'),
4770            endpoint=d.get('endpoint'),
4771            healthy=d.get('healthy'),
4772            id=d.get('id'),
4773            name=d.get('name'),
4774            port_override=d.get('port_override'),
4775            proxy_cluster_id=d.get('proxy_cluster_id'),
4776            region=d.get('region'),
4777            role_arn=d.get('role_arn'),
4778            role_external_id=d.get('role_external_id'),
4779            secret_store_id=d.get('secret_store_id'),
4780            subdomain=d.get('subdomain'),
4781            tags=d.get('tags'),
4782            tlsrequired=d.get('tlsrequired'),
4783        )
class AmazonMQAMQP091:
4786class AmazonMQAMQP091:
4787    __slots__ = [
4788        'bind_interface',
4789        'egress_filter',
4790        'healthy',
4791        'hostname',
4792        'id',
4793        'name',
4794        'password',
4795        'port',
4796        'port_override',
4797        'proxy_cluster_id',
4798        'secret_store_id',
4799        'subdomain',
4800        'tags',
4801        'tls_required',
4802        'username',
4803    ]
4804
4805    def __init__(
4806        self,
4807        bind_interface=None,
4808        egress_filter=None,
4809        healthy=None,
4810        hostname=None,
4811        id=None,
4812        name=None,
4813        password=None,
4814        port=None,
4815        port_override=None,
4816        proxy_cluster_id=None,
4817        secret_store_id=None,
4818        subdomain=None,
4819        tags=None,
4820        tls_required=None,
4821        username=None,
4822    ):
4823        self.bind_interface = bind_interface if bind_interface is not None else ''
4824        '''
4825         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4826        '''
4827        self.egress_filter = egress_filter if egress_filter is not None else ''
4828        '''
4829         A filter applied to the routing logic to pin datasource to nodes.
4830        '''
4831        self.healthy = healthy if healthy is not None else False
4832        '''
4833         True if the datasource is reachable and the credentials are valid.
4834        '''
4835        self.hostname = hostname if hostname is not None else ''
4836        '''
4837         The host to dial to initiate a connection from the egress node to this resource.
4838        '''
4839        self.id = id if id is not None else ''
4840        '''
4841         Unique identifier of the Resource.
4842        '''
4843        self.name = name if name is not None else ''
4844        '''
4845         Unique human-readable name of the Resource.
4846        '''
4847        self.password = password if password is not None else ''
4848        '''
4849         The password to authenticate with.
4850        '''
4851        self.port = port if port is not None else 0
4852        '''
4853         The port to dial to initiate a connection from the egress node to this resource.
4854        '''
4855        self.port_override = port_override if port_override is not None else 0
4856        '''
4857         The local port used by clients to connect to this resource.
4858        '''
4859        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4860        '''
4861         ID of the proxy cluster for this resource, if any.
4862        '''
4863        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4864        '''
4865         ID of the secret store containing credentials for this resource, if any.
4866        '''
4867        self.subdomain = subdomain if subdomain is not None else ''
4868        '''
4869         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4870        '''
4871        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4872        '''
4873         Tags is a map of key, value pairs.
4874        '''
4875        self.tls_required = tls_required if tls_required is not None else False
4876        '''
4877         If set, TLS must be used to connect to this resource.
4878        '''
4879        self.username = username if username is not None else ''
4880        '''
4881         The username to authenticate with.
4882        '''
4883
4884    def __repr__(self):
4885        return '<sdm.AmazonMQAMQP091 ' + \
4886            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4887            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4888            'healthy: ' + repr(self.healthy) + ' ' +\
4889            'hostname: ' + repr(self.hostname) + ' ' +\
4890            'id: ' + repr(self.id) + ' ' +\
4891            'name: ' + repr(self.name) + ' ' +\
4892            'password: ' + repr(self.password) + ' ' +\
4893            'port: ' + repr(self.port) + ' ' +\
4894            'port_override: ' + repr(self.port_override) + ' ' +\
4895            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4896            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4897            'subdomain: ' + repr(self.subdomain) + ' ' +\
4898            'tags: ' + repr(self.tags) + ' ' +\
4899            'tls_required: ' + repr(self.tls_required) + ' ' +\
4900            'username: ' + repr(self.username) + ' ' +\
4901            '>'
4902
4903    def to_dict(self):
4904        return {
4905            'bind_interface': self.bind_interface,
4906            'egress_filter': self.egress_filter,
4907            'healthy': self.healthy,
4908            'hostname': self.hostname,
4909            'id': self.id,
4910            'name': self.name,
4911            'password': self.password,
4912            'port': self.port,
4913            'port_override': self.port_override,
4914            'proxy_cluster_id': self.proxy_cluster_id,
4915            'secret_store_id': self.secret_store_id,
4916            'subdomain': self.subdomain,
4917            'tags': self.tags,
4918            'tls_required': self.tls_required,
4919            'username': self.username,
4920        }
4921
4922    @classmethod
4923    def from_dict(cls, d):
4924        return cls(
4925            bind_interface=d.get('bind_interface'),
4926            egress_filter=d.get('egress_filter'),
4927            healthy=d.get('healthy'),
4928            hostname=d.get('hostname'),
4929            id=d.get('id'),
4930            name=d.get('name'),
4931            password=d.get('password'),
4932            port=d.get('port'),
4933            port_override=d.get('port_override'),
4934            proxy_cluster_id=d.get('proxy_cluster_id'),
4935            secret_store_id=d.get('secret_store_id'),
4936            subdomain=d.get('subdomain'),
4937            tags=d.get('tags'),
4938            tls_required=d.get('tls_required'),
4939            username=d.get('username'),
4940        )
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)
4805    def __init__(
4806        self,
4807        bind_interface=None,
4808        egress_filter=None,
4809        healthy=None,
4810        hostname=None,
4811        id=None,
4812        name=None,
4813        password=None,
4814        port=None,
4815        port_override=None,
4816        proxy_cluster_id=None,
4817        secret_store_id=None,
4818        subdomain=None,
4819        tags=None,
4820        tls_required=None,
4821        username=None,
4822    ):
4823        self.bind_interface = bind_interface if bind_interface is not None else ''
4824        '''
4825         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4826        '''
4827        self.egress_filter = egress_filter if egress_filter is not None else ''
4828        '''
4829         A filter applied to the routing logic to pin datasource to nodes.
4830        '''
4831        self.healthy = healthy if healthy is not None else False
4832        '''
4833         True if the datasource is reachable and the credentials are valid.
4834        '''
4835        self.hostname = hostname if hostname is not None else ''
4836        '''
4837         The host to dial to initiate a connection from the egress node to this resource.
4838        '''
4839        self.id = id if id is not None else ''
4840        '''
4841         Unique identifier of the Resource.
4842        '''
4843        self.name = name if name is not None else ''
4844        '''
4845         Unique human-readable name of the Resource.
4846        '''
4847        self.password = password if password is not None else ''
4848        '''
4849         The password to authenticate with.
4850        '''
4851        self.port = port if port is not None else 0
4852        '''
4853         The port to dial to initiate a connection from the egress node to this resource.
4854        '''
4855        self.port_override = port_override if port_override is not None else 0
4856        '''
4857         The local port used by clients to connect to this resource.
4858        '''
4859        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4860        '''
4861         ID of the proxy cluster for this resource, if any.
4862        '''
4863        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4864        '''
4865         ID of the secret store containing credentials for this resource, if any.
4866        '''
4867        self.subdomain = subdomain if subdomain is not None else ''
4868        '''
4869         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4870        '''
4871        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4872        '''
4873         Tags is a map of key, value pairs.
4874        '''
4875        self.tls_required = tls_required if tls_required is not None else False
4876        '''
4877         If set, TLS must be used to connect to this resource.
4878        '''
4879        self.username = username if username is not None else ''
4880        '''
4881         The username to authenticate with.
4882        '''
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)
4903    def to_dict(self):
4904        return {
4905            'bind_interface': self.bind_interface,
4906            'egress_filter': self.egress_filter,
4907            'healthy': self.healthy,
4908            'hostname': self.hostname,
4909            'id': self.id,
4910            'name': self.name,
4911            'password': self.password,
4912            'port': self.port,
4913            'port_override': self.port_override,
4914            'proxy_cluster_id': self.proxy_cluster_id,
4915            'secret_store_id': self.secret_store_id,
4916            'subdomain': self.subdomain,
4917            'tags': self.tags,
4918            'tls_required': self.tls_required,
4919            'username': self.username,
4920        }
@classmethod
def from_dict(cls, d)
4922    @classmethod
4923    def from_dict(cls, d):
4924        return cls(
4925            bind_interface=d.get('bind_interface'),
4926            egress_filter=d.get('egress_filter'),
4927            healthy=d.get('healthy'),
4928            hostname=d.get('hostname'),
4929            id=d.get('id'),
4930            name=d.get('name'),
4931            password=d.get('password'),
4932            port=d.get('port'),
4933            port_override=d.get('port_override'),
4934            proxy_cluster_id=d.get('proxy_cluster_id'),
4935            secret_store_id=d.get('secret_store_id'),
4936            subdomain=d.get('subdomain'),
4937            tags=d.get('tags'),
4938            tls_required=d.get('tls_required'),
4939            username=d.get('username'),
4940        )
class ApprovalWorkflow:
4943class ApprovalWorkflow:
4944    '''
4945         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
4946     approvers and be approved or denied.
4947    '''
4948    __slots__ = [
4949        'approval_mode',
4950        'description',
4951        'id',
4952        'name',
4953    ]
4954
4955    def __init__(
4956        self,
4957        approval_mode=None,
4958        description=None,
4959        id=None,
4960        name=None,
4961    ):
4962        self.approval_mode = approval_mode if approval_mode is not None else ''
4963        '''
4964         Approval mode of the ApprovalWorkflow
4965        '''
4966        self.description = description if description is not None else ''
4967        '''
4968         Optional description of the ApprovalWorkflow.
4969        '''
4970        self.id = id if id is not None else ''
4971        '''
4972         Unique identifier of the ApprovalWorkflow.
4973        '''
4974        self.name = name if name is not None else ''
4975        '''
4976         Unique human-readable name of the ApprovalWorkflow.
4977        '''
4978
4979    def __repr__(self):
4980        return '<sdm.ApprovalWorkflow ' + \
4981            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
4982            'description: ' + repr(self.description) + ' ' +\
4983            'id: ' + repr(self.id) + ' ' +\
4984            'name: ' + repr(self.name) + ' ' +\
4985            '>'
4986
4987    def to_dict(self):
4988        return {
4989            'approval_mode': self.approval_mode,
4990            'description': self.description,
4991            'id': self.id,
4992            'name': self.name,
4993        }
4994
4995    @classmethod
4996    def from_dict(cls, d):
4997        return cls(
4998            approval_mode=d.get('approval_mode'),
4999            description=d.get('description'),
5000            id=d.get('id'),
5001            name=d.get('name'),
5002        )

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

ApprovalWorkflow(approval_mode=None, description=None, id=None, name=None)
4955    def __init__(
4956        self,
4957        approval_mode=None,
4958        description=None,
4959        id=None,
4960        name=None,
4961    ):
4962        self.approval_mode = approval_mode if approval_mode is not None else ''
4963        '''
4964         Approval mode of the ApprovalWorkflow
4965        '''
4966        self.description = description if description is not None else ''
4967        '''
4968         Optional description of the ApprovalWorkflow.
4969        '''
4970        self.id = id if id is not None else ''
4971        '''
4972         Unique identifier of the ApprovalWorkflow.
4973        '''
4974        self.name = name if name is not None else ''
4975        '''
4976         Unique human-readable name of the ApprovalWorkflow.
4977        '''
approval_mode

Approval mode of the ApprovalWorkflow

description

Optional description of the ApprovalWorkflow.

id

Unique identifier of the ApprovalWorkflow.

name

Unique human-readable name of the ApprovalWorkflow.

def to_dict(self)
4987    def to_dict(self):
4988        return {
4989            'approval_mode': self.approval_mode,
4990            'description': self.description,
4991            'id': self.id,
4992            'name': self.name,
4993        }
@classmethod
def from_dict(cls, d)
4995    @classmethod
4996    def from_dict(cls, d):
4997        return cls(
4998            approval_mode=d.get('approval_mode'),
4999            description=d.get('description'),
5000            id=d.get('id'),
5001            name=d.get('name'),
5002        )
class ApprovalWorkflowApprover:
5005class ApprovalWorkflowApprover:
5006    '''
5007         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
5008    '''
5009    __slots__ = [
5010        'account_id',
5011        'approval_flow_id',
5012        'approval_step_id',
5013        'id',
5014        'role_id',
5015    ]
5016
5017    def __init__(
5018        self,
5019        account_id=None,
5020        approval_flow_id=None,
5021        approval_step_id=None,
5022        id=None,
5023        role_id=None,
5024    ):
5025        self.account_id = account_id if account_id is not None else ''
5026        '''
5027         The approver account id.
5028        '''
5029        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5030        '''
5031         The approval flow id specified the approval workflow that this approver belongs to
5032        '''
5033        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
5034        '''
5035         The approval step id specified the approval flow step that this approver belongs to
5036        '''
5037        self.id = id if id is not None else ''
5038        '''
5039         Unique identifier of the ApprovalWorkflowApprover.
5040        '''
5041        self.role_id = role_id if role_id is not None else ''
5042        '''
5043         The approver role id
5044        '''
5045
5046    def __repr__(self):
5047        return '<sdm.ApprovalWorkflowApprover ' + \
5048            'account_id: ' + repr(self.account_id) + ' ' +\
5049            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
5050            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
5051            'id: ' + repr(self.id) + ' ' +\
5052            'role_id: ' + repr(self.role_id) + ' ' +\
5053            '>'
5054
5055    def to_dict(self):
5056        return {
5057            'account_id': self.account_id,
5058            'approval_flow_id': self.approval_flow_id,
5059            'approval_step_id': self.approval_step_id,
5060            'id': self.id,
5061            'role_id': self.role_id,
5062        }
5063
5064    @classmethod
5065    def from_dict(cls, d):
5066        return cls(
5067            account_id=d.get('account_id'),
5068            approval_flow_id=d.get('approval_flow_id'),
5069            approval_step_id=d.get('approval_step_id'),
5070            id=d.get('id'),
5071            role_id=d.get('role_id'),
5072        )

ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep

ApprovalWorkflowApprover( account_id=None, approval_flow_id=None, approval_step_id=None, id=None, role_id=None)
5017    def __init__(
5018        self,
5019        account_id=None,
5020        approval_flow_id=None,
5021        approval_step_id=None,
5022        id=None,
5023        role_id=None,
5024    ):
5025        self.account_id = account_id if account_id is not None else ''
5026        '''
5027         The approver account id.
5028        '''
5029        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5030        '''
5031         The approval flow id specified the approval workflow that this approver belongs to
5032        '''
5033        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
5034        '''
5035         The approval step id specified the approval flow step that this approver belongs to
5036        '''
5037        self.id = id if id is not None else ''
5038        '''
5039         Unique identifier of the ApprovalWorkflowApprover.
5040        '''
5041        self.role_id = role_id if role_id is not None else ''
5042        '''
5043         The approver role id
5044        '''
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.

role_id

The approver role id

def to_dict(self)
5055    def to_dict(self):
5056        return {
5057            'account_id': self.account_id,
5058            'approval_flow_id': self.approval_flow_id,
5059            'approval_step_id': self.approval_step_id,
5060            'id': self.id,
5061            'role_id': self.role_id,
5062        }
@classmethod
def from_dict(cls, d)
5064    @classmethod
5065    def from_dict(cls, d):
5066        return cls(
5067            account_id=d.get('account_id'),
5068            approval_flow_id=d.get('approval_flow_id'),
5069            approval_step_id=d.get('approval_step_id'),
5070            id=d.get('id'),
5071            role_id=d.get('role_id'),
5072        )
class ApprovalWorkflowApproverCreateResponse:
5075class ApprovalWorkflowApproverCreateResponse:
5076    '''
5077         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
5078    '''
5079    __slots__ = [
5080        'approval_workflow_approver',
5081        'rate_limit',
5082    ]
5083
5084    def __init__(
5085        self,
5086        approval_workflow_approver=None,
5087        rate_limit=None,
5088    ):
5089        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5090        '''
5091         The created approval workflow approver.
5092        '''
5093        self.rate_limit = rate_limit if rate_limit is not None else None
5094        '''
5095         Rate limit information.
5096        '''
5097
5098    def __repr__(self):
5099        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
5100            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5101            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5102            '>'
5103
5104    def to_dict(self):
5105        return {
5106            'approval_workflow_approver': self.approval_workflow_approver,
5107            'rate_limit': self.rate_limit,
5108        }
5109
5110    @classmethod
5111    def from_dict(cls, d):
5112        return cls(
5113            approval_workflow_approver=d.get('approval_workflow_approver'),
5114            rate_limit=d.get('rate_limit'),
5115        )

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

ApprovalWorkflowApproverCreateResponse(approval_workflow_approver=None, rate_limit=None)
5084    def __init__(
5085        self,
5086        approval_workflow_approver=None,
5087        rate_limit=None,
5088    ):
5089        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5090        '''
5091         The created approval workflow approver.
5092        '''
5093        self.rate_limit = rate_limit if rate_limit is not None else None
5094        '''
5095         Rate limit information.
5096        '''
approval_workflow_approver

The created approval workflow approver.

rate_limit

Rate limit information.

def to_dict(self)
5104    def to_dict(self):
5105        return {
5106            'approval_workflow_approver': self.approval_workflow_approver,
5107            'rate_limit': self.rate_limit,
5108        }
@classmethod
def from_dict(cls, d)
5110    @classmethod
5111    def from_dict(cls, d):
5112        return cls(
5113            approval_workflow_approver=d.get('approval_workflow_approver'),
5114            rate_limit=d.get('rate_limit'),
5115        )
class ApprovalWorkflowApproverDeleteResponse:
5118class ApprovalWorkflowApproverDeleteResponse:
5119    '''
5120         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
5121    '''
5122    __slots__ = [
5123        'id',
5124        'rate_limit',
5125    ]
5126
5127    def __init__(
5128        self,
5129        id=None,
5130        rate_limit=None,
5131    ):
5132        self.id = id if id is not None else ''
5133        '''
5134         The deleted approval workflow approver id.
5135        '''
5136        self.rate_limit = rate_limit if rate_limit is not None else None
5137        '''
5138         Rate limit information.
5139        '''
5140
5141    def __repr__(self):
5142        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
5143            'id: ' + repr(self.id) + ' ' +\
5144            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5145            '>'
5146
5147    def to_dict(self):
5148        return {
5149            'id': self.id,
5150            'rate_limit': self.rate_limit,
5151        }
5152
5153    @classmethod
5154    def from_dict(cls, d):
5155        return cls(
5156            id=d.get('id'),
5157            rate_limit=d.get('rate_limit'),
5158        )

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

ApprovalWorkflowApproverDeleteResponse(id=None, rate_limit=None)
5127    def __init__(
5128        self,
5129        id=None,
5130        rate_limit=None,
5131    ):
5132        self.id = id if id is not None else ''
5133        '''
5134         The deleted approval workflow approver id.
5135        '''
5136        self.rate_limit = rate_limit if rate_limit is not None else None
5137        '''
5138         Rate limit information.
5139        '''
id

The deleted approval workflow approver id.

rate_limit

Rate limit information.

def to_dict(self)
5147    def to_dict(self):
5148        return {
5149            'id': self.id,
5150            'rate_limit': self.rate_limit,
5151        }
@classmethod
def from_dict(cls, d)
5153    @classmethod
5154    def from_dict(cls, d):
5155        return cls(
5156            id=d.get('id'),
5157            rate_limit=d.get('rate_limit'),
5158        )
class ApprovalWorkflowApproverGetResponse:
5161class ApprovalWorkflowApproverGetResponse:
5162    '''
5163         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
5164    '''
5165    __slots__ = [
5166        'approval_workflow_approver',
5167        'meta',
5168        'rate_limit',
5169    ]
5170
5171    def __init__(
5172        self,
5173        approval_workflow_approver=None,
5174        meta=None,
5175        rate_limit=None,
5176    ):
5177        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5178        '''
5179         The requested ApprovalWorkflowApprover.
5180        '''
5181        self.meta = meta if meta is not None else None
5182        '''
5183         Reserved for future use.
5184        '''
5185        self.rate_limit = rate_limit if rate_limit is not None else None
5186        '''
5187         Rate limit information.
5188        '''
5189
5190    def __repr__(self):
5191        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
5192            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5193            'meta: ' + repr(self.meta) + ' ' +\
5194            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5195            '>'
5196
5197    def to_dict(self):
5198        return {
5199            'approval_workflow_approver': self.approval_workflow_approver,
5200            'meta': self.meta,
5201            'rate_limit': self.rate_limit,
5202        }
5203
5204    @classmethod
5205    def from_dict(cls, d):
5206        return cls(
5207            approval_workflow_approver=d.get('approval_workflow_approver'),
5208            meta=d.get('meta'),
5209            rate_limit=d.get('rate_limit'),
5210        )

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

ApprovalWorkflowApproverGetResponse(approval_workflow_approver=None, meta=None, rate_limit=None)
5171    def __init__(
5172        self,
5173        approval_workflow_approver=None,
5174        meta=None,
5175        rate_limit=None,
5176    ):
5177        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5178        '''
5179         The requested ApprovalWorkflowApprover.
5180        '''
5181        self.meta = meta if meta is not None else None
5182        '''
5183         Reserved for future use.
5184        '''
5185        self.rate_limit = rate_limit if rate_limit is not None else None
5186        '''
5187         Rate limit information.
5188        '''
approval_workflow_approver

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
5197    def to_dict(self):
5198        return {
5199            'approval_workflow_approver': self.approval_workflow_approver,
5200            'meta': self.meta,
5201            'rate_limit': self.rate_limit,
5202        }
@classmethod
def from_dict(cls, d)
5204    @classmethod
5205    def from_dict(cls, d):
5206        return cls(
5207            approval_workflow_approver=d.get('approval_workflow_approver'),
5208            meta=d.get('meta'),
5209            rate_limit=d.get('rate_limit'),
5210        )
class ApprovalWorkflowApproverHistory:
5213class ApprovalWorkflowApproverHistory:
5214    '''
5215         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
5216     where every change (create or delete) to an ApprovalWorkflowApprover produces an
5217     ApprovalWorkflowApproverHistory record.
5218    '''
5219    __slots__ = [
5220        'activity_id',
5221        'approval_workflow_approver',
5222        'deleted_at',
5223        'timestamp',
5224    ]
5225
5226    def __init__(
5227        self,
5228        activity_id=None,
5229        approval_workflow_approver=None,
5230        deleted_at=None,
5231        timestamp=None,
5232    ):
5233        self.activity_id = activity_id if activity_id is not None else ''
5234        '''
5235         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
5236         May be empty for some system-initiated updates.
5237        '''
5238        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5239        '''
5240         The complete ApprovalWorkflowApprover state at this time.
5241        '''
5242        self.deleted_at = deleted_at if deleted_at is not None else None
5243        '''
5244         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
5245        '''
5246        self.timestamp = timestamp if timestamp is not None else None
5247        '''
5248         The time at which the ApprovalWorkflowApprover state was recorded.
5249        '''
5250
5251    def __repr__(self):
5252        return '<sdm.ApprovalWorkflowApproverHistory ' + \
5253            'activity_id: ' + repr(self.activity_id) + ' ' +\
5254            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5255            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5256            'timestamp: ' + repr(self.timestamp) + ' ' +\
5257            '>'
5258
5259    def to_dict(self):
5260        return {
5261            'activity_id': self.activity_id,
5262            'approval_workflow_approver': self.approval_workflow_approver,
5263            'deleted_at': self.deleted_at,
5264            'timestamp': self.timestamp,
5265        }
5266
5267    @classmethod
5268    def from_dict(cls, d):
5269        return cls(
5270            activity_id=d.get('activity_id'),
5271            approval_workflow_approver=d.get('approval_workflow_approver'),
5272            deleted_at=d.get('deleted_at'),
5273            timestamp=d.get('timestamp'),
5274        )

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)
5226    def __init__(
5227        self,
5228        activity_id=None,
5229        approval_workflow_approver=None,
5230        deleted_at=None,
5231        timestamp=None,
5232    ):
5233        self.activity_id = activity_id if activity_id is not None else ''
5234        '''
5235         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
5236         May be empty for some system-initiated updates.
5237        '''
5238        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5239        '''
5240         The complete ApprovalWorkflowApprover state at this time.
5241        '''
5242        self.deleted_at = deleted_at if deleted_at is not None else None
5243        '''
5244         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
5245        '''
5246        self.timestamp = timestamp if timestamp is not None else None
5247        '''
5248         The time at which the ApprovalWorkflowApprover state was recorded.
5249        '''
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)
5259    def to_dict(self):
5260        return {
5261            'activity_id': self.activity_id,
5262            'approval_workflow_approver': self.approval_workflow_approver,
5263            'deleted_at': self.deleted_at,
5264            'timestamp': self.timestamp,
5265        }
@classmethod
def from_dict(cls, d)
5267    @classmethod
5268    def from_dict(cls, d):
5269        return cls(
5270            activity_id=d.get('activity_id'),
5271            approval_workflow_approver=d.get('approval_workflow_approver'),
5272            deleted_at=d.get('deleted_at'),
5273            timestamp=d.get('timestamp'),
5274        )
class ApprovalWorkflowApproverListResponse:
5277class ApprovalWorkflowApproverListResponse:
5278    '''
5279         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
5280     the criteria of an ApprovalWorkflowApproverListRequest.
5281    '''
5282    __slots__ = [
5283        'rate_limit',
5284    ]
5285
5286    def __init__(
5287        self,
5288        rate_limit=None,
5289    ):
5290        self.rate_limit = rate_limit if rate_limit is not None else None
5291        '''
5292         Rate limit information.
5293        '''
5294
5295    def __repr__(self):
5296        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
5297            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5298            '>'
5299
5300    def to_dict(self):
5301        return {
5302            'rate_limit': self.rate_limit,
5303        }
5304
5305    @classmethod
5306    def from_dict(cls, d):
5307        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)
5286    def __init__(
5287        self,
5288        rate_limit=None,
5289    ):
5290        self.rate_limit = rate_limit if rate_limit is not None else None
5291        '''
5292         Rate limit information.
5293        '''
rate_limit

Rate limit information.

def to_dict(self)
5300    def to_dict(self):
5301        return {
5302            'rate_limit': self.rate_limit,
5303        }
@classmethod
def from_dict(cls, d)
5305    @classmethod
5306    def from_dict(cls, d):
5307        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowCreateResponse:
5310class ApprovalWorkflowCreateResponse:
5311    '''
5312         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
5313    '''
5314    __slots__ = [
5315        'approval_workflow',
5316        'rate_limit',
5317    ]
5318
5319    def __init__(
5320        self,
5321        approval_workflow=None,
5322        rate_limit=None,
5323    ):
5324        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5325        '''
5326         The created approval workflow.
5327        '''
5328        self.rate_limit = rate_limit if rate_limit is not None else None
5329        '''
5330         Rate limit information.
5331        '''
5332
5333    def __repr__(self):
5334        return '<sdm.ApprovalWorkflowCreateResponse ' + \
5335            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5336            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5337            '>'
5338
5339    def to_dict(self):
5340        return {
5341            'approval_workflow': self.approval_workflow,
5342            'rate_limit': self.rate_limit,
5343        }
5344
5345    @classmethod
5346    def from_dict(cls, d):
5347        return cls(
5348            approval_workflow=d.get('approval_workflow'),
5349            rate_limit=d.get('rate_limit'),
5350        )

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

ApprovalWorkflowCreateResponse(approval_workflow=None, rate_limit=None)
5319    def __init__(
5320        self,
5321        approval_workflow=None,
5322        rate_limit=None,
5323    ):
5324        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5325        '''
5326         The created approval workflow.
5327        '''
5328        self.rate_limit = rate_limit if rate_limit is not None else None
5329        '''
5330         Rate limit information.
5331        '''
approval_workflow

The created approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
5339    def to_dict(self):
5340        return {
5341            'approval_workflow': self.approval_workflow,
5342            'rate_limit': self.rate_limit,
5343        }
@classmethod
def from_dict(cls, d)
5345    @classmethod
5346    def from_dict(cls, d):
5347        return cls(
5348            approval_workflow=d.get('approval_workflow'),
5349            rate_limit=d.get('rate_limit'),
5350        )
class ApprovalWorkflowDeleteResponse:
5353class ApprovalWorkflowDeleteResponse:
5354    '''
5355         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
5356    '''
5357    __slots__ = [
5358        'id',
5359        'rate_limit',
5360    ]
5361
5362    def __init__(
5363        self,
5364        id=None,
5365        rate_limit=None,
5366    ):
5367        self.id = id if id is not None else ''
5368        '''
5369         The deleted approval workflow id.
5370        '''
5371        self.rate_limit = rate_limit if rate_limit is not None else None
5372        '''
5373         Rate limit information.
5374        '''
5375
5376    def __repr__(self):
5377        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
5378            'id: ' + repr(self.id) + ' ' +\
5379            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5380            '>'
5381
5382    def to_dict(self):
5383        return {
5384            'id': self.id,
5385            'rate_limit': self.rate_limit,
5386        }
5387
5388    @classmethod
5389    def from_dict(cls, d):
5390        return cls(
5391            id=d.get('id'),
5392            rate_limit=d.get('rate_limit'),
5393        )

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

ApprovalWorkflowDeleteResponse(id=None, rate_limit=None)
5362    def __init__(
5363        self,
5364        id=None,
5365        rate_limit=None,
5366    ):
5367        self.id = id if id is not None else ''
5368        '''
5369         The deleted approval workflow id.
5370        '''
5371        self.rate_limit = rate_limit if rate_limit is not None else None
5372        '''
5373         Rate limit information.
5374        '''
id

The deleted approval workflow id.

rate_limit

Rate limit information.

def to_dict(self)
5382    def to_dict(self):
5383        return {
5384            'id': self.id,
5385            'rate_limit': self.rate_limit,
5386        }
@classmethod
def from_dict(cls, d)
5388    @classmethod
5389    def from_dict(cls, d):
5390        return cls(
5391            id=d.get('id'),
5392            rate_limit=d.get('rate_limit'),
5393        )
class ApprovalWorkflowGetResponse:
5396class ApprovalWorkflowGetResponse:
5397    '''
5398         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
5399    '''
5400    __slots__ = [
5401        'approval_workflow',
5402        'meta',
5403        'rate_limit',
5404    ]
5405
5406    def __init__(
5407        self,
5408        approval_workflow=None,
5409        meta=None,
5410        rate_limit=None,
5411    ):
5412        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5413        '''
5414         The requested ApprovalWorkflow.
5415        '''
5416        self.meta = meta if meta is not None else None
5417        '''
5418         Reserved for future use.
5419        '''
5420        self.rate_limit = rate_limit if rate_limit is not None else None
5421        '''
5422         Rate limit information.
5423        '''
5424
5425    def __repr__(self):
5426        return '<sdm.ApprovalWorkflowGetResponse ' + \
5427            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5428            'meta: ' + repr(self.meta) + ' ' +\
5429            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5430            '>'
5431
5432    def to_dict(self):
5433        return {
5434            'approval_workflow': self.approval_workflow,
5435            'meta': self.meta,
5436            'rate_limit': self.rate_limit,
5437        }
5438
5439    @classmethod
5440    def from_dict(cls, d):
5441        return cls(
5442            approval_workflow=d.get('approval_workflow'),
5443            meta=d.get('meta'),
5444            rate_limit=d.get('rate_limit'),
5445        )

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

ApprovalWorkflowGetResponse(approval_workflow=None, meta=None, rate_limit=None)
5406    def __init__(
5407        self,
5408        approval_workflow=None,
5409        meta=None,
5410        rate_limit=None,
5411    ):
5412        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5413        '''
5414         The requested ApprovalWorkflow.
5415        '''
5416        self.meta = meta if meta is not None else None
5417        '''
5418         Reserved for future use.
5419        '''
5420        self.rate_limit = rate_limit if rate_limit is not None else None
5421        '''
5422         Rate limit information.
5423        '''
approval_workflow

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
5432    def to_dict(self):
5433        return {
5434            'approval_workflow': self.approval_workflow,
5435            'meta': self.meta,
5436            'rate_limit': self.rate_limit,
5437        }
@classmethod
def from_dict(cls, d)
5439    @classmethod
5440    def from_dict(cls, d):
5441        return cls(
5442            approval_workflow=d.get('approval_workflow'),
5443            meta=d.get('meta'),
5444            rate_limit=d.get('rate_limit'),
5445        )
class ApprovalWorkflowHistory:
5448class ApprovalWorkflowHistory:
5449    '''
5450         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
5451     where every change (create, update and delete) to an ApprovalWorkflow produces an
5452     ApprovalWorkflowHistory record.
5453    '''
5454    __slots__ = [
5455        'activity_id',
5456        'approval_workflow',
5457        'deleted_at',
5458        'timestamp',
5459    ]
5460
5461    def __init__(
5462        self,
5463        activity_id=None,
5464        approval_workflow=None,
5465        deleted_at=None,
5466        timestamp=None,
5467    ):
5468        self.activity_id = activity_id if activity_id is not None else ''
5469        '''
5470         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
5471         May be empty for some system-initiated updates.
5472        '''
5473        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5474        '''
5475         The complete ApprovalWorkflow state at this time.
5476        '''
5477        self.deleted_at = deleted_at if deleted_at is not None else None
5478        '''
5479         If this ApprovalWorkflow was deleted, the time it was deleted.
5480        '''
5481        self.timestamp = timestamp if timestamp is not None else None
5482        '''
5483         The time at which the ApprovalWorkflow state was recorded.
5484        '''
5485
5486    def __repr__(self):
5487        return '<sdm.ApprovalWorkflowHistory ' + \
5488            'activity_id: ' + repr(self.activity_id) + ' ' +\
5489            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5490            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5491            'timestamp: ' + repr(self.timestamp) + ' ' +\
5492            '>'
5493
5494    def to_dict(self):
5495        return {
5496            'activity_id': self.activity_id,
5497            'approval_workflow': self.approval_workflow,
5498            'deleted_at': self.deleted_at,
5499            'timestamp': self.timestamp,
5500        }
5501
5502    @classmethod
5503    def from_dict(cls, d):
5504        return cls(
5505            activity_id=d.get('activity_id'),
5506            approval_workflow=d.get('approval_workflow'),
5507            deleted_at=d.get('deleted_at'),
5508            timestamp=d.get('timestamp'),
5509        )

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)
5461    def __init__(
5462        self,
5463        activity_id=None,
5464        approval_workflow=None,
5465        deleted_at=None,
5466        timestamp=None,
5467    ):
5468        self.activity_id = activity_id if activity_id is not None else ''
5469        '''
5470         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
5471         May be empty for some system-initiated updates.
5472        '''
5473        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5474        '''
5475         The complete ApprovalWorkflow state at this time.
5476        '''
5477        self.deleted_at = deleted_at if deleted_at is not None else None
5478        '''
5479         If this ApprovalWorkflow was deleted, the time it was deleted.
5480        '''
5481        self.timestamp = timestamp if timestamp is not None else None
5482        '''
5483         The time at which the ApprovalWorkflow state was recorded.
5484        '''
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)
5494    def to_dict(self):
5495        return {
5496            'activity_id': self.activity_id,
5497            'approval_workflow': self.approval_workflow,
5498            'deleted_at': self.deleted_at,
5499            'timestamp': self.timestamp,
5500        }
@classmethod
def from_dict(cls, d)
5502    @classmethod
5503    def from_dict(cls, d):
5504        return cls(
5505            activity_id=d.get('activity_id'),
5506            approval_workflow=d.get('approval_workflow'),
5507            deleted_at=d.get('deleted_at'),
5508            timestamp=d.get('timestamp'),
5509        )
class ApprovalWorkflowListResponse:
5512class ApprovalWorkflowListResponse:
5513    '''
5514         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
5515     the criteria of an ApprovalWorkflowListRequest.
5516    '''
5517    __slots__ = [
5518        'rate_limit',
5519    ]
5520
5521    def __init__(
5522        self,
5523        rate_limit=None,
5524    ):
5525        self.rate_limit = rate_limit if rate_limit is not None else None
5526        '''
5527         Rate limit information.
5528        '''
5529
5530    def __repr__(self):
5531        return '<sdm.ApprovalWorkflowListResponse ' + \
5532            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5533            '>'
5534
5535    def to_dict(self):
5536        return {
5537            'rate_limit': self.rate_limit,
5538        }
5539
5540    @classmethod
5541    def from_dict(cls, d):
5542        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)
5521    def __init__(
5522        self,
5523        rate_limit=None,
5524    ):
5525        self.rate_limit = rate_limit if rate_limit is not None else None
5526        '''
5527         Rate limit information.
5528        '''
rate_limit

Rate limit information.

def to_dict(self)
5535    def to_dict(self):
5536        return {
5537            'rate_limit': self.rate_limit,
5538        }
@classmethod
def from_dict(cls, d)
5540    @classmethod
5541    def from_dict(cls, d):
5542        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowStep:
5545class ApprovalWorkflowStep:
5546    '''
5547         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
5548    '''
5549    __slots__ = [
5550        'approval_flow_id',
5551        'id',
5552    ]
5553
5554    def __init__(
5555        self,
5556        approval_flow_id=None,
5557        id=None,
5558    ):
5559        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5560        '''
5561         The approval flow id specified the approval workfflow that this step belongs to
5562        '''
5563        self.id = id if id is not None else ''
5564        '''
5565         Unique identifier of the ApprovalWorkflowStep.
5566        '''
5567
5568    def __repr__(self):
5569        return '<sdm.ApprovalWorkflowStep ' + \
5570            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
5571            'id: ' + repr(self.id) + ' ' +\
5572            '>'
5573
5574    def to_dict(self):
5575        return {
5576            'approval_flow_id': self.approval_flow_id,
5577            'id': self.id,
5578        }
5579
5580    @classmethod
5581    def from_dict(cls, d):
5582        return cls(
5583            approval_flow_id=d.get('approval_flow_id'),
5584            id=d.get('id'),
5585        )

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow

ApprovalWorkflowStep(approval_flow_id=None, id=None)
5554    def __init__(
5555        self,
5556        approval_flow_id=None,
5557        id=None,
5558    ):
5559        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5560        '''
5561         The approval flow id specified the approval workfflow that this step belongs to
5562        '''
5563        self.id = id if id is not None else ''
5564        '''
5565         Unique identifier of the ApprovalWorkflowStep.
5566        '''
approval_flow_id

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

id

Unique identifier of the ApprovalWorkflowStep.

def to_dict(self)
5574    def to_dict(self):
5575        return {
5576            'approval_flow_id': self.approval_flow_id,
5577            'id': self.id,
5578        }
@classmethod
def from_dict(cls, d)
5580    @classmethod
5581    def from_dict(cls, d):
5582        return cls(
5583            approval_flow_id=d.get('approval_flow_id'),
5584            id=d.get('id'),
5585        )
class ApprovalWorkflowStepCreateResponse:
5588class ApprovalWorkflowStepCreateResponse:
5589    '''
5590         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
5591    '''
5592    __slots__ = [
5593        'approval_workflow_step',
5594        'rate_limit',
5595    ]
5596
5597    def __init__(
5598        self,
5599        approval_workflow_step=None,
5600        rate_limit=None,
5601    ):
5602        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5603        '''
5604         The created approval workflow step.
5605        '''
5606        self.rate_limit = rate_limit if rate_limit is not None else None
5607        '''
5608         Rate limit information.
5609        '''
5610
5611    def __repr__(self):
5612        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
5613            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5614            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5615            '>'
5616
5617    def to_dict(self):
5618        return {
5619            'approval_workflow_step': self.approval_workflow_step,
5620            'rate_limit': self.rate_limit,
5621        }
5622
5623    @classmethod
5624    def from_dict(cls, d):
5625        return cls(
5626            approval_workflow_step=d.get('approval_workflow_step'),
5627            rate_limit=d.get('rate_limit'),
5628        )

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

ApprovalWorkflowStepCreateResponse(approval_workflow_step=None, rate_limit=None)
5597    def __init__(
5598        self,
5599        approval_workflow_step=None,
5600        rate_limit=None,
5601    ):
5602        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5603        '''
5604         The created approval workflow step.
5605        '''
5606        self.rate_limit = rate_limit if rate_limit is not None else None
5607        '''
5608         Rate limit information.
5609        '''
approval_workflow_step

The created approval workflow step.

rate_limit

Rate limit information.

def to_dict(self)
5617    def to_dict(self):
5618        return {
5619            'approval_workflow_step': self.approval_workflow_step,
5620            'rate_limit': self.rate_limit,
5621        }
@classmethod
def from_dict(cls, d)
5623    @classmethod
5624    def from_dict(cls, d):
5625        return cls(
5626            approval_workflow_step=d.get('approval_workflow_step'),
5627            rate_limit=d.get('rate_limit'),
5628        )
class ApprovalWorkflowStepDeleteResponse:
5631class ApprovalWorkflowStepDeleteResponse:
5632    '''
5633         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
5634    '''
5635    __slots__ = [
5636        'id',
5637        'rate_limit',
5638    ]
5639
5640    def __init__(
5641        self,
5642        id=None,
5643        rate_limit=None,
5644    ):
5645        self.id = id if id is not None else ''
5646        '''
5647         The deleted approval workflow step id.
5648        '''
5649        self.rate_limit = rate_limit if rate_limit is not None else None
5650        '''
5651         Rate limit information.
5652        '''
5653
5654    def __repr__(self):
5655        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
5656            'id: ' + repr(self.id) + ' ' +\
5657            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5658            '>'
5659
5660    def to_dict(self):
5661        return {
5662            'id': self.id,
5663            'rate_limit': self.rate_limit,
5664        }
5665
5666    @classmethod
5667    def from_dict(cls, d):
5668        return cls(
5669            id=d.get('id'),
5670            rate_limit=d.get('rate_limit'),
5671        )

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

ApprovalWorkflowStepDeleteResponse(id=None, rate_limit=None)
5640    def __init__(
5641        self,
5642        id=None,
5643        rate_limit=None,
5644    ):
5645        self.id = id if id is not None else ''
5646        '''
5647         The deleted approval workflow step id.
5648        '''
5649        self.rate_limit = rate_limit if rate_limit is not None else None
5650        '''
5651         Rate limit information.
5652        '''
id

The deleted approval workflow step id.

rate_limit

Rate limit information.

def to_dict(self)
5660    def to_dict(self):
5661        return {
5662            'id': self.id,
5663            'rate_limit': self.rate_limit,
5664        }
@classmethod
def from_dict(cls, d)
5666    @classmethod
5667    def from_dict(cls, d):
5668        return cls(
5669            id=d.get('id'),
5670            rate_limit=d.get('rate_limit'),
5671        )
class ApprovalWorkflowStepGetResponse:
5674class ApprovalWorkflowStepGetResponse:
5675    '''
5676         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
5677    '''
5678    __slots__ = [
5679        'approval_workflow_step',
5680        'meta',
5681        'rate_limit',
5682    ]
5683
5684    def __init__(
5685        self,
5686        approval_workflow_step=None,
5687        meta=None,
5688        rate_limit=None,
5689    ):
5690        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5691        '''
5692         The requested ApprovalWorkflowStep.
5693        '''
5694        self.meta = meta if meta is not None else None
5695        '''
5696         Reserved for future use.
5697        '''
5698        self.rate_limit = rate_limit if rate_limit is not None else None
5699        '''
5700         Rate limit information.
5701        '''
5702
5703    def __repr__(self):
5704        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
5705            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5706            'meta: ' + repr(self.meta) + ' ' +\
5707            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5708            '>'
5709
5710    def to_dict(self):
5711        return {
5712            'approval_workflow_step': self.approval_workflow_step,
5713            'meta': self.meta,
5714            'rate_limit': self.rate_limit,
5715        }
5716
5717    @classmethod
5718    def from_dict(cls, d):
5719        return cls(
5720            approval_workflow_step=d.get('approval_workflow_step'),
5721            meta=d.get('meta'),
5722            rate_limit=d.get('rate_limit'),
5723        )

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

ApprovalWorkflowStepGetResponse(approval_workflow_step=None, meta=None, rate_limit=None)
5684    def __init__(
5685        self,
5686        approval_workflow_step=None,
5687        meta=None,
5688        rate_limit=None,
5689    ):
5690        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5691        '''
5692         The requested ApprovalWorkflowStep.
5693        '''
5694        self.meta = meta if meta is not None else None
5695        '''
5696         Reserved for future use.
5697        '''
5698        self.rate_limit = rate_limit if rate_limit is not None else None
5699        '''
5700         Rate limit information.
5701        '''
approval_workflow_step

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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)
5739    def __init__(
5740        self,
5741        activity_id=None,
5742        approval_workflow_step=None,
5743        deleted_at=None,
5744        timestamp=None,
5745    ):
5746        self.activity_id = activity_id if activity_id is not None else ''
5747        '''
5748         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
5749         May be empty for some system-initiated updates.
5750        '''
5751        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5752        '''
5753         The complete ApprovalWorkflowStep state at this time.
5754        '''
5755        self.deleted_at = deleted_at if deleted_at is not None else None
5756        '''
5757         If this ApprovalWorkflowStep was deleted, the time it was deleted.
5758        '''
5759        self.timestamp = timestamp if timestamp is not None else None
5760        '''
5761         The time at which the ApprovalWorkflowStep state was recorded.
5762        '''
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)
5772    def to_dict(self):
5773        return {
5774            'activity_id': self.activity_id,
5775            'approval_workflow_step': self.approval_workflow_step,
5776            'deleted_at': self.deleted_at,
5777            'timestamp': self.timestamp,
5778        }
@classmethod
def from_dict(cls, d)
5780    @classmethod
5781    def from_dict(cls, d):
5782        return cls(
5783            activity_id=d.get('activity_id'),
5784            approval_workflow_step=d.get('approval_workflow_step'),
5785            deleted_at=d.get('deleted_at'),
5786            timestamp=d.get('timestamp'),
5787        )
class ApprovalWorkflowStepListResponse:
5790class ApprovalWorkflowStepListResponse:
5791    '''
5792         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
5793     the criteria of an ApprovalWorkflowStepListRequest.
5794    '''
5795    __slots__ = [
5796        'rate_limit',
5797    ]
5798
5799    def __init__(
5800        self,
5801        rate_limit=None,
5802    ):
5803        self.rate_limit = rate_limit if rate_limit is not None else None
5804        '''
5805         Rate limit information.
5806        '''
5807
5808    def __repr__(self):
5809        return '<sdm.ApprovalWorkflowStepListResponse ' + \
5810            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5811            '>'
5812
5813    def to_dict(self):
5814        return {
5815            'rate_limit': self.rate_limit,
5816        }
5817
5818    @classmethod
5819    def from_dict(cls, d):
5820        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)
5799    def __init__(
5800        self,
5801        rate_limit=None,
5802    ):
5803        self.rate_limit = rate_limit if rate_limit is not None else None
5804        '''
5805         Rate limit information.
5806        '''
rate_limit

Rate limit information.

def to_dict(self)
5813    def to_dict(self):
5814        return {
5815            'rate_limit': self.rate_limit,
5816        }
@classmethod
def from_dict(cls, d)
5818    @classmethod
5819    def from_dict(cls, d):
5820        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowUpdateResponse:
5823class ApprovalWorkflowUpdateResponse:
5824    '''
5825         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
5826     an ApprovalWorkflowUpdateRequest.
5827    '''
5828    __slots__ = [
5829        'approval_workflow',
5830        'rate_limit',
5831    ]
5832
5833    def __init__(
5834        self,
5835        approval_workflow=None,
5836        rate_limit=None,
5837    ):
5838        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5839        '''
5840         The updated approval workflow.
5841        '''
5842        self.rate_limit = rate_limit if rate_limit is not None else None
5843        '''
5844         Rate limit information.
5845        '''
5846
5847    def __repr__(self):
5848        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
5849            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5850            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5851            '>'
5852
5853    def to_dict(self):
5854        return {
5855            'approval_workflow': self.approval_workflow,
5856            'rate_limit': self.rate_limit,
5857        }
5858
5859    @classmethod
5860    def from_dict(cls, d):
5861        return cls(
5862            approval_workflow=d.get('approval_workflow'),
5863            rate_limit=d.get('rate_limit'),
5864        )

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

ApprovalWorkflowUpdateResponse(approval_workflow=None, rate_limit=None)
5833    def __init__(
5834        self,
5835        approval_workflow=None,
5836        rate_limit=None,
5837    ):
5838        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5839        '''
5840         The updated approval workflow.
5841        '''
5842        self.rate_limit = rate_limit if rate_limit is not None else None
5843        '''
5844         Rate limit information.
5845        '''
approval_workflow

The updated approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
5853    def to_dict(self):
5854        return {
5855            'approval_workflow': self.approval_workflow,
5856            'rate_limit': self.rate_limit,
5857        }
@classmethod
def from_dict(cls, d)
5859    @classmethod
5860    def from_dict(cls, d):
5861        return cls(
5862            approval_workflow=d.get('approval_workflow'),
5863            rate_limit=d.get('rate_limit'),
5864        )
class Athena:
5867class Athena:
5868    __slots__ = [
5869        'access_key',
5870        'bind_interface',
5871        'egress_filter',
5872        'healthy',
5873        'id',
5874        'name',
5875        'output',
5876        'port_override',
5877        'proxy_cluster_id',
5878        'region',
5879        'role_arn',
5880        'role_external_id',
5881        'secret_access_key',
5882        'secret_store_id',
5883        'subdomain',
5884        'tags',
5885    ]
5886
5887    def __init__(
5888        self,
5889        access_key=None,
5890        bind_interface=None,
5891        egress_filter=None,
5892        healthy=None,
5893        id=None,
5894        name=None,
5895        output=None,
5896        port_override=None,
5897        proxy_cluster_id=None,
5898        region=None,
5899        role_arn=None,
5900        role_external_id=None,
5901        secret_access_key=None,
5902        secret_store_id=None,
5903        subdomain=None,
5904        tags=None,
5905    ):
5906        self.access_key = access_key if access_key is not None else ''
5907        '''
5908         The Access Key ID to use to authenticate.
5909        '''
5910        self.bind_interface = bind_interface if bind_interface is not None else ''
5911        '''
5912         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5913        '''
5914        self.egress_filter = egress_filter if egress_filter is not None else ''
5915        '''
5916         A filter applied to the routing logic to pin datasource to nodes.
5917        '''
5918        self.healthy = healthy if healthy is not None else False
5919        '''
5920         True if the datasource is reachable and the credentials are valid.
5921        '''
5922        self.id = id if id is not None else ''
5923        '''
5924         Unique identifier of the Resource.
5925        '''
5926        self.name = name if name is not None else ''
5927        '''
5928         Unique human-readable name of the Resource.
5929        '''
5930        self.output = output if output is not None else ''
5931        '''
5932         The AWS S3 output location.
5933        '''
5934        self.port_override = port_override if port_override is not None else 0
5935        '''
5936         The local port used by clients to connect to this resource.
5937        '''
5938        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5939        '''
5940         ID of the proxy cluster for this resource, if any.
5941        '''
5942        self.region = region if region is not None else ''
5943        '''
5944         The AWS region to connect to e.g. us-east-1.
5945        '''
5946        self.role_arn = role_arn if role_arn is not None else ''
5947        '''
5948         The role to assume after logging in.
5949        '''
5950        self.role_external_id = role_external_id if role_external_id is not None else ''
5951        '''
5952         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5953        '''
5954        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5955        '''
5956         The Secret Access Key to use to authenticate.
5957        '''
5958        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5959        '''
5960         ID of the secret store containing credentials for this resource, if any.
5961        '''
5962        self.subdomain = subdomain if subdomain is not None else ''
5963        '''
5964         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5965        '''
5966        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5967        '''
5968         Tags is a map of key, value pairs.
5969        '''
5970
5971    def __repr__(self):
5972        return '<sdm.Athena ' + \
5973            'access_key: ' + repr(self.access_key) + ' ' +\
5974            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5975            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5976            'healthy: ' + repr(self.healthy) + ' ' +\
5977            'id: ' + repr(self.id) + ' ' +\
5978            'name: ' + repr(self.name) + ' ' +\
5979            'output: ' + repr(self.output) + ' ' +\
5980            'port_override: ' + repr(self.port_override) + ' ' +\
5981            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5982            'region: ' + repr(self.region) + ' ' +\
5983            'role_arn: ' + repr(self.role_arn) + ' ' +\
5984            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5985            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
5986            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5987            'subdomain: ' + repr(self.subdomain) + ' ' +\
5988            'tags: ' + repr(self.tags) + ' ' +\
5989            '>'
5990
5991    def to_dict(self):
5992        return {
5993            'access_key': self.access_key,
5994            'bind_interface': self.bind_interface,
5995            'egress_filter': self.egress_filter,
5996            'healthy': self.healthy,
5997            'id': self.id,
5998            'name': self.name,
5999            'output': self.output,
6000            'port_override': self.port_override,
6001            'proxy_cluster_id': self.proxy_cluster_id,
6002            'region': self.region,
6003            'role_arn': self.role_arn,
6004            'role_external_id': self.role_external_id,
6005            'secret_access_key': self.secret_access_key,
6006            'secret_store_id': self.secret_store_id,
6007            'subdomain': self.subdomain,
6008            'tags': self.tags,
6009        }
6010
6011    @classmethod
6012    def from_dict(cls, d):
6013        return cls(
6014            access_key=d.get('access_key'),
6015            bind_interface=d.get('bind_interface'),
6016            egress_filter=d.get('egress_filter'),
6017            healthy=d.get('healthy'),
6018            id=d.get('id'),
6019            name=d.get('name'),
6020            output=d.get('output'),
6021            port_override=d.get('port_override'),
6022            proxy_cluster_id=d.get('proxy_cluster_id'),
6023            region=d.get('region'),
6024            role_arn=d.get('role_arn'),
6025            role_external_id=d.get('role_external_id'),
6026            secret_access_key=d.get('secret_access_key'),
6027            secret_store_id=d.get('secret_store_id'),
6028            subdomain=d.get('subdomain'),
6029            tags=d.get('tags'),
6030        )
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)
5887    def __init__(
5888        self,
5889        access_key=None,
5890        bind_interface=None,
5891        egress_filter=None,
5892        healthy=None,
5893        id=None,
5894        name=None,
5895        output=None,
5896        port_override=None,
5897        proxy_cluster_id=None,
5898        region=None,
5899        role_arn=None,
5900        role_external_id=None,
5901        secret_access_key=None,
5902        secret_store_id=None,
5903        subdomain=None,
5904        tags=None,
5905    ):
5906        self.access_key = access_key if access_key is not None else ''
5907        '''
5908         The Access Key ID to use to authenticate.
5909        '''
5910        self.bind_interface = bind_interface if bind_interface is not None else ''
5911        '''
5912         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5913        '''
5914        self.egress_filter = egress_filter if egress_filter is not None else ''
5915        '''
5916         A filter applied to the routing logic to pin datasource to nodes.
5917        '''
5918        self.healthy = healthy if healthy is not None else False
5919        '''
5920         True if the datasource is reachable and the credentials are valid.
5921        '''
5922        self.id = id if id is not None else ''
5923        '''
5924         Unique identifier of the Resource.
5925        '''
5926        self.name = name if name is not None else ''
5927        '''
5928         Unique human-readable name of the Resource.
5929        '''
5930        self.output = output if output is not None else ''
5931        '''
5932         The AWS S3 output location.
5933        '''
5934        self.port_override = port_override if port_override is not None else 0
5935        '''
5936         The local port used by clients to connect to this resource.
5937        '''
5938        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5939        '''
5940         ID of the proxy cluster for this resource, if any.
5941        '''
5942        self.region = region if region is not None else ''
5943        '''
5944         The AWS region to connect to e.g. us-east-1.
5945        '''
5946        self.role_arn = role_arn if role_arn is not None else ''
5947        '''
5948         The role to assume after logging in.
5949        '''
5950        self.role_external_id = role_external_id if role_external_id is not None else ''
5951        '''
5952         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5953        '''
5954        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5955        '''
5956         The Secret Access Key to use to authenticate.
5957        '''
5958        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5959        '''
5960         ID of the secret store containing credentials for this resource, if any.
5961        '''
5962        self.subdomain = subdomain if subdomain is not None else ''
5963        '''
5964         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5965        '''
5966        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5967        '''
5968         Tags is a map of key, value pairs.
5969        '''
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)
5991    def to_dict(self):
5992        return {
5993            'access_key': self.access_key,
5994            'bind_interface': self.bind_interface,
5995            'egress_filter': self.egress_filter,
5996            'healthy': self.healthy,
5997            'id': self.id,
5998            'name': self.name,
5999            'output': self.output,
6000            'port_override': self.port_override,
6001            'proxy_cluster_id': self.proxy_cluster_id,
6002            'region': self.region,
6003            'role_arn': self.role_arn,
6004            'role_external_id': self.role_external_id,
6005            'secret_access_key': self.secret_access_key,
6006            'secret_store_id': self.secret_store_id,
6007            'subdomain': self.subdomain,
6008            'tags': self.tags,
6009        }
@classmethod
def from_dict(cls, d)
6011    @classmethod
6012    def from_dict(cls, d):
6013        return cls(
6014            access_key=d.get('access_key'),
6015            bind_interface=d.get('bind_interface'),
6016            egress_filter=d.get('egress_filter'),
6017            healthy=d.get('healthy'),
6018            id=d.get('id'),
6019            name=d.get('name'),
6020            output=d.get('output'),
6021            port_override=d.get('port_override'),
6022            proxy_cluster_id=d.get('proxy_cluster_id'),
6023            region=d.get('region'),
6024            role_arn=d.get('role_arn'),
6025            role_external_id=d.get('role_external_id'),
6026            secret_access_key=d.get('secret_access_key'),
6027            secret_store_id=d.get('secret_store_id'),
6028            subdomain=d.get('subdomain'),
6029            tags=d.get('tags'),
6030        )
class AthenaIAM:
6033class AthenaIAM:
6034    __slots__ = [
6035        'bind_interface',
6036        'egress_filter',
6037        'healthy',
6038        'id',
6039        'name',
6040        'output',
6041        'port_override',
6042        'proxy_cluster_id',
6043        'region',
6044        'role_arn',
6045        'role_external_id',
6046        'secret_store_id',
6047        'subdomain',
6048        'tags',
6049    ]
6050
6051    def __init__(
6052        self,
6053        bind_interface=None,
6054        egress_filter=None,
6055        healthy=None,
6056        id=None,
6057        name=None,
6058        output=None,
6059        port_override=None,
6060        proxy_cluster_id=None,
6061        region=None,
6062        role_arn=None,
6063        role_external_id=None,
6064        secret_store_id=None,
6065        subdomain=None,
6066        tags=None,
6067    ):
6068        self.bind_interface = bind_interface if bind_interface is not None else ''
6069        '''
6070         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6071        '''
6072        self.egress_filter = egress_filter if egress_filter is not None else ''
6073        '''
6074         A filter applied to the routing logic to pin datasource to nodes.
6075        '''
6076        self.healthy = healthy if healthy is not None else False
6077        '''
6078         True if the datasource is reachable and the credentials are valid.
6079        '''
6080        self.id = id if id is not None else ''
6081        '''
6082         Unique identifier of the Resource.
6083        '''
6084        self.name = name if name is not None else ''
6085        '''
6086         Unique human-readable name of the Resource.
6087        '''
6088        self.output = output if output is not None else ''
6089        '''
6090         The AWS S3 output location.
6091        '''
6092        self.port_override = port_override if port_override is not None else 0
6093        '''
6094         The local port used by clients to connect to this resource.
6095        '''
6096        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6097        '''
6098         ID of the proxy cluster for this resource, if any.
6099        '''
6100        self.region = region if region is not None else ''
6101        '''
6102         The AWS region to connect to e.g. us-east-1.
6103        '''
6104        self.role_arn = role_arn if role_arn is not None else ''
6105        '''
6106         The role to assume after logging in.
6107        '''
6108        self.role_external_id = role_external_id if role_external_id is not None else ''
6109        '''
6110         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6111        '''
6112        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6113        '''
6114         ID of the secret store containing credentials for this resource, if any.
6115        '''
6116        self.subdomain = subdomain if subdomain is not None else ''
6117        '''
6118         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6119        '''
6120        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6121        '''
6122         Tags is a map of key, value pairs.
6123        '''
6124
6125    def __repr__(self):
6126        return '<sdm.AthenaIAM ' + \
6127            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6128            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6129            'healthy: ' + repr(self.healthy) + ' ' +\
6130            'id: ' + repr(self.id) + ' ' +\
6131            'name: ' + repr(self.name) + ' ' +\
6132            'output: ' + repr(self.output) + ' ' +\
6133            'port_override: ' + repr(self.port_override) + ' ' +\
6134            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6135            'region: ' + repr(self.region) + ' ' +\
6136            'role_arn: ' + repr(self.role_arn) + ' ' +\
6137            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
6138            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6139            'subdomain: ' + repr(self.subdomain) + ' ' +\
6140            'tags: ' + repr(self.tags) + ' ' +\
6141            '>'
6142
6143    def to_dict(self):
6144        return {
6145            'bind_interface': self.bind_interface,
6146            'egress_filter': self.egress_filter,
6147            'healthy': self.healthy,
6148            'id': self.id,
6149            'name': self.name,
6150            'output': self.output,
6151            'port_override': self.port_override,
6152            'proxy_cluster_id': self.proxy_cluster_id,
6153            'region': self.region,
6154            'role_arn': self.role_arn,
6155            'role_external_id': self.role_external_id,
6156            'secret_store_id': self.secret_store_id,
6157            'subdomain': self.subdomain,
6158            'tags': self.tags,
6159        }
6160
6161    @classmethod
6162    def from_dict(cls, d):
6163        return cls(
6164            bind_interface=d.get('bind_interface'),
6165            egress_filter=d.get('egress_filter'),
6166            healthy=d.get('healthy'),
6167            id=d.get('id'),
6168            name=d.get('name'),
6169            output=d.get('output'),
6170            port_override=d.get('port_override'),
6171            proxy_cluster_id=d.get('proxy_cluster_id'),
6172            region=d.get('region'),
6173            role_arn=d.get('role_arn'),
6174            role_external_id=d.get('role_external_id'),
6175            secret_store_id=d.get('secret_store_id'),
6176            subdomain=d.get('subdomain'),
6177            tags=d.get('tags'),
6178        )
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)
6051    def __init__(
6052        self,
6053        bind_interface=None,
6054        egress_filter=None,
6055        healthy=None,
6056        id=None,
6057        name=None,
6058        output=None,
6059        port_override=None,
6060        proxy_cluster_id=None,
6061        region=None,
6062        role_arn=None,
6063        role_external_id=None,
6064        secret_store_id=None,
6065        subdomain=None,
6066        tags=None,
6067    ):
6068        self.bind_interface = bind_interface if bind_interface is not None else ''
6069        '''
6070         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6071        '''
6072        self.egress_filter = egress_filter if egress_filter is not None else ''
6073        '''
6074         A filter applied to the routing logic to pin datasource to nodes.
6075        '''
6076        self.healthy = healthy if healthy is not None else False
6077        '''
6078         True if the datasource is reachable and the credentials are valid.
6079        '''
6080        self.id = id if id is not None else ''
6081        '''
6082         Unique identifier of the Resource.
6083        '''
6084        self.name = name if name is not None else ''
6085        '''
6086         Unique human-readable name of the Resource.
6087        '''
6088        self.output = output if output is not None else ''
6089        '''
6090         The AWS S3 output location.
6091        '''
6092        self.port_override = port_override if port_override is not None else 0
6093        '''
6094         The local port used by clients to connect to this resource.
6095        '''
6096        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6097        '''
6098         ID of the proxy cluster for this resource, if any.
6099        '''
6100        self.region = region if region is not None else ''
6101        '''
6102         The AWS region to connect to e.g. us-east-1.
6103        '''
6104        self.role_arn = role_arn if role_arn is not None else ''
6105        '''
6106         The role to assume after logging in.
6107        '''
6108        self.role_external_id = role_external_id if role_external_id is not None else ''
6109        '''
6110         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6111        '''
6112        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6113        '''
6114         ID of the secret store containing credentials for this resource, if any.
6115        '''
6116        self.subdomain = subdomain if subdomain is not None else ''
6117        '''
6118         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6119        '''
6120        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6121        '''
6122         Tags is a map of key, value pairs.
6123        '''
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)
6143    def to_dict(self):
6144        return {
6145            'bind_interface': self.bind_interface,
6146            'egress_filter': self.egress_filter,
6147            'healthy': self.healthy,
6148            'id': self.id,
6149            'name': self.name,
6150            'output': self.output,
6151            'port_override': self.port_override,
6152            'proxy_cluster_id': self.proxy_cluster_id,
6153            'region': self.region,
6154            'role_arn': self.role_arn,
6155            'role_external_id': self.role_external_id,
6156            'secret_store_id': self.secret_store_id,
6157            'subdomain': self.subdomain,
6158            'tags': self.tags,
6159        }
@classmethod
def from_dict(cls, d)
6161    @classmethod
6162    def from_dict(cls, d):
6163        return cls(
6164            bind_interface=d.get('bind_interface'),
6165            egress_filter=d.get('egress_filter'),
6166            healthy=d.get('healthy'),
6167            id=d.get('id'),
6168            name=d.get('name'),
6169            output=d.get('output'),
6170            port_override=d.get('port_override'),
6171            proxy_cluster_id=d.get('proxy_cluster_id'),
6172            region=d.get('region'),
6173            role_arn=d.get('role_arn'),
6174            role_external_id=d.get('role_external_id'),
6175            secret_store_id=d.get('secret_store_id'),
6176            subdomain=d.get('subdomain'),
6177            tags=d.get('tags'),
6178        )
class AuroraMysql:
6181class AuroraMysql:
6182    __slots__ = [
6183        'bind_interface',
6184        'database',
6185        'egress_filter',
6186        'healthy',
6187        'hostname',
6188        'id',
6189        'name',
6190        'password',
6191        'port',
6192        'port_override',
6193        'proxy_cluster_id',
6194        'require_native_auth',
6195        'secret_store_id',
6196        'subdomain',
6197        'tags',
6198        'use_azure_single_server_usernames',
6199        'username',
6200    ]
6201
6202    def __init__(
6203        self,
6204        bind_interface=None,
6205        database=None,
6206        egress_filter=None,
6207        healthy=None,
6208        hostname=None,
6209        id=None,
6210        name=None,
6211        password=None,
6212        port=None,
6213        port_override=None,
6214        proxy_cluster_id=None,
6215        require_native_auth=None,
6216        secret_store_id=None,
6217        subdomain=None,
6218        tags=None,
6219        use_azure_single_server_usernames=None,
6220        username=None,
6221    ):
6222        self.bind_interface = bind_interface if bind_interface is not None else ''
6223        '''
6224         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6225        '''
6226        self.database = database if database is not None else ''
6227        '''
6228         The database for healthchecks. Does not affect client requests
6229        '''
6230        self.egress_filter = egress_filter if egress_filter is not None else ''
6231        '''
6232         A filter applied to the routing logic to pin datasource to nodes.
6233        '''
6234        self.healthy = healthy if healthy is not None else False
6235        '''
6236         True if the datasource is reachable and the credentials are valid.
6237        '''
6238        self.hostname = hostname if hostname is not None else ''
6239        '''
6240         The host to dial to initiate a connection from the egress node to this resource.
6241        '''
6242        self.id = id if id is not None else ''
6243        '''
6244         Unique identifier of the Resource.
6245        '''
6246        self.name = name if name is not None else ''
6247        '''
6248         Unique human-readable name of the Resource.
6249        '''
6250        self.password = password if password is not None else ''
6251        '''
6252         The password to authenticate with.
6253        '''
6254        self.port = port if port is not None else 0
6255        '''
6256         The port to dial to initiate a connection from the egress node to this resource.
6257        '''
6258        self.port_override = port_override if port_override is not None else 0
6259        '''
6260         The local port used by clients to connect to this resource.
6261        '''
6262        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6263        '''
6264         ID of the proxy cluster for this resource, if any.
6265        '''
6266        self.require_native_auth = require_native_auth if require_native_auth is not None else False
6267        '''
6268         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6269        '''
6270        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6271        '''
6272         ID of the secret store containing credentials for this resource, if any.
6273        '''
6274        self.subdomain = subdomain if subdomain is not None else ''
6275        '''
6276         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6277        '''
6278        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6279        '''
6280         Tags is a map of key, value pairs.
6281        '''
6282        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
6283        '''
6284         If true, appends the hostname to the username when hitting a database.azure.com address
6285        '''
6286        self.username = username if username is not None else ''
6287        '''
6288         The username to authenticate with.
6289        '''
6290
6291    def __repr__(self):
6292        return '<sdm.AuroraMysql ' + \
6293            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6294            'database: ' + repr(self.database) + ' ' +\
6295            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6296            'healthy: ' + repr(self.healthy) + ' ' +\
6297            'hostname: ' + repr(self.hostname) + ' ' +\
6298            'id: ' + repr(self.id) + ' ' +\
6299            'name: ' + repr(self.name) + ' ' +\
6300            'password: ' + repr(self.password) + ' ' +\
6301            'port: ' + repr(self.port) + ' ' +\
6302            'port_override: ' + repr(self.port_override) + ' ' +\
6303            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6304            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
6305            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6306            'subdomain: ' + repr(self.subdomain) + ' ' +\
6307            'tags: ' + repr(self.tags) + ' ' +\
6308            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
6309            'username: ' + repr(self.username) + ' ' +\
6310            '>'
6311
6312    def to_dict(self):
6313        return {
6314            'bind_interface': self.bind_interface,
6315            'database': self.database,
6316            'egress_filter': self.egress_filter,
6317            'healthy': self.healthy,
6318            'hostname': self.hostname,
6319            'id': self.id,
6320            'name': self.name,
6321            'password': self.password,
6322            'port': self.port,
6323            'port_override': self.port_override,
6324            'proxy_cluster_id': self.proxy_cluster_id,
6325            'require_native_auth': self.require_native_auth,
6326            'secret_store_id': self.secret_store_id,
6327            'subdomain': self.subdomain,
6328            'tags': self.tags,
6329            'use_azure_single_server_usernames':
6330            self.use_azure_single_server_usernames,
6331            'username': self.username,
6332        }
6333
6334    @classmethod
6335    def from_dict(cls, d):
6336        return cls(
6337            bind_interface=d.get('bind_interface'),
6338            database=d.get('database'),
6339            egress_filter=d.get('egress_filter'),
6340            healthy=d.get('healthy'),
6341            hostname=d.get('hostname'),
6342            id=d.get('id'),
6343            name=d.get('name'),
6344            password=d.get('password'),
6345            port=d.get('port'),
6346            port_override=d.get('port_override'),
6347            proxy_cluster_id=d.get('proxy_cluster_id'),
6348            require_native_auth=d.get('require_native_auth'),
6349            secret_store_id=d.get('secret_store_id'),
6350            subdomain=d.get('subdomain'),
6351            tags=d.get('tags'),
6352            use_azure_single_server_usernames=d.get(
6353                'use_azure_single_server_usernames'),
6354            username=d.get('username'),
6355        )
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)
6202    def __init__(
6203        self,
6204        bind_interface=None,
6205        database=None,
6206        egress_filter=None,
6207        healthy=None,
6208        hostname=None,
6209        id=None,
6210        name=None,
6211        password=None,
6212        port=None,
6213        port_override=None,
6214        proxy_cluster_id=None,
6215        require_native_auth=None,
6216        secret_store_id=None,
6217        subdomain=None,
6218        tags=None,
6219        use_azure_single_server_usernames=None,
6220        username=None,
6221    ):
6222        self.bind_interface = bind_interface if bind_interface is not None else ''
6223        '''
6224         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6225        '''
6226        self.database = database if database is not None else ''
6227        '''
6228         The database for healthchecks. Does not affect client requests
6229        '''
6230        self.egress_filter = egress_filter if egress_filter is not None else ''
6231        '''
6232         A filter applied to the routing logic to pin datasource to nodes.
6233        '''
6234        self.healthy = healthy if healthy is not None else False
6235        '''
6236         True if the datasource is reachable and the credentials are valid.
6237        '''
6238        self.hostname = hostname if hostname is not None else ''
6239        '''
6240         The host to dial to initiate a connection from the egress node to this resource.
6241        '''
6242        self.id = id if id is not None else ''
6243        '''
6244         Unique identifier of the Resource.
6245        '''
6246        self.name = name if name is not None else ''
6247        '''
6248         Unique human-readable name of the Resource.
6249        '''
6250        self.password = password if password is not None else ''
6251        '''
6252         The password to authenticate with.
6253        '''
6254        self.port = port if port is not None else 0
6255        '''
6256         The port to dial to initiate a connection from the egress node to this resource.
6257        '''
6258        self.port_override = port_override if port_override is not None else 0
6259        '''
6260         The local port used by clients to connect to this resource.
6261        '''
6262        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6263        '''
6264         ID of the proxy cluster for this resource, if any.
6265        '''
6266        self.require_native_auth = require_native_auth if require_native_auth is not None else False
6267        '''
6268         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6269        '''
6270        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6271        '''
6272         ID of the secret store containing credentials for this resource, if any.
6273        '''
6274        self.subdomain = subdomain if subdomain is not None else ''
6275        '''
6276         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6277        '''
6278        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6279        '''
6280         Tags is a map of key, value pairs.
6281        '''
6282        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
6283        '''
6284         If true, appends the hostname to the username when hitting a database.azure.com address
6285        '''
6286        self.username = username if username is not None else ''
6287        '''
6288         The username to authenticate with.
6289        '''
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)
6312    def to_dict(self):
6313        return {
6314            'bind_interface': self.bind_interface,
6315            'database': self.database,
6316            'egress_filter': self.egress_filter,
6317            'healthy': self.healthy,
6318            'hostname': self.hostname,
6319            'id': self.id,
6320            'name': self.name,
6321            'password': self.password,
6322            'port': self.port,
6323            'port_override': self.port_override,
6324            'proxy_cluster_id': self.proxy_cluster_id,
6325            'require_native_auth': self.require_native_auth,
6326            'secret_store_id': self.secret_store_id,
6327            'subdomain': self.subdomain,
6328            'tags': self.tags,
6329            'use_azure_single_server_usernames':
6330            self.use_azure_single_server_usernames,
6331            'username': self.username,
6332        }
@classmethod
def from_dict(cls, d)
6334    @classmethod
6335    def from_dict(cls, d):
6336        return cls(
6337            bind_interface=d.get('bind_interface'),
6338            database=d.get('database'),
6339            egress_filter=d.get('egress_filter'),
6340            healthy=d.get('healthy'),
6341            hostname=d.get('hostname'),
6342            id=d.get('id'),
6343            name=d.get('name'),
6344            password=d.get('password'),
6345            port=d.get('port'),
6346            port_override=d.get('port_override'),
6347            proxy_cluster_id=d.get('proxy_cluster_id'),
6348            require_native_auth=d.get('require_native_auth'),
6349            secret_store_id=d.get('secret_store_id'),
6350            subdomain=d.get('subdomain'),
6351            tags=d.get('tags'),
6352            use_azure_single_server_usernames=d.get(
6353                'use_azure_single_server_usernames'),
6354            username=d.get('username'),
6355        )
class AuroraMysqlIAM:
6358class AuroraMysqlIAM:
6359    __slots__ = [
6360        'bind_interface',
6361        'database',
6362        'egress_filter',
6363        'healthy',
6364        'hostname',
6365        'id',
6366        'name',
6367        'port',
6368        'port_override',
6369        'proxy_cluster_id',
6370        'region',
6371        'role_assumption_arn',
6372        'secret_store_id',
6373        'subdomain',
6374        'tags',
6375        'username',
6376    ]
6377
6378    def __init__(
6379        self,
6380        bind_interface=None,
6381        database=None,
6382        egress_filter=None,
6383        healthy=None,
6384        hostname=None,
6385        id=None,
6386        name=None,
6387        port=None,
6388        port_override=None,
6389        proxy_cluster_id=None,
6390        region=None,
6391        role_assumption_arn=None,
6392        secret_store_id=None,
6393        subdomain=None,
6394        tags=None,
6395        username=None,
6396    ):
6397        self.bind_interface = bind_interface if bind_interface is not None else ''
6398        '''
6399         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6400        '''
6401        self.database = database if database is not None else ''
6402        '''
6403         The database for healthchecks. Does not affect client requests
6404        '''
6405        self.egress_filter = egress_filter if egress_filter is not None else ''
6406        '''
6407         A filter applied to the routing logic to pin datasource to nodes.
6408        '''
6409        self.healthy = healthy if healthy is not None else False
6410        '''
6411         True if the datasource is reachable and the credentials are valid.
6412        '''
6413        self.hostname = hostname if hostname is not None else ''
6414        '''
6415         The host to dial to initiate a connection from the egress node to this resource.
6416        '''
6417        self.id = id if id is not None else ''
6418        '''
6419         Unique identifier of the Resource.
6420        '''
6421        self.name = name if name is not None else ''
6422        '''
6423         Unique human-readable name of the Resource.
6424        '''
6425        self.port = port if port is not None else 0
6426        '''
6427         The port to dial to initiate a connection from the egress node to this resource.
6428        '''
6429        self.port_override = port_override if port_override is not None else 0
6430        '''
6431         The local port used by clients to connect to this resource.
6432        '''
6433        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6434        '''
6435         ID of the proxy cluster for this resource, if any.
6436        '''
6437        self.region = region if region is not None else ''
6438        '''
6439         The AWS region to connect to.
6440        '''
6441        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6442        '''
6443         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6444        '''
6445        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6446        '''
6447         ID of the secret store containing credentials for this resource, if any.
6448        '''
6449        self.subdomain = subdomain if subdomain is not None else ''
6450        '''
6451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6452        '''
6453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6454        '''
6455         Tags is a map of key, value pairs.
6456        '''
6457        self.username = username if username is not None else ''
6458        '''
6459         The username to authenticate with.
6460        '''
6461
6462    def __repr__(self):
6463        return '<sdm.AuroraMysqlIAM ' + \
6464            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6465            'database: ' + repr(self.database) + ' ' +\
6466            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6467            'healthy: ' + repr(self.healthy) + ' ' +\
6468            'hostname: ' + repr(self.hostname) + ' ' +\
6469            'id: ' + repr(self.id) + ' ' +\
6470            'name: ' + repr(self.name) + ' ' +\
6471            'port: ' + repr(self.port) + ' ' +\
6472            'port_override: ' + repr(self.port_override) + ' ' +\
6473            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6474            'region: ' + repr(self.region) + ' ' +\
6475            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
6476            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6477            'subdomain: ' + repr(self.subdomain) + ' ' +\
6478            'tags: ' + repr(self.tags) + ' ' +\
6479            'username: ' + repr(self.username) + ' ' +\
6480            '>'
6481
6482    def to_dict(self):
6483        return {
6484            'bind_interface': self.bind_interface,
6485            'database': self.database,
6486            'egress_filter': self.egress_filter,
6487            'healthy': self.healthy,
6488            'hostname': self.hostname,
6489            'id': self.id,
6490            'name': self.name,
6491            'port': self.port,
6492            'port_override': self.port_override,
6493            'proxy_cluster_id': self.proxy_cluster_id,
6494            'region': self.region,
6495            'role_assumption_arn': self.role_assumption_arn,
6496            'secret_store_id': self.secret_store_id,
6497            'subdomain': self.subdomain,
6498            'tags': self.tags,
6499            'username': self.username,
6500        }
6501
6502    @classmethod
6503    def from_dict(cls, d):
6504        return cls(
6505            bind_interface=d.get('bind_interface'),
6506            database=d.get('database'),
6507            egress_filter=d.get('egress_filter'),
6508            healthy=d.get('healthy'),
6509            hostname=d.get('hostname'),
6510            id=d.get('id'),
6511            name=d.get('name'),
6512            port=d.get('port'),
6513            port_override=d.get('port_override'),
6514            proxy_cluster_id=d.get('proxy_cluster_id'),
6515            region=d.get('region'),
6516            role_assumption_arn=d.get('role_assumption_arn'),
6517            secret_store_id=d.get('secret_store_id'),
6518            subdomain=d.get('subdomain'),
6519            tags=d.get('tags'),
6520            username=d.get('username'),
6521        )
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)
6378    def __init__(
6379        self,
6380        bind_interface=None,
6381        database=None,
6382        egress_filter=None,
6383        healthy=None,
6384        hostname=None,
6385        id=None,
6386        name=None,
6387        port=None,
6388        port_override=None,
6389        proxy_cluster_id=None,
6390        region=None,
6391        role_assumption_arn=None,
6392        secret_store_id=None,
6393        subdomain=None,
6394        tags=None,
6395        username=None,
6396    ):
6397        self.bind_interface = bind_interface if bind_interface is not None else ''
6398        '''
6399         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6400        '''
6401        self.database = database if database is not None else ''
6402        '''
6403         The database for healthchecks. Does not affect client requests
6404        '''
6405        self.egress_filter = egress_filter if egress_filter is not None else ''
6406        '''
6407         A filter applied to the routing logic to pin datasource to nodes.
6408        '''
6409        self.healthy = healthy if healthy is not None else False
6410        '''
6411         True if the datasource is reachable and the credentials are valid.
6412        '''
6413        self.hostname = hostname if hostname is not None else ''
6414        '''
6415         The host to dial to initiate a connection from the egress node to this resource.
6416        '''
6417        self.id = id if id is not None else ''
6418        '''
6419         Unique identifier of the Resource.
6420        '''
6421        self.name = name if name is not None else ''
6422        '''
6423         Unique human-readable name of the Resource.
6424        '''
6425        self.port = port if port is not None else 0
6426        '''
6427         The port to dial to initiate a connection from the egress node to this resource.
6428        '''
6429        self.port_override = port_override if port_override is not None else 0
6430        '''
6431         The local port used by clients to connect to this resource.
6432        '''
6433        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6434        '''
6435         ID of the proxy cluster for this resource, if any.
6436        '''
6437        self.region = region if region is not None else ''
6438        '''
6439         The AWS region to connect to.
6440        '''
6441        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6442        '''
6443         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6444        '''
6445        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6446        '''
6447         ID of the secret store containing credentials for this resource, if any.
6448        '''
6449        self.subdomain = subdomain if subdomain is not None else ''
6450        '''
6451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6452        '''
6453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6454        '''
6455         Tags is a map of key, value pairs.
6456        '''
6457        self.username = username if username is not None else ''
6458        '''
6459         The username to authenticate with.
6460        '''
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)
6482    def to_dict(self):
6483        return {
6484            'bind_interface': self.bind_interface,
6485            'database': self.database,
6486            'egress_filter': self.egress_filter,
6487            'healthy': self.healthy,
6488            'hostname': self.hostname,
6489            'id': self.id,
6490            'name': self.name,
6491            'port': self.port,
6492            'port_override': self.port_override,
6493            'proxy_cluster_id': self.proxy_cluster_id,
6494            'region': self.region,
6495            'role_assumption_arn': self.role_assumption_arn,
6496            'secret_store_id': self.secret_store_id,
6497            'subdomain': self.subdomain,
6498            'tags': self.tags,
6499            'username': self.username,
6500        }
@classmethod
def from_dict(cls, d)
6502    @classmethod
6503    def from_dict(cls, d):
6504        return cls(
6505            bind_interface=d.get('bind_interface'),
6506            database=d.get('database'),
6507            egress_filter=d.get('egress_filter'),
6508            healthy=d.get('healthy'),
6509            hostname=d.get('hostname'),
6510            id=d.get('id'),
6511            name=d.get('name'),
6512            port=d.get('port'),
6513            port_override=d.get('port_override'),
6514            proxy_cluster_id=d.get('proxy_cluster_id'),
6515            region=d.get('region'),
6516            role_assumption_arn=d.get('role_assumption_arn'),
6517            secret_store_id=d.get('secret_store_id'),
6518            subdomain=d.get('subdomain'),
6519            tags=d.get('tags'),
6520            username=d.get('username'),
6521        )
class AuroraPostgres:
6524class AuroraPostgres:
6525    __slots__ = [
6526        'bind_interface',
6527        'database',
6528        'egress_filter',
6529        'healthy',
6530        'hostname',
6531        'id',
6532        'name',
6533        'override_database',
6534        'password',
6535        'port',
6536        'port_override',
6537        'proxy_cluster_id',
6538        'secret_store_id',
6539        'subdomain',
6540        'tags',
6541        'username',
6542    ]
6543
6544    def __init__(
6545        self,
6546        bind_interface=None,
6547        database=None,
6548        egress_filter=None,
6549        healthy=None,
6550        hostname=None,
6551        id=None,
6552        name=None,
6553        override_database=None,
6554        password=None,
6555        port=None,
6556        port_override=None,
6557        proxy_cluster_id=None,
6558        secret_store_id=None,
6559        subdomain=None,
6560        tags=None,
6561        username=None,
6562    ):
6563        self.bind_interface = bind_interface if bind_interface is not None else ''
6564        '''
6565         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6566        '''
6567        self.database = database if database is not None else ''
6568        '''
6569         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6570        '''
6571        self.egress_filter = egress_filter if egress_filter is not None else ''
6572        '''
6573         A filter applied to the routing logic to pin datasource to nodes.
6574        '''
6575        self.healthy = healthy if healthy is not None else False
6576        '''
6577         True if the datasource is reachable and the credentials are valid.
6578        '''
6579        self.hostname = hostname if hostname is not None else ''
6580        '''
6581         The host to dial to initiate a connection from the egress node to this resource.
6582        '''
6583        self.id = id if id is not None else ''
6584        '''
6585         Unique identifier of the Resource.
6586        '''
6587        self.name = name if name is not None else ''
6588        '''
6589         Unique human-readable name of the Resource.
6590        '''
6591        self.override_database = override_database if override_database is not None else False
6592        '''
6593         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.
6594        '''
6595        self.password = password if password is not None else ''
6596        '''
6597         The password to authenticate with.
6598        '''
6599        self.port = port if port is not None else 0
6600        '''
6601         The port to dial to initiate a connection from the egress node to this resource.
6602        '''
6603        self.port_override = port_override if port_override is not None else 0
6604        '''
6605         The local port used by clients to connect to this resource.
6606        '''
6607        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6608        '''
6609         ID of the proxy cluster for this resource, if any.
6610        '''
6611        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6612        '''
6613         ID of the secret store containing credentials for this resource, if any.
6614        '''
6615        self.subdomain = subdomain if subdomain is not None else ''
6616        '''
6617         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6618        '''
6619        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6620        '''
6621         Tags is a map of key, value pairs.
6622        '''
6623        self.username = username if username is not None else ''
6624        '''
6625         The username to authenticate with.
6626        '''
6627
6628    def __repr__(self):
6629        return '<sdm.AuroraPostgres ' + \
6630            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6631            'database: ' + repr(self.database) + ' ' +\
6632            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6633            'healthy: ' + repr(self.healthy) + ' ' +\
6634            'hostname: ' + repr(self.hostname) + ' ' +\
6635            'id: ' + repr(self.id) + ' ' +\
6636            'name: ' + repr(self.name) + ' ' +\
6637            'override_database: ' + repr(self.override_database) + ' ' +\
6638            'password: ' + repr(self.password) + ' ' +\
6639            'port: ' + repr(self.port) + ' ' +\
6640            'port_override: ' + repr(self.port_override) + ' ' +\
6641            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6642            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6643            'subdomain: ' + repr(self.subdomain) + ' ' +\
6644            'tags: ' + repr(self.tags) + ' ' +\
6645            'username: ' + repr(self.username) + ' ' +\
6646            '>'
6647
6648    def to_dict(self):
6649        return {
6650            'bind_interface': self.bind_interface,
6651            'database': self.database,
6652            'egress_filter': self.egress_filter,
6653            'healthy': self.healthy,
6654            'hostname': self.hostname,
6655            'id': self.id,
6656            'name': self.name,
6657            'override_database': self.override_database,
6658            'password': self.password,
6659            'port': self.port,
6660            'port_override': self.port_override,
6661            'proxy_cluster_id': self.proxy_cluster_id,
6662            'secret_store_id': self.secret_store_id,
6663            'subdomain': self.subdomain,
6664            'tags': self.tags,
6665            'username': self.username,
6666        }
6667
6668    @classmethod
6669    def from_dict(cls, d):
6670        return cls(
6671            bind_interface=d.get('bind_interface'),
6672            database=d.get('database'),
6673            egress_filter=d.get('egress_filter'),
6674            healthy=d.get('healthy'),
6675            hostname=d.get('hostname'),
6676            id=d.get('id'),
6677            name=d.get('name'),
6678            override_database=d.get('override_database'),
6679            password=d.get('password'),
6680            port=d.get('port'),
6681            port_override=d.get('port_override'),
6682            proxy_cluster_id=d.get('proxy_cluster_id'),
6683            secret_store_id=d.get('secret_store_id'),
6684            subdomain=d.get('subdomain'),
6685            tags=d.get('tags'),
6686            username=d.get('username'),
6687        )
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)
6544    def __init__(
6545        self,
6546        bind_interface=None,
6547        database=None,
6548        egress_filter=None,
6549        healthy=None,
6550        hostname=None,
6551        id=None,
6552        name=None,
6553        override_database=None,
6554        password=None,
6555        port=None,
6556        port_override=None,
6557        proxy_cluster_id=None,
6558        secret_store_id=None,
6559        subdomain=None,
6560        tags=None,
6561        username=None,
6562    ):
6563        self.bind_interface = bind_interface if bind_interface is not None else ''
6564        '''
6565         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6566        '''
6567        self.database = database if database is not None else ''
6568        '''
6569         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6570        '''
6571        self.egress_filter = egress_filter if egress_filter is not None else ''
6572        '''
6573         A filter applied to the routing logic to pin datasource to nodes.
6574        '''
6575        self.healthy = healthy if healthy is not None else False
6576        '''
6577         True if the datasource is reachable and the credentials are valid.
6578        '''
6579        self.hostname = hostname if hostname is not None else ''
6580        '''
6581         The host to dial to initiate a connection from the egress node to this resource.
6582        '''
6583        self.id = id if id is not None else ''
6584        '''
6585         Unique identifier of the Resource.
6586        '''
6587        self.name = name if name is not None else ''
6588        '''
6589         Unique human-readable name of the Resource.
6590        '''
6591        self.override_database = override_database if override_database is not None else False
6592        '''
6593         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.
6594        '''
6595        self.password = password if password is not None else ''
6596        '''
6597         The password to authenticate with.
6598        '''
6599        self.port = port if port is not None else 0
6600        '''
6601         The port to dial to initiate a connection from the egress node to this resource.
6602        '''
6603        self.port_override = port_override if port_override is not None else 0
6604        '''
6605         The local port used by clients to connect to this resource.
6606        '''
6607        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6608        '''
6609         ID of the proxy cluster for this resource, if any.
6610        '''
6611        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6612        '''
6613         ID of the secret store containing credentials for this resource, if any.
6614        '''
6615        self.subdomain = subdomain if subdomain is not None else ''
6616        '''
6617         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6618        '''
6619        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6620        '''
6621         Tags is a map of key, value pairs.
6622        '''
6623        self.username = username if username is not None else ''
6624        '''
6625         The username to authenticate with.
6626        '''
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)
6648    def to_dict(self):
6649        return {
6650            'bind_interface': self.bind_interface,
6651            'database': self.database,
6652            'egress_filter': self.egress_filter,
6653            'healthy': self.healthy,
6654            'hostname': self.hostname,
6655            'id': self.id,
6656            'name': self.name,
6657            'override_database': self.override_database,
6658            'password': self.password,
6659            'port': self.port,
6660            'port_override': self.port_override,
6661            'proxy_cluster_id': self.proxy_cluster_id,
6662            'secret_store_id': self.secret_store_id,
6663            'subdomain': self.subdomain,
6664            'tags': self.tags,
6665            'username': self.username,
6666        }
@classmethod
def from_dict(cls, d)
6668    @classmethod
6669    def from_dict(cls, d):
6670        return cls(
6671            bind_interface=d.get('bind_interface'),
6672            database=d.get('database'),
6673            egress_filter=d.get('egress_filter'),
6674            healthy=d.get('healthy'),
6675            hostname=d.get('hostname'),
6676            id=d.get('id'),
6677            name=d.get('name'),
6678            override_database=d.get('override_database'),
6679            password=d.get('password'),
6680            port=d.get('port'),
6681            port_override=d.get('port_override'),
6682            proxy_cluster_id=d.get('proxy_cluster_id'),
6683            secret_store_id=d.get('secret_store_id'),
6684            subdomain=d.get('subdomain'),
6685            tags=d.get('tags'),
6686            username=d.get('username'),
6687        )
class AuroraPostgresIAM:
6690class AuroraPostgresIAM:
6691    __slots__ = [
6692        'bind_interface',
6693        'database',
6694        'egress_filter',
6695        'healthy',
6696        'hostname',
6697        'id',
6698        'name',
6699        'override_database',
6700        'port',
6701        'port_override',
6702        'proxy_cluster_id',
6703        'region',
6704        'role_assumption_arn',
6705        'secret_store_id',
6706        'subdomain',
6707        'tags',
6708        'username',
6709    ]
6710
6711    def __init__(
6712        self,
6713        bind_interface=None,
6714        database=None,
6715        egress_filter=None,
6716        healthy=None,
6717        hostname=None,
6718        id=None,
6719        name=None,
6720        override_database=None,
6721        port=None,
6722        port_override=None,
6723        proxy_cluster_id=None,
6724        region=None,
6725        role_assumption_arn=None,
6726        secret_store_id=None,
6727        subdomain=None,
6728        tags=None,
6729        username=None,
6730    ):
6731        self.bind_interface = bind_interface if bind_interface is not None else ''
6732        '''
6733         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6734        '''
6735        self.database = database if database is not None else ''
6736        '''
6737         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6738        '''
6739        self.egress_filter = egress_filter if egress_filter is not None else ''
6740        '''
6741         A filter applied to the routing logic to pin datasource to nodes.
6742        '''
6743        self.healthy = healthy if healthy is not None else False
6744        '''
6745         True if the datasource is reachable and the credentials are valid.
6746        '''
6747        self.hostname = hostname if hostname is not None else ''
6748        '''
6749         The host to dial to initiate a connection from the egress node to this resource.
6750        '''
6751        self.id = id if id is not None else ''
6752        '''
6753         Unique identifier of the Resource.
6754        '''
6755        self.name = name if name is not None else ''
6756        '''
6757         Unique human-readable name of the Resource.
6758        '''
6759        self.override_database = override_database if override_database is not None else False
6760        '''
6761         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.
6762        '''
6763        self.port = port if port is not None else 0
6764        '''
6765         The port to dial to initiate a connection from the egress node to this resource.
6766        '''
6767        self.port_override = port_override if port_override is not None else 0
6768        '''
6769         The local port used by clients to connect to this resource.
6770        '''
6771        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6772        '''
6773         ID of the proxy cluster for this resource, if any.
6774        '''
6775        self.region = region if region is not None else ''
6776        '''
6777         The AWS region to connect to.
6778        '''
6779        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6780        '''
6781         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6782        '''
6783        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6784        '''
6785         ID of the secret store containing credentials for this resource, if any.
6786        '''
6787        self.subdomain = subdomain if subdomain is not None else ''
6788        '''
6789         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6790        '''
6791        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6792        '''
6793         Tags is a map of key, value pairs.
6794        '''
6795        self.username = username if username is not None else ''
6796        '''
6797         The username to authenticate with.
6798        '''
6799
6800    def __repr__(self):
6801        return '<sdm.AuroraPostgresIAM ' + \
6802            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6803            'database: ' + repr(self.database) + ' ' +\
6804            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6805            'healthy: ' + repr(self.healthy) + ' ' +\
6806            'hostname: ' + repr(self.hostname) + ' ' +\
6807            'id: ' + repr(self.id) + ' ' +\
6808            'name: ' + repr(self.name) + ' ' +\
6809            'override_database: ' + repr(self.override_database) + ' ' +\
6810            'port: ' + repr(self.port) + ' ' +\
6811            'port_override: ' + repr(self.port_override) + ' ' +\
6812            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6813            'region: ' + repr(self.region) + ' ' +\
6814            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
6815            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6816            'subdomain: ' + repr(self.subdomain) + ' ' +\
6817            'tags: ' + repr(self.tags) + ' ' +\
6818            'username: ' + repr(self.username) + ' ' +\
6819            '>'
6820
6821    def to_dict(self):
6822        return {
6823            'bind_interface': self.bind_interface,
6824            'database': self.database,
6825            'egress_filter': self.egress_filter,
6826            'healthy': self.healthy,
6827            'hostname': self.hostname,
6828            'id': self.id,
6829            'name': self.name,
6830            'override_database': self.override_database,
6831            'port': self.port,
6832            'port_override': self.port_override,
6833            'proxy_cluster_id': self.proxy_cluster_id,
6834            'region': self.region,
6835            'role_assumption_arn': self.role_assumption_arn,
6836            'secret_store_id': self.secret_store_id,
6837            'subdomain': self.subdomain,
6838            'tags': self.tags,
6839            'username': self.username,
6840        }
6841
6842    @classmethod
6843    def from_dict(cls, d):
6844        return cls(
6845            bind_interface=d.get('bind_interface'),
6846            database=d.get('database'),
6847            egress_filter=d.get('egress_filter'),
6848            healthy=d.get('healthy'),
6849            hostname=d.get('hostname'),
6850            id=d.get('id'),
6851            name=d.get('name'),
6852            override_database=d.get('override_database'),
6853            port=d.get('port'),
6854            port_override=d.get('port_override'),
6855            proxy_cluster_id=d.get('proxy_cluster_id'),
6856            region=d.get('region'),
6857            role_assumption_arn=d.get('role_assumption_arn'),
6858            secret_store_id=d.get('secret_store_id'),
6859            subdomain=d.get('subdomain'),
6860            tags=d.get('tags'),
6861            username=d.get('username'),
6862        )
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)
6711    def __init__(
6712        self,
6713        bind_interface=None,
6714        database=None,
6715        egress_filter=None,
6716        healthy=None,
6717        hostname=None,
6718        id=None,
6719        name=None,
6720        override_database=None,
6721        port=None,
6722        port_override=None,
6723        proxy_cluster_id=None,
6724        region=None,
6725        role_assumption_arn=None,
6726        secret_store_id=None,
6727        subdomain=None,
6728        tags=None,
6729        username=None,
6730    ):
6731        self.bind_interface = bind_interface if bind_interface is not None else ''
6732        '''
6733         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6734        '''
6735        self.database = database if database is not None else ''
6736        '''
6737         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6738        '''
6739        self.egress_filter = egress_filter if egress_filter is not None else ''
6740        '''
6741         A filter applied to the routing logic to pin datasource to nodes.
6742        '''
6743        self.healthy = healthy if healthy is not None else False
6744        '''
6745         True if the datasource is reachable and the credentials are valid.
6746        '''
6747        self.hostname = hostname if hostname is not None else ''
6748        '''
6749         The host to dial to initiate a connection from the egress node to this resource.
6750        '''
6751        self.id = id if id is not None else ''
6752        '''
6753         Unique identifier of the Resource.
6754        '''
6755        self.name = name if name is not None else ''
6756        '''
6757         Unique human-readable name of the Resource.
6758        '''
6759        self.override_database = override_database if override_database is not None else False
6760        '''
6761         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.
6762        '''
6763        self.port = port if port is not None else 0
6764        '''
6765         The port to dial to initiate a connection from the egress node to this resource.
6766        '''
6767        self.port_override = port_override if port_override is not None else 0
6768        '''
6769         The local port used by clients to connect to this resource.
6770        '''
6771        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6772        '''
6773         ID of the proxy cluster for this resource, if any.
6774        '''
6775        self.region = region if region is not None else ''
6776        '''
6777         The AWS region to connect to.
6778        '''
6779        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6780        '''
6781         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6782        '''
6783        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6784        '''
6785         ID of the secret store containing credentials for this resource, if any.
6786        '''
6787        self.subdomain = subdomain if subdomain is not None else ''
6788        '''
6789         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6790        '''
6791        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6792        '''
6793         Tags is a map of key, value pairs.
6794        '''
6795        self.username = username if username is not None else ''
6796        '''
6797         The username to authenticate with.
6798        '''
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)
6821    def to_dict(self):
6822        return {
6823            'bind_interface': self.bind_interface,
6824            'database': self.database,
6825            'egress_filter': self.egress_filter,
6826            'healthy': self.healthy,
6827            'hostname': self.hostname,
6828            'id': self.id,
6829            'name': self.name,
6830            'override_database': self.override_database,
6831            'port': self.port,
6832            'port_override': self.port_override,
6833            'proxy_cluster_id': self.proxy_cluster_id,
6834            'region': self.region,
6835            'role_assumption_arn': self.role_assumption_arn,
6836            'secret_store_id': self.secret_store_id,
6837            'subdomain': self.subdomain,
6838            'tags': self.tags,
6839            'username': self.username,
6840        }
@classmethod
def from_dict(cls, d)
6842    @classmethod
6843    def from_dict(cls, d):
6844        return cls(
6845            bind_interface=d.get('bind_interface'),
6846            database=d.get('database'),
6847            egress_filter=d.get('egress_filter'),
6848            healthy=d.get('healthy'),
6849            hostname=d.get('hostname'),
6850            id=d.get('id'),
6851            name=d.get('name'),
6852            override_database=d.get('override_database'),
6853            port=d.get('port'),
6854            port_override=d.get('port_override'),
6855            proxy_cluster_id=d.get('proxy_cluster_id'),
6856            region=d.get('region'),
6857            role_assumption_arn=d.get('role_assumption_arn'),
6858            secret_store_id=d.get('secret_store_id'),
6859            subdomain=d.get('subdomain'),
6860            tags=d.get('tags'),
6861            username=d.get('username'),
6862        )
class Azure:
6865class Azure:
6866    __slots__ = [
6867        'app_id',
6868        'bind_interface',
6869        'egress_filter',
6870        'healthy',
6871        'id',
6872        'name',
6873        'password',
6874        'port_override',
6875        'proxy_cluster_id',
6876        'secret_store_id',
6877        'subdomain',
6878        'tags',
6879        'tenant_id',
6880    ]
6881
6882    def __init__(
6883        self,
6884        app_id=None,
6885        bind_interface=None,
6886        egress_filter=None,
6887        healthy=None,
6888        id=None,
6889        name=None,
6890        password=None,
6891        port_override=None,
6892        proxy_cluster_id=None,
6893        secret_store_id=None,
6894        subdomain=None,
6895        tags=None,
6896        tenant_id=None,
6897    ):
6898        self.app_id = app_id if app_id is not None else ''
6899        '''
6900         The application ID to authenticate with.
6901        '''
6902        self.bind_interface = bind_interface if bind_interface is not None else ''
6903        '''
6904         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6905        '''
6906        self.egress_filter = egress_filter if egress_filter is not None else ''
6907        '''
6908         A filter applied to the routing logic to pin datasource to nodes.
6909        '''
6910        self.healthy = healthy if healthy is not None else False
6911        '''
6912         True if the datasource is reachable and the credentials are valid.
6913        '''
6914        self.id = id if id is not None else ''
6915        '''
6916         Unique identifier of the Resource.
6917        '''
6918        self.name = name if name is not None else ''
6919        '''
6920         Unique human-readable name of the Resource.
6921        '''
6922        self.password = password if password is not None else ''
6923        '''
6924         The password to authenticate with.
6925        '''
6926        self.port_override = port_override if port_override is not None else 0
6927        '''
6928         The local port used by clients to connect to this resource.
6929        '''
6930        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6931        '''
6932         ID of the proxy cluster for this resource, if any.
6933        '''
6934        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6935        '''
6936         ID of the secret store containing credentials for this resource, if any.
6937        '''
6938        self.subdomain = subdomain if subdomain is not None else ''
6939        '''
6940         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6941        '''
6942        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6943        '''
6944         Tags is a map of key, value pairs.
6945        '''
6946        self.tenant_id = tenant_id if tenant_id is not None else ''
6947        '''
6948         The tenant ID to authenticate to.
6949        '''
6950
6951    def __repr__(self):
6952        return '<sdm.Azure ' + \
6953            'app_id: ' + repr(self.app_id) + ' ' +\
6954            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6955            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6956            'healthy: ' + repr(self.healthy) + ' ' +\
6957            'id: ' + repr(self.id) + ' ' +\
6958            'name: ' + repr(self.name) + ' ' +\
6959            'password: ' + repr(self.password) + ' ' +\
6960            'port_override: ' + repr(self.port_override) + ' ' +\
6961            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6962            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6963            'subdomain: ' + repr(self.subdomain) + ' ' +\
6964            'tags: ' + repr(self.tags) + ' ' +\
6965            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
6966            '>'
6967
6968    def to_dict(self):
6969        return {
6970            'app_id': self.app_id,
6971            'bind_interface': self.bind_interface,
6972            'egress_filter': self.egress_filter,
6973            'healthy': self.healthy,
6974            'id': self.id,
6975            'name': self.name,
6976            'password': self.password,
6977            'port_override': self.port_override,
6978            'proxy_cluster_id': self.proxy_cluster_id,
6979            'secret_store_id': self.secret_store_id,
6980            'subdomain': self.subdomain,
6981            'tags': self.tags,
6982            'tenant_id': self.tenant_id,
6983        }
6984
6985    @classmethod
6986    def from_dict(cls, d):
6987        return cls(
6988            app_id=d.get('app_id'),
6989            bind_interface=d.get('bind_interface'),
6990            egress_filter=d.get('egress_filter'),
6991            healthy=d.get('healthy'),
6992            id=d.get('id'),
6993            name=d.get('name'),
6994            password=d.get('password'),
6995            port_override=d.get('port_override'),
6996            proxy_cluster_id=d.get('proxy_cluster_id'),
6997            secret_store_id=d.get('secret_store_id'),
6998            subdomain=d.get('subdomain'),
6999            tags=d.get('tags'),
7000            tenant_id=d.get('tenant_id'),
7001        )
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)
6882    def __init__(
6883        self,
6884        app_id=None,
6885        bind_interface=None,
6886        egress_filter=None,
6887        healthy=None,
6888        id=None,
6889        name=None,
6890        password=None,
6891        port_override=None,
6892        proxy_cluster_id=None,
6893        secret_store_id=None,
6894        subdomain=None,
6895        tags=None,
6896        tenant_id=None,
6897    ):
6898        self.app_id = app_id if app_id is not None else ''
6899        '''
6900         The application ID to authenticate with.
6901        '''
6902        self.bind_interface = bind_interface if bind_interface is not None else ''
6903        '''
6904         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6905        '''
6906        self.egress_filter = egress_filter if egress_filter is not None else ''
6907        '''
6908         A filter applied to the routing logic to pin datasource to nodes.
6909        '''
6910        self.healthy = healthy if healthy is not None else False
6911        '''
6912         True if the datasource is reachable and the credentials are valid.
6913        '''
6914        self.id = id if id is not None else ''
6915        '''
6916         Unique identifier of the Resource.
6917        '''
6918        self.name = name if name is not None else ''
6919        '''
6920         Unique human-readable name of the Resource.
6921        '''
6922        self.password = password if password is not None else ''
6923        '''
6924         The password to authenticate with.
6925        '''
6926        self.port_override = port_override if port_override is not None else 0
6927        '''
6928         The local port used by clients to connect to this resource.
6929        '''
6930        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6931        '''
6932         ID of the proxy cluster for this resource, if any.
6933        '''
6934        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6935        '''
6936         ID of the secret store containing credentials for this resource, if any.
6937        '''
6938        self.subdomain = subdomain if subdomain is not None else ''
6939        '''
6940         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6941        '''
6942        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6943        '''
6944         Tags is a map of key, value pairs.
6945        '''
6946        self.tenant_id = tenant_id if tenant_id is not None else ''
6947        '''
6948         The tenant ID to authenticate to.
6949        '''
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)
6968    def to_dict(self):
6969        return {
6970            'app_id': self.app_id,
6971            'bind_interface': self.bind_interface,
6972            'egress_filter': self.egress_filter,
6973            'healthy': self.healthy,
6974            'id': self.id,
6975            'name': self.name,
6976            'password': self.password,
6977            'port_override': self.port_override,
6978            'proxy_cluster_id': self.proxy_cluster_id,
6979            'secret_store_id': self.secret_store_id,
6980            'subdomain': self.subdomain,
6981            'tags': self.tags,
6982            'tenant_id': self.tenant_id,
6983        }
@classmethod
def from_dict(cls, d)
6985    @classmethod
6986    def from_dict(cls, d):
6987        return cls(
6988            app_id=d.get('app_id'),
6989            bind_interface=d.get('bind_interface'),
6990            egress_filter=d.get('egress_filter'),
6991            healthy=d.get('healthy'),
6992            id=d.get('id'),
6993            name=d.get('name'),
6994            password=d.get('password'),
6995            port_override=d.get('port_override'),
6996            proxy_cluster_id=d.get('proxy_cluster_id'),
6997            secret_store_id=d.get('secret_store_id'),
6998            subdomain=d.get('subdomain'),
6999            tags=d.get('tags'),
7000            tenant_id=d.get('tenant_id'),
7001        )
class AzureCertificate:
7004class AzureCertificate:
7005    __slots__ = [
7006        'app_id',
7007        'bind_interface',
7008        'client_certificate',
7009        'egress_filter',
7010        'healthy',
7011        'id',
7012        'name',
7013        'port_override',
7014        'proxy_cluster_id',
7015        'secret_store_id',
7016        'subdomain',
7017        'tags',
7018        'tenant_id',
7019    ]
7020
7021    def __init__(
7022        self,
7023        app_id=None,
7024        bind_interface=None,
7025        client_certificate=None,
7026        egress_filter=None,
7027        healthy=None,
7028        id=None,
7029        name=None,
7030        port_override=None,
7031        proxy_cluster_id=None,
7032        secret_store_id=None,
7033        subdomain=None,
7034        tags=None,
7035        tenant_id=None,
7036    ):
7037        self.app_id = app_id if app_id is not None else ''
7038        '''
7039         The application ID to authenticate with.
7040        '''
7041        self.bind_interface = bind_interface if bind_interface is not None else ''
7042        '''
7043         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7044        '''
7045        self.client_certificate = client_certificate if client_certificate is not None else ''
7046        '''
7047         The service Principal certificate file, both private and public key included.
7048        '''
7049        self.egress_filter = egress_filter if egress_filter is not None else ''
7050        '''
7051         A filter applied to the routing logic to pin datasource to nodes.
7052        '''
7053        self.healthy = healthy if healthy is not None else False
7054        '''
7055         True if the datasource is reachable and the credentials are valid.
7056        '''
7057        self.id = id if id is not None else ''
7058        '''
7059         Unique identifier of the Resource.
7060        '''
7061        self.name = name if name is not None else ''
7062        '''
7063         Unique human-readable name of the Resource.
7064        '''
7065        self.port_override = port_override if port_override is not None else 0
7066        '''
7067         The local port used by clients to connect to this resource.
7068        '''
7069        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7070        '''
7071         ID of the proxy cluster for this resource, if any.
7072        '''
7073        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7074        '''
7075         ID of the secret store containing credentials for this resource, if any.
7076        '''
7077        self.subdomain = subdomain if subdomain is not None else ''
7078        '''
7079         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7080        '''
7081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7082        '''
7083         Tags is a map of key, value pairs.
7084        '''
7085        self.tenant_id = tenant_id if tenant_id is not None else ''
7086        '''
7087         The tenant ID to authenticate to.
7088        '''
7089
7090    def __repr__(self):
7091        return '<sdm.AzureCertificate ' + \
7092            'app_id: ' + repr(self.app_id) + ' ' +\
7093            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7094            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
7095            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7096            'healthy: ' + repr(self.healthy) + ' ' +\
7097            'id: ' + repr(self.id) + ' ' +\
7098            'name: ' + repr(self.name) + ' ' +\
7099            'port_override: ' + repr(self.port_override) + ' ' +\
7100            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7101            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7102            'subdomain: ' + repr(self.subdomain) + ' ' +\
7103            'tags: ' + repr(self.tags) + ' ' +\
7104            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
7105            '>'
7106
7107    def to_dict(self):
7108        return {
7109            'app_id': self.app_id,
7110            'bind_interface': self.bind_interface,
7111            'client_certificate': self.client_certificate,
7112            'egress_filter': self.egress_filter,
7113            'healthy': self.healthy,
7114            'id': self.id,
7115            'name': self.name,
7116            'port_override': self.port_override,
7117            'proxy_cluster_id': self.proxy_cluster_id,
7118            'secret_store_id': self.secret_store_id,
7119            'subdomain': self.subdomain,
7120            'tags': self.tags,
7121            'tenant_id': self.tenant_id,
7122        }
7123
7124    @classmethod
7125    def from_dict(cls, d):
7126        return cls(
7127            app_id=d.get('app_id'),
7128            bind_interface=d.get('bind_interface'),
7129            client_certificate=d.get('client_certificate'),
7130            egress_filter=d.get('egress_filter'),
7131            healthy=d.get('healthy'),
7132            id=d.get('id'),
7133            name=d.get('name'),
7134            port_override=d.get('port_override'),
7135            proxy_cluster_id=d.get('proxy_cluster_id'),
7136            secret_store_id=d.get('secret_store_id'),
7137            subdomain=d.get('subdomain'),
7138            tags=d.get('tags'),
7139            tenant_id=d.get('tenant_id'),
7140        )
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)
7021    def __init__(
7022        self,
7023        app_id=None,
7024        bind_interface=None,
7025        client_certificate=None,
7026        egress_filter=None,
7027        healthy=None,
7028        id=None,
7029        name=None,
7030        port_override=None,
7031        proxy_cluster_id=None,
7032        secret_store_id=None,
7033        subdomain=None,
7034        tags=None,
7035        tenant_id=None,
7036    ):
7037        self.app_id = app_id if app_id is not None else ''
7038        '''
7039         The application ID to authenticate with.
7040        '''
7041        self.bind_interface = bind_interface if bind_interface is not None else ''
7042        '''
7043         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7044        '''
7045        self.client_certificate = client_certificate if client_certificate is not None else ''
7046        '''
7047         The service Principal certificate file, both private and public key included.
7048        '''
7049        self.egress_filter = egress_filter if egress_filter is not None else ''
7050        '''
7051         A filter applied to the routing logic to pin datasource to nodes.
7052        '''
7053        self.healthy = healthy if healthy is not None else False
7054        '''
7055         True if the datasource is reachable and the credentials are valid.
7056        '''
7057        self.id = id if id is not None else ''
7058        '''
7059         Unique identifier of the Resource.
7060        '''
7061        self.name = name if name is not None else ''
7062        '''
7063         Unique human-readable name of the Resource.
7064        '''
7065        self.port_override = port_override if port_override is not None else 0
7066        '''
7067         The local port used by clients to connect to this resource.
7068        '''
7069        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7070        '''
7071         ID of the proxy cluster for this resource, if any.
7072        '''
7073        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7074        '''
7075         ID of the secret store containing credentials for this resource, if any.
7076        '''
7077        self.subdomain = subdomain if subdomain is not None else ''
7078        '''
7079         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7080        '''
7081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7082        '''
7083         Tags is a map of key, value pairs.
7084        '''
7085        self.tenant_id = tenant_id if tenant_id is not None else ''
7086        '''
7087         The tenant ID to authenticate to.
7088        '''
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)
7107    def to_dict(self):
7108        return {
7109            'app_id': self.app_id,
7110            'bind_interface': self.bind_interface,
7111            'client_certificate': self.client_certificate,
7112            'egress_filter': self.egress_filter,
7113            'healthy': self.healthy,
7114            'id': self.id,
7115            'name': self.name,
7116            'port_override': self.port_override,
7117            'proxy_cluster_id': self.proxy_cluster_id,
7118            'secret_store_id': self.secret_store_id,
7119            'subdomain': self.subdomain,
7120            'tags': self.tags,
7121            'tenant_id': self.tenant_id,
7122        }
@classmethod
def from_dict(cls, d)
7124    @classmethod
7125    def from_dict(cls, d):
7126        return cls(
7127            app_id=d.get('app_id'),
7128            bind_interface=d.get('bind_interface'),
7129            client_certificate=d.get('client_certificate'),
7130            egress_filter=d.get('egress_filter'),
7131            healthy=d.get('healthy'),
7132            id=d.get('id'),
7133            name=d.get('name'),
7134            port_override=d.get('port_override'),
7135            proxy_cluster_id=d.get('proxy_cluster_id'),
7136            secret_store_id=d.get('secret_store_id'),
7137            subdomain=d.get('subdomain'),
7138            tags=d.get('tags'),
7139            tenant_id=d.get('tenant_id'),
7140        )
class AzureMysql:
7143class AzureMysql:
7144    __slots__ = [
7145        'bind_interface',
7146        'database',
7147        'egress_filter',
7148        'healthy',
7149        'hostname',
7150        'id',
7151        'name',
7152        'password',
7153        'port',
7154        'port_override',
7155        'proxy_cluster_id',
7156        'require_native_auth',
7157        'secret_store_id',
7158        'subdomain',
7159        'tags',
7160        'use_azure_single_server_usernames',
7161        'username',
7162    ]
7163
7164    def __init__(
7165        self,
7166        bind_interface=None,
7167        database=None,
7168        egress_filter=None,
7169        healthy=None,
7170        hostname=None,
7171        id=None,
7172        name=None,
7173        password=None,
7174        port=None,
7175        port_override=None,
7176        proxy_cluster_id=None,
7177        require_native_auth=None,
7178        secret_store_id=None,
7179        subdomain=None,
7180        tags=None,
7181        use_azure_single_server_usernames=None,
7182        username=None,
7183    ):
7184        self.bind_interface = bind_interface if bind_interface is not None else ''
7185        '''
7186         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7187        '''
7188        self.database = database if database is not None else ''
7189        '''
7190         The database for healthchecks. Does not affect client requests.
7191        '''
7192        self.egress_filter = egress_filter if egress_filter is not None else ''
7193        '''
7194         A filter applied to the routing logic to pin datasource to nodes.
7195        '''
7196        self.healthy = healthy if healthy is not None else False
7197        '''
7198         True if the datasource is reachable and the credentials are valid.
7199        '''
7200        self.hostname = hostname if hostname is not None else ''
7201        '''
7202         The host to dial to initiate a connection from the egress node to this resource.
7203        '''
7204        self.id = id if id is not None else ''
7205        '''
7206         Unique identifier of the Resource.
7207        '''
7208        self.name = name if name is not None else ''
7209        '''
7210         Unique human-readable name of the Resource.
7211        '''
7212        self.password = password if password is not None else ''
7213        '''
7214         The password to authenticate with.
7215        '''
7216        self.port = port if port is not None else 0
7217        '''
7218         The port to dial to initiate a connection from the egress node to this resource.
7219        '''
7220        self.port_override = port_override if port_override is not None else 0
7221        '''
7222         The local port used by clients to connect to this resource.
7223        '''
7224        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7225        '''
7226         ID of the proxy cluster for this resource, if any.
7227        '''
7228        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7229        '''
7230         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7231        '''
7232        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7233        '''
7234         ID of the secret store containing credentials for this resource, if any.
7235        '''
7236        self.subdomain = subdomain if subdomain is not None else ''
7237        '''
7238         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7239        '''
7240        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7241        '''
7242         Tags is a map of key, value pairs.
7243        '''
7244        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7245        '''
7246         If true, appends the hostname to the username when hitting a database.azure.com address
7247        '''
7248        self.username = username if username is not None else ''
7249        '''
7250         The username to authenticate with.
7251        '''
7252
7253    def __repr__(self):
7254        return '<sdm.AzureMysql ' + \
7255            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7256            'database: ' + repr(self.database) + ' ' +\
7257            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7258            'healthy: ' + repr(self.healthy) + ' ' +\
7259            'hostname: ' + repr(self.hostname) + ' ' +\
7260            'id: ' + repr(self.id) + ' ' +\
7261            'name: ' + repr(self.name) + ' ' +\
7262            'password: ' + repr(self.password) + ' ' +\
7263            'port: ' + repr(self.port) + ' ' +\
7264            'port_override: ' + repr(self.port_override) + ' ' +\
7265            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7266            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
7267            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7268            'subdomain: ' + repr(self.subdomain) + ' ' +\
7269            'tags: ' + repr(self.tags) + ' ' +\
7270            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7271            'username: ' + repr(self.username) + ' ' +\
7272            '>'
7273
7274    def to_dict(self):
7275        return {
7276            'bind_interface': self.bind_interface,
7277            'database': self.database,
7278            'egress_filter': self.egress_filter,
7279            'healthy': self.healthy,
7280            'hostname': self.hostname,
7281            'id': self.id,
7282            'name': self.name,
7283            'password': self.password,
7284            'port': self.port,
7285            'port_override': self.port_override,
7286            'proxy_cluster_id': self.proxy_cluster_id,
7287            'require_native_auth': self.require_native_auth,
7288            'secret_store_id': self.secret_store_id,
7289            'subdomain': self.subdomain,
7290            'tags': self.tags,
7291            'use_azure_single_server_usernames':
7292            self.use_azure_single_server_usernames,
7293            'username': self.username,
7294        }
7295
7296    @classmethod
7297    def from_dict(cls, d):
7298        return cls(
7299            bind_interface=d.get('bind_interface'),
7300            database=d.get('database'),
7301            egress_filter=d.get('egress_filter'),
7302            healthy=d.get('healthy'),
7303            hostname=d.get('hostname'),
7304            id=d.get('id'),
7305            name=d.get('name'),
7306            password=d.get('password'),
7307            port=d.get('port'),
7308            port_override=d.get('port_override'),
7309            proxy_cluster_id=d.get('proxy_cluster_id'),
7310            require_native_auth=d.get('require_native_auth'),
7311            secret_store_id=d.get('secret_store_id'),
7312            subdomain=d.get('subdomain'),
7313            tags=d.get('tags'),
7314            use_azure_single_server_usernames=d.get(
7315                'use_azure_single_server_usernames'),
7316            username=d.get('username'),
7317        )
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)
7164    def __init__(
7165        self,
7166        bind_interface=None,
7167        database=None,
7168        egress_filter=None,
7169        healthy=None,
7170        hostname=None,
7171        id=None,
7172        name=None,
7173        password=None,
7174        port=None,
7175        port_override=None,
7176        proxy_cluster_id=None,
7177        require_native_auth=None,
7178        secret_store_id=None,
7179        subdomain=None,
7180        tags=None,
7181        use_azure_single_server_usernames=None,
7182        username=None,
7183    ):
7184        self.bind_interface = bind_interface if bind_interface is not None else ''
7185        '''
7186         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7187        '''
7188        self.database = database if database is not None else ''
7189        '''
7190         The database for healthchecks. Does not affect client requests.
7191        '''
7192        self.egress_filter = egress_filter if egress_filter is not None else ''
7193        '''
7194         A filter applied to the routing logic to pin datasource to nodes.
7195        '''
7196        self.healthy = healthy if healthy is not None else False
7197        '''
7198         True if the datasource is reachable and the credentials are valid.
7199        '''
7200        self.hostname = hostname if hostname is not None else ''
7201        '''
7202         The host to dial to initiate a connection from the egress node to this resource.
7203        '''
7204        self.id = id if id is not None else ''
7205        '''
7206         Unique identifier of the Resource.
7207        '''
7208        self.name = name if name is not None else ''
7209        '''
7210         Unique human-readable name of the Resource.
7211        '''
7212        self.password = password if password is not None else ''
7213        '''
7214         The password to authenticate with.
7215        '''
7216        self.port = port if port is not None else 0
7217        '''
7218         The port to dial to initiate a connection from the egress node to this resource.
7219        '''
7220        self.port_override = port_override if port_override is not None else 0
7221        '''
7222         The local port used by clients to connect to this resource.
7223        '''
7224        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7225        '''
7226         ID of the proxy cluster for this resource, if any.
7227        '''
7228        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7229        '''
7230         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7231        '''
7232        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7233        '''
7234         ID of the secret store containing credentials for this resource, if any.
7235        '''
7236        self.subdomain = subdomain if subdomain is not None else ''
7237        '''
7238         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7239        '''
7240        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7241        '''
7242         Tags is a map of key, value pairs.
7243        '''
7244        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7245        '''
7246         If true, appends the hostname to the username when hitting a database.azure.com address
7247        '''
7248        self.username = username if username is not None else ''
7249        '''
7250         The username to authenticate with.
7251        '''
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)
7274    def to_dict(self):
7275        return {
7276            'bind_interface': self.bind_interface,
7277            'database': self.database,
7278            'egress_filter': self.egress_filter,
7279            'healthy': self.healthy,
7280            'hostname': self.hostname,
7281            'id': self.id,
7282            'name': self.name,
7283            'password': self.password,
7284            'port': self.port,
7285            'port_override': self.port_override,
7286            'proxy_cluster_id': self.proxy_cluster_id,
7287            'require_native_auth': self.require_native_auth,
7288            'secret_store_id': self.secret_store_id,
7289            'subdomain': self.subdomain,
7290            'tags': self.tags,
7291            'use_azure_single_server_usernames':
7292            self.use_azure_single_server_usernames,
7293            'username': self.username,
7294        }
@classmethod
def from_dict(cls, d)
7296    @classmethod
7297    def from_dict(cls, d):
7298        return cls(
7299            bind_interface=d.get('bind_interface'),
7300            database=d.get('database'),
7301            egress_filter=d.get('egress_filter'),
7302            healthy=d.get('healthy'),
7303            hostname=d.get('hostname'),
7304            id=d.get('id'),
7305            name=d.get('name'),
7306            password=d.get('password'),
7307            port=d.get('port'),
7308            port_override=d.get('port_override'),
7309            proxy_cluster_id=d.get('proxy_cluster_id'),
7310            require_native_auth=d.get('require_native_auth'),
7311            secret_store_id=d.get('secret_store_id'),
7312            subdomain=d.get('subdomain'),
7313            tags=d.get('tags'),
7314            use_azure_single_server_usernames=d.get(
7315                'use_azure_single_server_usernames'),
7316            username=d.get('username'),
7317        )
class AzurePostgres:
7320class AzurePostgres:
7321    __slots__ = [
7322        'bind_interface',
7323        'database',
7324        'egress_filter',
7325        'healthy',
7326        'hostname',
7327        'id',
7328        'name',
7329        'override_database',
7330        'password',
7331        'port',
7332        'port_override',
7333        'proxy_cluster_id',
7334        'secret_store_id',
7335        'subdomain',
7336        'tags',
7337        'username',
7338    ]
7339
7340    def __init__(
7341        self,
7342        bind_interface=None,
7343        database=None,
7344        egress_filter=None,
7345        healthy=None,
7346        hostname=None,
7347        id=None,
7348        name=None,
7349        override_database=None,
7350        password=None,
7351        port=None,
7352        port_override=None,
7353        proxy_cluster_id=None,
7354        secret_store_id=None,
7355        subdomain=None,
7356        tags=None,
7357        username=None,
7358    ):
7359        self.bind_interface = bind_interface if bind_interface is not None else ''
7360        '''
7361         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7362        '''
7363        self.database = database if database is not None else ''
7364        '''
7365         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7366        '''
7367        self.egress_filter = egress_filter if egress_filter is not None else ''
7368        '''
7369         A filter applied to the routing logic to pin datasource to nodes.
7370        '''
7371        self.healthy = healthy if healthy is not None else False
7372        '''
7373         True if the datasource is reachable and the credentials are valid.
7374        '''
7375        self.hostname = hostname if hostname is not None else ''
7376        '''
7377         The host to dial to initiate a connection from the egress node to this resource.
7378        '''
7379        self.id = id if id is not None else ''
7380        '''
7381         Unique identifier of the Resource.
7382        '''
7383        self.name = name if name is not None else ''
7384        '''
7385         Unique human-readable name of the Resource.
7386        '''
7387        self.override_database = override_database if override_database is not None else False
7388        '''
7389         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.
7390        '''
7391        self.password = password if password is not None else ''
7392        '''
7393         The password to authenticate with.
7394        '''
7395        self.port = port if port is not None else 0
7396        '''
7397         The port to dial to initiate a connection from the egress node to this resource.
7398        '''
7399        self.port_override = port_override if port_override is not None else 0
7400        '''
7401         The local port used by clients to connect to this resource.
7402        '''
7403        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7404        '''
7405         ID of the proxy cluster for this resource, if any.
7406        '''
7407        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7408        '''
7409         ID of the secret store containing credentials for this resource, if any.
7410        '''
7411        self.subdomain = subdomain if subdomain is not None else ''
7412        '''
7413         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7414        '''
7415        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7416        '''
7417         Tags is a map of key, value pairs.
7418        '''
7419        self.username = username if username is not None else ''
7420        '''
7421         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.
7422        '''
7423
7424    def __repr__(self):
7425        return '<sdm.AzurePostgres ' + \
7426            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7427            'database: ' + repr(self.database) + ' ' +\
7428            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7429            'healthy: ' + repr(self.healthy) + ' ' +\
7430            'hostname: ' + repr(self.hostname) + ' ' +\
7431            'id: ' + repr(self.id) + ' ' +\
7432            'name: ' + repr(self.name) + ' ' +\
7433            'override_database: ' + repr(self.override_database) + ' ' +\
7434            'password: ' + repr(self.password) + ' ' +\
7435            'port: ' + repr(self.port) + ' ' +\
7436            'port_override: ' + repr(self.port_override) + ' ' +\
7437            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7438            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7439            'subdomain: ' + repr(self.subdomain) + ' ' +\
7440            'tags: ' + repr(self.tags) + ' ' +\
7441            'username: ' + repr(self.username) + ' ' +\
7442            '>'
7443
7444    def to_dict(self):
7445        return {
7446            'bind_interface': self.bind_interface,
7447            'database': self.database,
7448            'egress_filter': self.egress_filter,
7449            'healthy': self.healthy,
7450            'hostname': self.hostname,
7451            'id': self.id,
7452            'name': self.name,
7453            'override_database': self.override_database,
7454            'password': self.password,
7455            'port': self.port,
7456            'port_override': self.port_override,
7457            'proxy_cluster_id': self.proxy_cluster_id,
7458            'secret_store_id': self.secret_store_id,
7459            'subdomain': self.subdomain,
7460            'tags': self.tags,
7461            'username': self.username,
7462        }
7463
7464    @classmethod
7465    def from_dict(cls, d):
7466        return cls(
7467            bind_interface=d.get('bind_interface'),
7468            database=d.get('database'),
7469            egress_filter=d.get('egress_filter'),
7470            healthy=d.get('healthy'),
7471            hostname=d.get('hostname'),
7472            id=d.get('id'),
7473            name=d.get('name'),
7474            override_database=d.get('override_database'),
7475            password=d.get('password'),
7476            port=d.get('port'),
7477            port_override=d.get('port_override'),
7478            proxy_cluster_id=d.get('proxy_cluster_id'),
7479            secret_store_id=d.get('secret_store_id'),
7480            subdomain=d.get('subdomain'),
7481            tags=d.get('tags'),
7482            username=d.get('username'),
7483        )
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)
7340    def __init__(
7341        self,
7342        bind_interface=None,
7343        database=None,
7344        egress_filter=None,
7345        healthy=None,
7346        hostname=None,
7347        id=None,
7348        name=None,
7349        override_database=None,
7350        password=None,
7351        port=None,
7352        port_override=None,
7353        proxy_cluster_id=None,
7354        secret_store_id=None,
7355        subdomain=None,
7356        tags=None,
7357        username=None,
7358    ):
7359        self.bind_interface = bind_interface if bind_interface is not None else ''
7360        '''
7361         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7362        '''
7363        self.database = database if database is not None else ''
7364        '''
7365         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7366        '''
7367        self.egress_filter = egress_filter if egress_filter is not None else ''
7368        '''
7369         A filter applied to the routing logic to pin datasource to nodes.
7370        '''
7371        self.healthy = healthy if healthy is not None else False
7372        '''
7373         True if the datasource is reachable and the credentials are valid.
7374        '''
7375        self.hostname = hostname if hostname is not None else ''
7376        '''
7377         The host to dial to initiate a connection from the egress node to this resource.
7378        '''
7379        self.id = id if id is not None else ''
7380        '''
7381         Unique identifier of the Resource.
7382        '''
7383        self.name = name if name is not None else ''
7384        '''
7385         Unique human-readable name of the Resource.
7386        '''
7387        self.override_database = override_database if override_database is not None else False
7388        '''
7389         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.
7390        '''
7391        self.password = password if password is not None else ''
7392        '''
7393         The password to authenticate with.
7394        '''
7395        self.port = port if port is not None else 0
7396        '''
7397         The port to dial to initiate a connection from the egress node to this resource.
7398        '''
7399        self.port_override = port_override if port_override is not None else 0
7400        '''
7401         The local port used by clients to connect to this resource.
7402        '''
7403        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7404        '''
7405         ID of the proxy cluster for this resource, if any.
7406        '''
7407        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7408        '''
7409         ID of the secret store containing credentials for this resource, if any.
7410        '''
7411        self.subdomain = subdomain if subdomain is not None else ''
7412        '''
7413         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7414        '''
7415        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7416        '''
7417         Tags is a map of key, value pairs.
7418        '''
7419        self.username = username if username is not None else ''
7420        '''
7421         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.
7422        '''
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)
7444    def to_dict(self):
7445        return {
7446            'bind_interface': self.bind_interface,
7447            'database': self.database,
7448            'egress_filter': self.egress_filter,
7449            'healthy': self.healthy,
7450            'hostname': self.hostname,
7451            'id': self.id,
7452            'name': self.name,
7453            'override_database': self.override_database,
7454            'password': self.password,
7455            'port': self.port,
7456            'port_override': self.port_override,
7457            'proxy_cluster_id': self.proxy_cluster_id,
7458            'secret_store_id': self.secret_store_id,
7459            'subdomain': self.subdomain,
7460            'tags': self.tags,
7461            'username': self.username,
7462        }
@classmethod
def from_dict(cls, d)
7464    @classmethod
7465    def from_dict(cls, d):
7466        return cls(
7467            bind_interface=d.get('bind_interface'),
7468            database=d.get('database'),
7469            egress_filter=d.get('egress_filter'),
7470            healthy=d.get('healthy'),
7471            hostname=d.get('hostname'),
7472            id=d.get('id'),
7473            name=d.get('name'),
7474            override_database=d.get('override_database'),
7475            password=d.get('password'),
7476            port=d.get('port'),
7477            port_override=d.get('port_override'),
7478            proxy_cluster_id=d.get('proxy_cluster_id'),
7479            secret_store_id=d.get('secret_store_id'),
7480            subdomain=d.get('subdomain'),
7481            tags=d.get('tags'),
7482            username=d.get('username'),
7483        )
class AzurePostgresManagedIdentity:
7486class AzurePostgresManagedIdentity:
7487    __slots__ = [
7488        'bind_interface',
7489        'database',
7490        'egress_filter',
7491        'healthy',
7492        'hostname',
7493        'id',
7494        'name',
7495        'override_database',
7496        'password',
7497        'port',
7498        'port_override',
7499        'proxy_cluster_id',
7500        'secret_store_id',
7501        'subdomain',
7502        'tags',
7503        'use_azure_single_server_usernames',
7504        'username',
7505    ]
7506
7507    def __init__(
7508        self,
7509        bind_interface=None,
7510        database=None,
7511        egress_filter=None,
7512        healthy=None,
7513        hostname=None,
7514        id=None,
7515        name=None,
7516        override_database=None,
7517        password=None,
7518        port=None,
7519        port_override=None,
7520        proxy_cluster_id=None,
7521        secret_store_id=None,
7522        subdomain=None,
7523        tags=None,
7524        use_azure_single_server_usernames=None,
7525        username=None,
7526    ):
7527        self.bind_interface = bind_interface if bind_interface is not None else ''
7528        '''
7529         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7530        '''
7531        self.database = database if database is not None else ''
7532        '''
7533         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7534        '''
7535        self.egress_filter = egress_filter if egress_filter is not None else ''
7536        '''
7537         A filter applied to the routing logic to pin datasource to nodes.
7538        '''
7539        self.healthy = healthy if healthy is not None else False
7540        '''
7541         True if the datasource is reachable and the credentials are valid.
7542        '''
7543        self.hostname = hostname if hostname is not None else ''
7544        '''
7545         The host to dial to initiate a connection from the egress node to this resource.
7546        '''
7547        self.id = id if id is not None else ''
7548        '''
7549         Unique identifier of the Resource.
7550        '''
7551        self.name = name if name is not None else ''
7552        '''
7553         Unique human-readable name of the Resource.
7554        '''
7555        self.override_database = override_database if override_database is not None else False
7556        '''
7557         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.
7558        '''
7559        self.password = password if password is not None else ''
7560        '''
7561         The password to authenticate with.
7562        '''
7563        self.port = port if port is not None else 0
7564        '''
7565         The port to dial to initiate a connection from the egress node to this resource.
7566        '''
7567        self.port_override = port_override if port_override is not None else 0
7568        '''
7569         The local port used by clients to connect to this resource.
7570        '''
7571        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7572        '''
7573         ID of the proxy cluster for this resource, if any.
7574        '''
7575        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7576        '''
7577         ID of the secret store containing credentials for this resource, if any.
7578        '''
7579        self.subdomain = subdomain if subdomain is not None else ''
7580        '''
7581         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7582        '''
7583        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7584        '''
7585         Tags is a map of key, value pairs.
7586        '''
7587        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7588        '''
7589         If true, appends the hostname to the username when hitting a database.azure.com address
7590        '''
7591        self.username = username if username is not None else ''
7592        '''
7593         The username to authenticate with.
7594        '''
7595
7596    def __repr__(self):
7597        return '<sdm.AzurePostgresManagedIdentity ' + \
7598            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7599            'database: ' + repr(self.database) + ' ' +\
7600            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7601            'healthy: ' + repr(self.healthy) + ' ' +\
7602            'hostname: ' + repr(self.hostname) + ' ' +\
7603            'id: ' + repr(self.id) + ' ' +\
7604            'name: ' + repr(self.name) + ' ' +\
7605            'override_database: ' + repr(self.override_database) + ' ' +\
7606            'password: ' + repr(self.password) + ' ' +\
7607            'port: ' + repr(self.port) + ' ' +\
7608            'port_override: ' + repr(self.port_override) + ' ' +\
7609            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7610            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7611            'subdomain: ' + repr(self.subdomain) + ' ' +\
7612            'tags: ' + repr(self.tags) + ' ' +\
7613            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7614            'username: ' + repr(self.username) + ' ' +\
7615            '>'
7616
7617    def to_dict(self):
7618        return {
7619            'bind_interface': self.bind_interface,
7620            'database': self.database,
7621            'egress_filter': self.egress_filter,
7622            'healthy': self.healthy,
7623            'hostname': self.hostname,
7624            'id': self.id,
7625            'name': self.name,
7626            'override_database': self.override_database,
7627            'password': self.password,
7628            'port': self.port,
7629            'port_override': self.port_override,
7630            'proxy_cluster_id': self.proxy_cluster_id,
7631            'secret_store_id': self.secret_store_id,
7632            'subdomain': self.subdomain,
7633            'tags': self.tags,
7634            'use_azure_single_server_usernames':
7635            self.use_azure_single_server_usernames,
7636            'username': self.username,
7637        }
7638
7639    @classmethod
7640    def from_dict(cls, d):
7641        return cls(
7642            bind_interface=d.get('bind_interface'),
7643            database=d.get('database'),
7644            egress_filter=d.get('egress_filter'),
7645            healthy=d.get('healthy'),
7646            hostname=d.get('hostname'),
7647            id=d.get('id'),
7648            name=d.get('name'),
7649            override_database=d.get('override_database'),
7650            password=d.get('password'),
7651            port=d.get('port'),
7652            port_override=d.get('port_override'),
7653            proxy_cluster_id=d.get('proxy_cluster_id'),
7654            secret_store_id=d.get('secret_store_id'),
7655            subdomain=d.get('subdomain'),
7656            tags=d.get('tags'),
7657            use_azure_single_server_usernames=d.get(
7658                'use_azure_single_server_usernames'),
7659            username=d.get('username'),
7660        )
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)
7507    def __init__(
7508        self,
7509        bind_interface=None,
7510        database=None,
7511        egress_filter=None,
7512        healthy=None,
7513        hostname=None,
7514        id=None,
7515        name=None,
7516        override_database=None,
7517        password=None,
7518        port=None,
7519        port_override=None,
7520        proxy_cluster_id=None,
7521        secret_store_id=None,
7522        subdomain=None,
7523        tags=None,
7524        use_azure_single_server_usernames=None,
7525        username=None,
7526    ):
7527        self.bind_interface = bind_interface if bind_interface is not None else ''
7528        '''
7529         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7530        '''
7531        self.database = database if database is not None else ''
7532        '''
7533         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7534        '''
7535        self.egress_filter = egress_filter if egress_filter is not None else ''
7536        '''
7537         A filter applied to the routing logic to pin datasource to nodes.
7538        '''
7539        self.healthy = healthy if healthy is not None else False
7540        '''
7541         True if the datasource is reachable and the credentials are valid.
7542        '''
7543        self.hostname = hostname if hostname is not None else ''
7544        '''
7545         The host to dial to initiate a connection from the egress node to this resource.
7546        '''
7547        self.id = id if id is not None else ''
7548        '''
7549         Unique identifier of the Resource.
7550        '''
7551        self.name = name if name is not None else ''
7552        '''
7553         Unique human-readable name of the Resource.
7554        '''
7555        self.override_database = override_database if override_database is not None else False
7556        '''
7557         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.
7558        '''
7559        self.password = password if password is not None else ''
7560        '''
7561         The password to authenticate with.
7562        '''
7563        self.port = port if port is not None else 0
7564        '''
7565         The port to dial to initiate a connection from the egress node to this resource.
7566        '''
7567        self.port_override = port_override if port_override is not None else 0
7568        '''
7569         The local port used by clients to connect to this resource.
7570        '''
7571        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7572        '''
7573         ID of the proxy cluster for this resource, if any.
7574        '''
7575        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7576        '''
7577         ID of the secret store containing credentials for this resource, if any.
7578        '''
7579        self.subdomain = subdomain if subdomain is not None else ''
7580        '''
7581         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7582        '''
7583        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7584        '''
7585         Tags is a map of key, value pairs.
7586        '''
7587        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7588        '''
7589         If true, appends the hostname to the username when hitting a database.azure.com address
7590        '''
7591        self.username = username if username is not None else ''
7592        '''
7593         The username to authenticate with.
7594        '''
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)
7617    def to_dict(self):
7618        return {
7619            'bind_interface': self.bind_interface,
7620            'database': self.database,
7621            'egress_filter': self.egress_filter,
7622            'healthy': self.healthy,
7623            'hostname': self.hostname,
7624            'id': self.id,
7625            'name': self.name,
7626            'override_database': self.override_database,
7627            'password': self.password,
7628            'port': self.port,
7629            'port_override': self.port_override,
7630            'proxy_cluster_id': self.proxy_cluster_id,
7631            'secret_store_id': self.secret_store_id,
7632            'subdomain': self.subdomain,
7633            'tags': self.tags,
7634            'use_azure_single_server_usernames':
7635            self.use_azure_single_server_usernames,
7636            'username': self.username,
7637        }
@classmethod
def from_dict(cls, d)
7639    @classmethod
7640    def from_dict(cls, d):
7641        return cls(
7642            bind_interface=d.get('bind_interface'),
7643            database=d.get('database'),
7644            egress_filter=d.get('egress_filter'),
7645            healthy=d.get('healthy'),
7646            hostname=d.get('hostname'),
7647            id=d.get('id'),
7648            name=d.get('name'),
7649            override_database=d.get('override_database'),
7650            password=d.get('password'),
7651            port=d.get('port'),
7652            port_override=d.get('port_override'),
7653            proxy_cluster_id=d.get('proxy_cluster_id'),
7654            secret_store_id=d.get('secret_store_id'),
7655            subdomain=d.get('subdomain'),
7656            tags=d.get('tags'),
7657            use_azure_single_server_usernames=d.get(
7658                'use_azure_single_server_usernames'),
7659            username=d.get('username'),
7660        )
class AzureStore:
7663class AzureStore:
7664    __slots__ = [
7665        'id',
7666        'name',
7667        'tags',
7668        'vault_uri',
7669    ]
7670
7671    def __init__(
7672        self,
7673        id=None,
7674        name=None,
7675        tags=None,
7676        vault_uri=None,
7677    ):
7678        self.id = id if id is not None else ''
7679        '''
7680         Unique identifier of the SecretStore.
7681        '''
7682        self.name = name if name is not None else ''
7683        '''
7684         Unique human-readable name of the SecretStore.
7685        '''
7686        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7687        '''
7688         Tags is a map of key, value pairs.
7689        '''
7690        self.vault_uri = vault_uri if vault_uri is not None else ''
7691        '''
7692         The URI of the key vault to target e.g. https://myvault.vault.azure.net
7693        '''
7694
7695    def __repr__(self):
7696        return '<sdm.AzureStore ' + \
7697            'id: ' + repr(self.id) + ' ' +\
7698            'name: ' + repr(self.name) + ' ' +\
7699            'tags: ' + repr(self.tags) + ' ' +\
7700            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
7701            '>'
7702
7703    def to_dict(self):
7704        return {
7705            'id': self.id,
7706            'name': self.name,
7707            'tags': self.tags,
7708            'vault_uri': self.vault_uri,
7709        }
7710
7711    @classmethod
7712    def from_dict(cls, d):
7713        return cls(
7714            id=d.get('id'),
7715            name=d.get('name'),
7716            tags=d.get('tags'),
7717            vault_uri=d.get('vault_uri'),
7718        )
AzureStore(id=None, name=None, tags=None, vault_uri=None)
7671    def __init__(
7672        self,
7673        id=None,
7674        name=None,
7675        tags=None,
7676        vault_uri=None,
7677    ):
7678        self.id = id if id is not None else ''
7679        '''
7680         Unique identifier of the SecretStore.
7681        '''
7682        self.name = name if name is not None else ''
7683        '''
7684         Unique human-readable name of the SecretStore.
7685        '''
7686        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7687        '''
7688         Tags is a map of key, value pairs.
7689        '''
7690        self.vault_uri = vault_uri if vault_uri is not None else ''
7691        '''
7692         The URI of the key vault to target e.g. https://myvault.vault.azure.net
7693        '''
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)
7703    def to_dict(self):
7704        return {
7705            'id': self.id,
7706            'name': self.name,
7707            'tags': self.tags,
7708            'vault_uri': self.vault_uri,
7709        }
@classmethod
def from_dict(cls, d)
7711    @classmethod
7712    def from_dict(cls, d):
7713        return cls(
7714            id=d.get('id'),
7715            name=d.get('name'),
7716            tags=d.get('tags'),
7717            vault_uri=d.get('vault_uri'),
7718        )
class BigQuery:
7721class BigQuery:
7722    __slots__ = [
7723        'bind_interface',
7724        'egress_filter',
7725        'endpoint',
7726        'healthy',
7727        'id',
7728        'name',
7729        'port_override',
7730        'private_key',
7731        'project',
7732        'proxy_cluster_id',
7733        'secret_store_id',
7734        'subdomain',
7735        'tags',
7736        'username',
7737    ]
7738
7739    def __init__(
7740        self,
7741        bind_interface=None,
7742        egress_filter=None,
7743        endpoint=None,
7744        healthy=None,
7745        id=None,
7746        name=None,
7747        port_override=None,
7748        private_key=None,
7749        project=None,
7750        proxy_cluster_id=None,
7751        secret_store_id=None,
7752        subdomain=None,
7753        tags=None,
7754        username=None,
7755    ):
7756        self.bind_interface = bind_interface if bind_interface is not None else ''
7757        '''
7758         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7759        '''
7760        self.egress_filter = egress_filter if egress_filter is not None else ''
7761        '''
7762         A filter applied to the routing logic to pin datasource to nodes.
7763        '''
7764        self.endpoint = endpoint if endpoint is not None else ''
7765        '''
7766         The endpoint to dial.
7767        '''
7768        self.healthy = healthy if healthy is not None else False
7769        '''
7770         True if the datasource is reachable and the credentials are valid.
7771        '''
7772        self.id = id if id is not None else ''
7773        '''
7774         Unique identifier of the Resource.
7775        '''
7776        self.name = name if name is not None else ''
7777        '''
7778         Unique human-readable name of the Resource.
7779        '''
7780        self.port_override = port_override if port_override is not None else 0
7781        '''
7782         The local port used by clients to connect to this resource.
7783        '''
7784        self.private_key = private_key if private_key is not None else ''
7785        '''
7786         The JSON Private key to authenticate with.
7787        '''
7788        self.project = project if project is not None else ''
7789        '''
7790         The project to connect to.
7791        '''
7792        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7793        '''
7794         ID of the proxy cluster for this resource, if any.
7795        '''
7796        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7797        '''
7798         ID of the secret store containing credentials for this resource, if any.
7799        '''
7800        self.subdomain = subdomain if subdomain is not None else ''
7801        '''
7802         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7803        '''
7804        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7805        '''
7806         Tags is a map of key, value pairs.
7807        '''
7808        self.username = username if username is not None else ''
7809        '''
7810         The username to authenticate with.
7811        '''
7812
7813    def __repr__(self):
7814        return '<sdm.BigQuery ' + \
7815            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7816            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7817            'endpoint: ' + repr(self.endpoint) + ' ' +\
7818            'healthy: ' + repr(self.healthy) + ' ' +\
7819            'id: ' + repr(self.id) + ' ' +\
7820            'name: ' + repr(self.name) + ' ' +\
7821            'port_override: ' + repr(self.port_override) + ' ' +\
7822            'private_key: ' + repr(self.private_key) + ' ' +\
7823            'project: ' + repr(self.project) + ' ' +\
7824            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7825            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7826            'subdomain: ' + repr(self.subdomain) + ' ' +\
7827            'tags: ' + repr(self.tags) + ' ' +\
7828            'username: ' + repr(self.username) + ' ' +\
7829            '>'
7830
7831    def to_dict(self):
7832        return {
7833            'bind_interface': self.bind_interface,
7834            'egress_filter': self.egress_filter,
7835            'endpoint': self.endpoint,
7836            'healthy': self.healthy,
7837            'id': self.id,
7838            'name': self.name,
7839            'port_override': self.port_override,
7840            'private_key': self.private_key,
7841            'project': self.project,
7842            'proxy_cluster_id': self.proxy_cluster_id,
7843            'secret_store_id': self.secret_store_id,
7844            'subdomain': self.subdomain,
7845            'tags': self.tags,
7846            'username': self.username,
7847        }
7848
7849    @classmethod
7850    def from_dict(cls, d):
7851        return cls(
7852            bind_interface=d.get('bind_interface'),
7853            egress_filter=d.get('egress_filter'),
7854            endpoint=d.get('endpoint'),
7855            healthy=d.get('healthy'),
7856            id=d.get('id'),
7857            name=d.get('name'),
7858            port_override=d.get('port_override'),
7859            private_key=d.get('private_key'),
7860            project=d.get('project'),
7861            proxy_cluster_id=d.get('proxy_cluster_id'),
7862            secret_store_id=d.get('secret_store_id'),
7863            subdomain=d.get('subdomain'),
7864            tags=d.get('tags'),
7865            username=d.get('username'),
7866        )
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)
7739    def __init__(
7740        self,
7741        bind_interface=None,
7742        egress_filter=None,
7743        endpoint=None,
7744        healthy=None,
7745        id=None,
7746        name=None,
7747        port_override=None,
7748        private_key=None,
7749        project=None,
7750        proxy_cluster_id=None,
7751        secret_store_id=None,
7752        subdomain=None,
7753        tags=None,
7754        username=None,
7755    ):
7756        self.bind_interface = bind_interface if bind_interface is not None else ''
7757        '''
7758         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7759        '''
7760        self.egress_filter = egress_filter if egress_filter is not None else ''
7761        '''
7762         A filter applied to the routing logic to pin datasource to nodes.
7763        '''
7764        self.endpoint = endpoint if endpoint is not None else ''
7765        '''
7766         The endpoint to dial.
7767        '''
7768        self.healthy = healthy if healthy is not None else False
7769        '''
7770         True if the datasource is reachable and the credentials are valid.
7771        '''
7772        self.id = id if id is not None else ''
7773        '''
7774         Unique identifier of the Resource.
7775        '''
7776        self.name = name if name is not None else ''
7777        '''
7778         Unique human-readable name of the Resource.
7779        '''
7780        self.port_override = port_override if port_override is not None else 0
7781        '''
7782         The local port used by clients to connect to this resource.
7783        '''
7784        self.private_key = private_key if private_key is not None else ''
7785        '''
7786         The JSON Private key to authenticate with.
7787        '''
7788        self.project = project if project is not None else ''
7789        '''
7790         The project to connect to.
7791        '''
7792        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7793        '''
7794         ID of the proxy cluster for this resource, if any.
7795        '''
7796        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7797        '''
7798         ID of the secret store containing credentials for this resource, if any.
7799        '''
7800        self.subdomain = subdomain if subdomain is not None else ''
7801        '''
7802         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7803        '''
7804        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7805        '''
7806         Tags is a map of key, value pairs.
7807        '''
7808        self.username = username if username is not None else ''
7809        '''
7810         The username to authenticate with.
7811        '''
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)
7831    def to_dict(self):
7832        return {
7833            'bind_interface': self.bind_interface,
7834            'egress_filter': self.egress_filter,
7835            'endpoint': self.endpoint,
7836            'healthy': self.healthy,
7837            'id': self.id,
7838            'name': self.name,
7839            'port_override': self.port_override,
7840            'private_key': self.private_key,
7841            'project': self.project,
7842            'proxy_cluster_id': self.proxy_cluster_id,
7843            'secret_store_id': self.secret_store_id,
7844            'subdomain': self.subdomain,
7845            'tags': self.tags,
7846            'username': self.username,
7847        }
@classmethod
def from_dict(cls, d)
7849    @classmethod
7850    def from_dict(cls, d):
7851        return cls(
7852            bind_interface=d.get('bind_interface'),
7853            egress_filter=d.get('egress_filter'),
7854            endpoint=d.get('endpoint'),
7855            healthy=d.get('healthy'),
7856            id=d.get('id'),
7857            name=d.get('name'),
7858            port_override=d.get('port_override'),
7859            private_key=d.get('private_key'),
7860            project=d.get('project'),
7861            proxy_cluster_id=d.get('proxy_cluster_id'),
7862            secret_store_id=d.get('secret_store_id'),
7863            subdomain=d.get('subdomain'),
7864            tags=d.get('tags'),
7865            username=d.get('username'),
7866        )
class Cassandra:
7869class Cassandra:
7870    __slots__ = [
7871        'bind_interface',
7872        'egress_filter',
7873        'healthy',
7874        'hostname',
7875        'id',
7876        'name',
7877        'password',
7878        'port',
7879        'port_override',
7880        'proxy_cluster_id',
7881        'secret_store_id',
7882        'subdomain',
7883        'tags',
7884        'tls_required',
7885        'username',
7886    ]
7887
7888    def __init__(
7889        self,
7890        bind_interface=None,
7891        egress_filter=None,
7892        healthy=None,
7893        hostname=None,
7894        id=None,
7895        name=None,
7896        password=None,
7897        port=None,
7898        port_override=None,
7899        proxy_cluster_id=None,
7900        secret_store_id=None,
7901        subdomain=None,
7902        tags=None,
7903        tls_required=None,
7904        username=None,
7905    ):
7906        self.bind_interface = bind_interface if bind_interface is not None else ''
7907        '''
7908         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7909        '''
7910        self.egress_filter = egress_filter if egress_filter is not None else ''
7911        '''
7912         A filter applied to the routing logic to pin datasource to nodes.
7913        '''
7914        self.healthy = healthy if healthy is not None else False
7915        '''
7916         True if the datasource is reachable and the credentials are valid.
7917        '''
7918        self.hostname = hostname if hostname is not None else ''
7919        '''
7920         The host to dial to initiate a connection from the egress node to this resource.
7921        '''
7922        self.id = id if id is not None else ''
7923        '''
7924         Unique identifier of the Resource.
7925        '''
7926        self.name = name if name is not None else ''
7927        '''
7928         Unique human-readable name of the Resource.
7929        '''
7930        self.password = password if password is not None else ''
7931        '''
7932         The password to authenticate with.
7933        '''
7934        self.port = port if port is not None else 0
7935        '''
7936         The port to dial to initiate a connection from the egress node to this resource.
7937        '''
7938        self.port_override = port_override if port_override is not None else 0
7939        '''
7940         The local port used by clients to connect to this resource.
7941        '''
7942        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7943        '''
7944         ID of the proxy cluster for this resource, if any.
7945        '''
7946        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7947        '''
7948         ID of the secret store containing credentials for this resource, if any.
7949        '''
7950        self.subdomain = subdomain if subdomain is not None else ''
7951        '''
7952         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7953        '''
7954        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7955        '''
7956         Tags is a map of key, value pairs.
7957        '''
7958        self.tls_required = tls_required if tls_required is not None else False
7959        '''
7960         If set, TLS must be used to connect to this resource.
7961        '''
7962        self.username = username if username is not None else ''
7963        '''
7964         The username to authenticate with.
7965        '''
7966
7967    def __repr__(self):
7968        return '<sdm.Cassandra ' + \
7969            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7970            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7971            'healthy: ' + repr(self.healthy) + ' ' +\
7972            'hostname: ' + repr(self.hostname) + ' ' +\
7973            'id: ' + repr(self.id) + ' ' +\
7974            'name: ' + repr(self.name) + ' ' +\
7975            'password: ' + repr(self.password) + ' ' +\
7976            'port: ' + repr(self.port) + ' ' +\
7977            'port_override: ' + repr(self.port_override) + ' ' +\
7978            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7979            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7980            'subdomain: ' + repr(self.subdomain) + ' ' +\
7981            'tags: ' + repr(self.tags) + ' ' +\
7982            'tls_required: ' + repr(self.tls_required) + ' ' +\
7983            'username: ' + repr(self.username) + ' ' +\
7984            '>'
7985
7986    def to_dict(self):
7987        return {
7988            'bind_interface': self.bind_interface,
7989            'egress_filter': self.egress_filter,
7990            'healthy': self.healthy,
7991            'hostname': self.hostname,
7992            'id': self.id,
7993            'name': self.name,
7994            'password': self.password,
7995            'port': self.port,
7996            'port_override': self.port_override,
7997            'proxy_cluster_id': self.proxy_cluster_id,
7998            'secret_store_id': self.secret_store_id,
7999            'subdomain': self.subdomain,
8000            'tags': self.tags,
8001            'tls_required': self.tls_required,
8002            'username': self.username,
8003        }
8004
8005    @classmethod
8006    def from_dict(cls, d):
8007        return cls(
8008            bind_interface=d.get('bind_interface'),
8009            egress_filter=d.get('egress_filter'),
8010            healthy=d.get('healthy'),
8011            hostname=d.get('hostname'),
8012            id=d.get('id'),
8013            name=d.get('name'),
8014            password=d.get('password'),
8015            port=d.get('port'),
8016            port_override=d.get('port_override'),
8017            proxy_cluster_id=d.get('proxy_cluster_id'),
8018            secret_store_id=d.get('secret_store_id'),
8019            subdomain=d.get('subdomain'),
8020            tags=d.get('tags'),
8021            tls_required=d.get('tls_required'),
8022            username=d.get('username'),
8023        )
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)
7888    def __init__(
7889        self,
7890        bind_interface=None,
7891        egress_filter=None,
7892        healthy=None,
7893        hostname=None,
7894        id=None,
7895        name=None,
7896        password=None,
7897        port=None,
7898        port_override=None,
7899        proxy_cluster_id=None,
7900        secret_store_id=None,
7901        subdomain=None,
7902        tags=None,
7903        tls_required=None,
7904        username=None,
7905    ):
7906        self.bind_interface = bind_interface if bind_interface is not None else ''
7907        '''
7908         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7909        '''
7910        self.egress_filter = egress_filter if egress_filter is not None else ''
7911        '''
7912         A filter applied to the routing logic to pin datasource to nodes.
7913        '''
7914        self.healthy = healthy if healthy is not None else False
7915        '''
7916         True if the datasource is reachable and the credentials are valid.
7917        '''
7918        self.hostname = hostname if hostname is not None else ''
7919        '''
7920         The host to dial to initiate a connection from the egress node to this resource.
7921        '''
7922        self.id = id if id is not None else ''
7923        '''
7924         Unique identifier of the Resource.
7925        '''
7926        self.name = name if name is not None else ''
7927        '''
7928         Unique human-readable name of the Resource.
7929        '''
7930        self.password = password if password is not None else ''
7931        '''
7932         The password to authenticate with.
7933        '''
7934        self.port = port if port is not None else 0
7935        '''
7936         The port to dial to initiate a connection from the egress node to this resource.
7937        '''
7938        self.port_override = port_override if port_override is not None else 0
7939        '''
7940         The local port used by clients to connect to this resource.
7941        '''
7942        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7943        '''
7944         ID of the proxy cluster for this resource, if any.
7945        '''
7946        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7947        '''
7948         ID of the secret store containing credentials for this resource, if any.
7949        '''
7950        self.subdomain = subdomain if subdomain is not None else ''
7951        '''
7952         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7953        '''
7954        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7955        '''
7956         Tags is a map of key, value pairs.
7957        '''
7958        self.tls_required = tls_required if tls_required is not None else False
7959        '''
7960         If set, TLS must be used to connect to this resource.
7961        '''
7962        self.username = username if username is not None else ''
7963        '''
7964         The username to authenticate with.
7965        '''
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)
7986    def to_dict(self):
7987        return {
7988            'bind_interface': self.bind_interface,
7989            'egress_filter': self.egress_filter,
7990            'healthy': self.healthy,
7991            'hostname': self.hostname,
7992            'id': self.id,
7993            'name': self.name,
7994            'password': self.password,
7995            'port': self.port,
7996            'port_override': self.port_override,
7997            'proxy_cluster_id': self.proxy_cluster_id,
7998            'secret_store_id': self.secret_store_id,
7999            'subdomain': self.subdomain,
8000            'tags': self.tags,
8001            'tls_required': self.tls_required,
8002            'username': self.username,
8003        }
@classmethod
def from_dict(cls, d)
8005    @classmethod
8006    def from_dict(cls, d):
8007        return cls(
8008            bind_interface=d.get('bind_interface'),
8009            egress_filter=d.get('egress_filter'),
8010            healthy=d.get('healthy'),
8011            hostname=d.get('hostname'),
8012            id=d.get('id'),
8013            name=d.get('name'),
8014            password=d.get('password'),
8015            port=d.get('port'),
8016            port_override=d.get('port_override'),
8017            proxy_cluster_id=d.get('proxy_cluster_id'),
8018            secret_store_id=d.get('secret_store_id'),
8019            subdomain=d.get('subdomain'),
8020            tags=d.get('tags'),
8021            tls_required=d.get('tls_required'),
8022            username=d.get('username'),
8023        )
class Citus:
8026class Citus:
8027    __slots__ = [
8028        'bind_interface',
8029        'database',
8030        'egress_filter',
8031        'healthy',
8032        'hostname',
8033        'id',
8034        'name',
8035        'override_database',
8036        'password',
8037        'port',
8038        'port_override',
8039        'proxy_cluster_id',
8040        'secret_store_id',
8041        'subdomain',
8042        'tags',
8043        'username',
8044    ]
8045
8046    def __init__(
8047        self,
8048        bind_interface=None,
8049        database=None,
8050        egress_filter=None,
8051        healthy=None,
8052        hostname=None,
8053        id=None,
8054        name=None,
8055        override_database=None,
8056        password=None,
8057        port=None,
8058        port_override=None,
8059        proxy_cluster_id=None,
8060        secret_store_id=None,
8061        subdomain=None,
8062        tags=None,
8063        username=None,
8064    ):
8065        self.bind_interface = bind_interface if bind_interface is not None else ''
8066        '''
8067         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8068        '''
8069        self.database = database if database is not None else ''
8070        '''
8071         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8072        '''
8073        self.egress_filter = egress_filter if egress_filter is not None else ''
8074        '''
8075         A filter applied to the routing logic to pin datasource to nodes.
8076        '''
8077        self.healthy = healthy if healthy is not None else False
8078        '''
8079         True if the datasource is reachable and the credentials are valid.
8080        '''
8081        self.hostname = hostname if hostname is not None else ''
8082        '''
8083         The host to dial to initiate a connection from the egress node to this resource.
8084        '''
8085        self.id = id if id is not None else ''
8086        '''
8087         Unique identifier of the Resource.
8088        '''
8089        self.name = name if name is not None else ''
8090        '''
8091         Unique human-readable name of the Resource.
8092        '''
8093        self.override_database = override_database if override_database is not None else False
8094        '''
8095         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.
8096        '''
8097        self.password = password if password is not None else ''
8098        '''
8099         The password to authenticate with.
8100        '''
8101        self.port = port if port is not None else 0
8102        '''
8103         The port to dial to initiate a connection from the egress node to this resource.
8104        '''
8105        self.port_override = port_override if port_override is not None else 0
8106        '''
8107         The local port used by clients to connect to this resource.
8108        '''
8109        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8110        '''
8111         ID of the proxy cluster for this resource, if any.
8112        '''
8113        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8114        '''
8115         ID of the secret store containing credentials for this resource, if any.
8116        '''
8117        self.subdomain = subdomain if subdomain is not None else ''
8118        '''
8119         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8120        '''
8121        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8122        '''
8123         Tags is a map of key, value pairs.
8124        '''
8125        self.username = username if username is not None else ''
8126        '''
8127         The username to authenticate with.
8128        '''
8129
8130    def __repr__(self):
8131        return '<sdm.Citus ' + \
8132            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8133            'database: ' + repr(self.database) + ' ' +\
8134            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8135            'healthy: ' + repr(self.healthy) + ' ' +\
8136            'hostname: ' + repr(self.hostname) + ' ' +\
8137            'id: ' + repr(self.id) + ' ' +\
8138            'name: ' + repr(self.name) + ' ' +\
8139            'override_database: ' + repr(self.override_database) + ' ' +\
8140            'password: ' + repr(self.password) + ' ' +\
8141            'port: ' + repr(self.port) + ' ' +\
8142            'port_override: ' + repr(self.port_override) + ' ' +\
8143            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8144            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8145            'subdomain: ' + repr(self.subdomain) + ' ' +\
8146            'tags: ' + repr(self.tags) + ' ' +\
8147            'username: ' + repr(self.username) + ' ' +\
8148            '>'
8149
8150    def to_dict(self):
8151        return {
8152            'bind_interface': self.bind_interface,
8153            'database': self.database,
8154            'egress_filter': self.egress_filter,
8155            'healthy': self.healthy,
8156            'hostname': self.hostname,
8157            'id': self.id,
8158            'name': self.name,
8159            'override_database': self.override_database,
8160            'password': self.password,
8161            'port': self.port,
8162            'port_override': self.port_override,
8163            'proxy_cluster_id': self.proxy_cluster_id,
8164            'secret_store_id': self.secret_store_id,
8165            'subdomain': self.subdomain,
8166            'tags': self.tags,
8167            'username': self.username,
8168        }
8169
8170    @classmethod
8171    def from_dict(cls, d):
8172        return cls(
8173            bind_interface=d.get('bind_interface'),
8174            database=d.get('database'),
8175            egress_filter=d.get('egress_filter'),
8176            healthy=d.get('healthy'),
8177            hostname=d.get('hostname'),
8178            id=d.get('id'),
8179            name=d.get('name'),
8180            override_database=d.get('override_database'),
8181            password=d.get('password'),
8182            port=d.get('port'),
8183            port_override=d.get('port_override'),
8184            proxy_cluster_id=d.get('proxy_cluster_id'),
8185            secret_store_id=d.get('secret_store_id'),
8186            subdomain=d.get('subdomain'),
8187            tags=d.get('tags'),
8188            username=d.get('username'),
8189        )
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)
8046    def __init__(
8047        self,
8048        bind_interface=None,
8049        database=None,
8050        egress_filter=None,
8051        healthy=None,
8052        hostname=None,
8053        id=None,
8054        name=None,
8055        override_database=None,
8056        password=None,
8057        port=None,
8058        port_override=None,
8059        proxy_cluster_id=None,
8060        secret_store_id=None,
8061        subdomain=None,
8062        tags=None,
8063        username=None,
8064    ):
8065        self.bind_interface = bind_interface if bind_interface is not None else ''
8066        '''
8067         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8068        '''
8069        self.database = database if database is not None else ''
8070        '''
8071         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8072        '''
8073        self.egress_filter = egress_filter if egress_filter is not None else ''
8074        '''
8075         A filter applied to the routing logic to pin datasource to nodes.
8076        '''
8077        self.healthy = healthy if healthy is not None else False
8078        '''
8079         True if the datasource is reachable and the credentials are valid.
8080        '''
8081        self.hostname = hostname if hostname is not None else ''
8082        '''
8083         The host to dial to initiate a connection from the egress node to this resource.
8084        '''
8085        self.id = id if id is not None else ''
8086        '''
8087         Unique identifier of the Resource.
8088        '''
8089        self.name = name if name is not None else ''
8090        '''
8091         Unique human-readable name of the Resource.
8092        '''
8093        self.override_database = override_database if override_database is not None else False
8094        '''
8095         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.
8096        '''
8097        self.password = password if password is not None else ''
8098        '''
8099         The password to authenticate with.
8100        '''
8101        self.port = port if port is not None else 0
8102        '''
8103         The port to dial to initiate a connection from the egress node to this resource.
8104        '''
8105        self.port_override = port_override if port_override is not None else 0
8106        '''
8107         The local port used by clients to connect to this resource.
8108        '''
8109        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8110        '''
8111         ID of the proxy cluster for this resource, if any.
8112        '''
8113        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8114        '''
8115         ID of the secret store containing credentials for this resource, if any.
8116        '''
8117        self.subdomain = subdomain if subdomain is not None else ''
8118        '''
8119         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8120        '''
8121        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8122        '''
8123         Tags is a map of key, value pairs.
8124        '''
8125        self.username = username if username is not None else ''
8126        '''
8127         The username to authenticate with.
8128        '''
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)
8150    def to_dict(self):
8151        return {
8152            'bind_interface': self.bind_interface,
8153            'database': self.database,
8154            'egress_filter': self.egress_filter,
8155            'healthy': self.healthy,
8156            'hostname': self.hostname,
8157            'id': self.id,
8158            'name': self.name,
8159            'override_database': self.override_database,
8160            'password': self.password,
8161            'port': self.port,
8162            'port_override': self.port_override,
8163            'proxy_cluster_id': self.proxy_cluster_id,
8164            'secret_store_id': self.secret_store_id,
8165            'subdomain': self.subdomain,
8166            'tags': self.tags,
8167            'username': self.username,
8168        }
@classmethod
def from_dict(cls, d)
8170    @classmethod
8171    def from_dict(cls, d):
8172        return cls(
8173            bind_interface=d.get('bind_interface'),
8174            database=d.get('database'),
8175            egress_filter=d.get('egress_filter'),
8176            healthy=d.get('healthy'),
8177            hostname=d.get('hostname'),
8178            id=d.get('id'),
8179            name=d.get('name'),
8180            override_database=d.get('override_database'),
8181            password=d.get('password'),
8182            port=d.get('port'),
8183            port_override=d.get('port_override'),
8184            proxy_cluster_id=d.get('proxy_cluster_id'),
8185            secret_store_id=d.get('secret_store_id'),
8186            subdomain=d.get('subdomain'),
8187            tags=d.get('tags'),
8188            username=d.get('username'),
8189        )
class ClickHouseHTTP:
8192class ClickHouseHTTP:
8193    __slots__ = [
8194        'bind_interface',
8195        'database',
8196        'egress_filter',
8197        'healthy',
8198        'id',
8199        'name',
8200        'password',
8201        'port_override',
8202        'proxy_cluster_id',
8203        'secret_store_id',
8204        'tags',
8205        'url',
8206        'username',
8207    ]
8208
8209    def __init__(
8210        self,
8211        bind_interface=None,
8212        database=None,
8213        egress_filter=None,
8214        healthy=None,
8215        id=None,
8216        name=None,
8217        password=None,
8218        port_override=None,
8219        proxy_cluster_id=None,
8220        secret_store_id=None,
8221        tags=None,
8222        url=None,
8223        username=None,
8224    ):
8225        self.bind_interface = bind_interface if bind_interface is not None else ''
8226        '''
8227         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8228        '''
8229        self.database = database if database is not None else ''
8230        '''
8231         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8232        '''
8233        self.egress_filter = egress_filter if egress_filter is not None else ''
8234        '''
8235         A filter applied to the routing logic to pin datasource to nodes.
8236        '''
8237        self.healthy = healthy if healthy is not None else False
8238        '''
8239         True if the datasource is reachable and the credentials are valid.
8240        '''
8241        self.id = id if id is not None else ''
8242        '''
8243         Unique identifier of the Resource.
8244        '''
8245        self.name = name if name is not None else ''
8246        '''
8247         Unique human-readable name of the Resource.
8248        '''
8249        self.password = password if password is not None else ''
8250        '''
8251         The password to authenticate with.
8252        '''
8253        self.port_override = port_override if port_override is not None else 0
8254        '''
8255         The local port used by clients to connect to this resource.
8256        '''
8257        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8258        '''
8259         ID of the proxy cluster for this resource, if any.
8260        '''
8261        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8262        '''
8263         ID of the secret store containing credentials for this resource, if any.
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.url = url if url is not None else ''
8270        '''
8271         The URL to dial to initiate a connection from the egress node to this resource.
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.ClickHouseHTTP ' + \
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            'id: ' + repr(self.id) + ' ' +\
8285            'name: ' + repr(self.name) + ' ' +\
8286            'password: ' + repr(self.password) + ' ' +\
8287            'port_override: ' + repr(self.port_override) + ' ' +\
8288            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8289            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8290            'tags: ' + repr(self.tags) + ' ' +\
8291            'url: ' + repr(self.url) + ' ' +\
8292            'username: ' + repr(self.username) + ' ' +\
8293            '>'
8294
8295    def to_dict(self):
8296        return {
8297            'bind_interface': self.bind_interface,
8298            'database': self.database,
8299            'egress_filter': self.egress_filter,
8300            'healthy': self.healthy,
8301            'id': self.id,
8302            'name': self.name,
8303            'password': self.password,
8304            'port_override': self.port_override,
8305            'proxy_cluster_id': self.proxy_cluster_id,
8306            'secret_store_id': self.secret_store_id,
8307            'tags': self.tags,
8308            'url': self.url,
8309            'username': self.username,
8310        }
8311
8312    @classmethod
8313    def from_dict(cls, d):
8314        return cls(
8315            bind_interface=d.get('bind_interface'),
8316            database=d.get('database'),
8317            egress_filter=d.get('egress_filter'),
8318            healthy=d.get('healthy'),
8319            id=d.get('id'),
8320            name=d.get('name'),
8321            password=d.get('password'),
8322            port_override=d.get('port_override'),
8323            proxy_cluster_id=d.get('proxy_cluster_id'),
8324            secret_store_id=d.get('secret_store_id'),
8325            tags=d.get('tags'),
8326            url=d.get('url'),
8327            username=d.get('username'),
8328        )
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)
8209    def __init__(
8210        self,
8211        bind_interface=None,
8212        database=None,
8213        egress_filter=None,
8214        healthy=None,
8215        id=None,
8216        name=None,
8217        password=None,
8218        port_override=None,
8219        proxy_cluster_id=None,
8220        secret_store_id=None,
8221        tags=None,
8222        url=None,
8223        username=None,
8224    ):
8225        self.bind_interface = bind_interface if bind_interface is not None else ''
8226        '''
8227         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8228        '''
8229        self.database = database if database is not None else ''
8230        '''
8231         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8232        '''
8233        self.egress_filter = egress_filter if egress_filter is not None else ''
8234        '''
8235         A filter applied to the routing logic to pin datasource to nodes.
8236        '''
8237        self.healthy = healthy if healthy is not None else False
8238        '''
8239         True if the datasource is reachable and the credentials are valid.
8240        '''
8241        self.id = id if id is not None else ''
8242        '''
8243         Unique identifier of the Resource.
8244        '''
8245        self.name = name if name is not None else ''
8246        '''
8247         Unique human-readable name of the Resource.
8248        '''
8249        self.password = password if password is not None else ''
8250        '''
8251         The password to authenticate with.
8252        '''
8253        self.port_override = port_override if port_override is not None else 0
8254        '''
8255         The local port used by clients to connect to this resource.
8256        '''
8257        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8258        '''
8259         ID of the proxy cluster for this resource, if any.
8260        '''
8261        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8262        '''
8263         ID of the secret store containing credentials for this resource, if any.
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.url = url if url is not None else ''
8270        '''
8271         The URL to dial to initiate a connection from the egress node to this resource.
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.

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)
8295    def to_dict(self):
8296        return {
8297            'bind_interface': self.bind_interface,
8298            'database': self.database,
8299            'egress_filter': self.egress_filter,
8300            'healthy': self.healthy,
8301            'id': self.id,
8302            'name': self.name,
8303            'password': self.password,
8304            'port_override': self.port_override,
8305            'proxy_cluster_id': self.proxy_cluster_id,
8306            'secret_store_id': self.secret_store_id,
8307            'tags': self.tags,
8308            'url': self.url,
8309            'username': self.username,
8310        }
@classmethod
def from_dict(cls, d)
8312    @classmethod
8313    def from_dict(cls, d):
8314        return cls(
8315            bind_interface=d.get('bind_interface'),
8316            database=d.get('database'),
8317            egress_filter=d.get('egress_filter'),
8318            healthy=d.get('healthy'),
8319            id=d.get('id'),
8320            name=d.get('name'),
8321            password=d.get('password'),
8322            port_override=d.get('port_override'),
8323            proxy_cluster_id=d.get('proxy_cluster_id'),
8324            secret_store_id=d.get('secret_store_id'),
8325            tags=d.get('tags'),
8326            url=d.get('url'),
8327            username=d.get('username'),
8328        )
class ClickHouseMySQL:
8331class ClickHouseMySQL:
8332    __slots__ = [
8333        'bind_interface',
8334        'database',
8335        'egress_filter',
8336        'healthy',
8337        'hostname',
8338        'id',
8339        'name',
8340        'password',
8341        'port',
8342        'port_override',
8343        'proxy_cluster_id',
8344        'require_native_auth',
8345        'secret_store_id',
8346        'subdomain',
8347        'tags',
8348        'username',
8349    ]
8350
8351    def __init__(
8352        self,
8353        bind_interface=None,
8354        database=None,
8355        egress_filter=None,
8356        healthy=None,
8357        hostname=None,
8358        id=None,
8359        name=None,
8360        password=None,
8361        port=None,
8362        port_override=None,
8363        proxy_cluster_id=None,
8364        require_native_auth=None,
8365        secret_store_id=None,
8366        subdomain=None,
8367        tags=None,
8368        username=None,
8369    ):
8370        self.bind_interface = bind_interface if bind_interface is not None else ''
8371        '''
8372         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8373        '''
8374        self.database = database if database is not None else ''
8375        '''
8376         The database for healthchecks. Does not affect client requests.
8377        '''
8378        self.egress_filter = egress_filter if egress_filter is not None else ''
8379        '''
8380         A filter applied to the routing logic to pin datasource to nodes.
8381        '''
8382        self.healthy = healthy if healthy is not None else False
8383        '''
8384         True if the datasource is reachable and the credentials are valid.
8385        '''
8386        self.hostname = hostname if hostname is not None else ''
8387        '''
8388         The host to dial to initiate a connection from the egress node to this resource.
8389        '''
8390        self.id = id if id is not None else ''
8391        '''
8392         Unique identifier of the Resource.
8393        '''
8394        self.name = name if name is not None else ''
8395        '''
8396         Unique human-readable name of the Resource.
8397        '''
8398        self.password = password if password is not None else ''
8399        '''
8400         The password to authenticate with.
8401        '''
8402        self.port = port if port is not None else 0
8403        '''
8404         The port to dial to initiate a connection from the egress node to this resource.
8405        '''
8406        self.port_override = port_override if port_override is not None else 0
8407        '''
8408         The local port used by clients to connect to this resource.
8409        '''
8410        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8411        '''
8412         ID of the proxy cluster for this resource, if any.
8413        '''
8414        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8415        '''
8416         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8417        '''
8418        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8419        '''
8420         ID of the secret store containing credentials for this resource, if any.
8421        '''
8422        self.subdomain = subdomain if subdomain is not None else ''
8423        '''
8424         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8425        '''
8426        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8427        '''
8428         Tags is a map of key, value pairs.
8429        '''
8430        self.username = username if username is not None else ''
8431        '''
8432         The username to authenticate with.
8433        '''
8434
8435    def __repr__(self):
8436        return '<sdm.ClickHouseMySQL ' + \
8437            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8438            'database: ' + repr(self.database) + ' ' +\
8439            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8440            'healthy: ' + repr(self.healthy) + ' ' +\
8441            'hostname: ' + repr(self.hostname) + ' ' +\
8442            'id: ' + repr(self.id) + ' ' +\
8443            'name: ' + repr(self.name) + ' ' +\
8444            'password: ' + repr(self.password) + ' ' +\
8445            'port: ' + repr(self.port) + ' ' +\
8446            'port_override: ' + repr(self.port_override) + ' ' +\
8447            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8448            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
8449            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8450            'subdomain: ' + repr(self.subdomain) + ' ' +\
8451            'tags: ' + repr(self.tags) + ' ' +\
8452            'username: ' + repr(self.username) + ' ' +\
8453            '>'
8454
8455    def to_dict(self):
8456        return {
8457            'bind_interface': self.bind_interface,
8458            'database': self.database,
8459            'egress_filter': self.egress_filter,
8460            'healthy': self.healthy,
8461            'hostname': self.hostname,
8462            'id': self.id,
8463            'name': self.name,
8464            'password': self.password,
8465            'port': self.port,
8466            'port_override': self.port_override,
8467            'proxy_cluster_id': self.proxy_cluster_id,
8468            'require_native_auth': self.require_native_auth,
8469            'secret_store_id': self.secret_store_id,
8470            'subdomain': self.subdomain,
8471            'tags': self.tags,
8472            'username': self.username,
8473        }
8474
8475    @classmethod
8476    def from_dict(cls, d):
8477        return cls(
8478            bind_interface=d.get('bind_interface'),
8479            database=d.get('database'),
8480            egress_filter=d.get('egress_filter'),
8481            healthy=d.get('healthy'),
8482            hostname=d.get('hostname'),
8483            id=d.get('id'),
8484            name=d.get('name'),
8485            password=d.get('password'),
8486            port=d.get('port'),
8487            port_override=d.get('port_override'),
8488            proxy_cluster_id=d.get('proxy_cluster_id'),
8489            require_native_auth=d.get('require_native_auth'),
8490            secret_store_id=d.get('secret_store_id'),
8491            subdomain=d.get('subdomain'),
8492            tags=d.get('tags'),
8493            username=d.get('username'),
8494        )
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)
8351    def __init__(
8352        self,
8353        bind_interface=None,
8354        database=None,
8355        egress_filter=None,
8356        healthy=None,
8357        hostname=None,
8358        id=None,
8359        name=None,
8360        password=None,
8361        port=None,
8362        port_override=None,
8363        proxy_cluster_id=None,
8364        require_native_auth=None,
8365        secret_store_id=None,
8366        subdomain=None,
8367        tags=None,
8368        username=None,
8369    ):
8370        self.bind_interface = bind_interface if bind_interface is not None else ''
8371        '''
8372         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8373        '''
8374        self.database = database if database is not None else ''
8375        '''
8376         The database for healthchecks. Does not affect client requests.
8377        '''
8378        self.egress_filter = egress_filter if egress_filter is not None else ''
8379        '''
8380         A filter applied to the routing logic to pin datasource to nodes.
8381        '''
8382        self.healthy = healthy if healthy is not None else False
8383        '''
8384         True if the datasource is reachable and the credentials are valid.
8385        '''
8386        self.hostname = hostname if hostname is not None else ''
8387        '''
8388         The host to dial to initiate a connection from the egress node to this resource.
8389        '''
8390        self.id = id if id is not None else ''
8391        '''
8392         Unique identifier of the Resource.
8393        '''
8394        self.name = name if name is not None else ''
8395        '''
8396         Unique human-readable name of the Resource.
8397        '''
8398        self.password = password if password is not None else ''
8399        '''
8400         The password to authenticate with.
8401        '''
8402        self.port = port if port is not None else 0
8403        '''
8404         The port to dial to initiate a connection from the egress node to this resource.
8405        '''
8406        self.port_override = port_override if port_override is not None else 0
8407        '''
8408         The local port used by clients to connect to this resource.
8409        '''
8410        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8411        '''
8412         ID of the proxy cluster for this resource, if any.
8413        '''
8414        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8415        '''
8416         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8417        '''
8418        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8419        '''
8420         ID of the secret store containing credentials for this resource, if any.
8421        '''
8422        self.subdomain = subdomain if subdomain is not None else ''
8423        '''
8424         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8425        '''
8426        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8427        '''
8428         Tags is a map of key, value pairs.
8429        '''
8430        self.username = username if username is not None else ''
8431        '''
8432         The username to authenticate with.
8433        '''
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)
8455    def to_dict(self):
8456        return {
8457            'bind_interface': self.bind_interface,
8458            'database': self.database,
8459            'egress_filter': self.egress_filter,
8460            'healthy': self.healthy,
8461            'hostname': self.hostname,
8462            'id': self.id,
8463            'name': self.name,
8464            'password': self.password,
8465            'port': self.port,
8466            'port_override': self.port_override,
8467            'proxy_cluster_id': self.proxy_cluster_id,
8468            'require_native_auth': self.require_native_auth,
8469            'secret_store_id': self.secret_store_id,
8470            'subdomain': self.subdomain,
8471            'tags': self.tags,
8472            'username': self.username,
8473        }
@classmethod
def from_dict(cls, d)
8475    @classmethod
8476    def from_dict(cls, d):
8477        return cls(
8478            bind_interface=d.get('bind_interface'),
8479            database=d.get('database'),
8480            egress_filter=d.get('egress_filter'),
8481            healthy=d.get('healthy'),
8482            hostname=d.get('hostname'),
8483            id=d.get('id'),
8484            name=d.get('name'),
8485            password=d.get('password'),
8486            port=d.get('port'),
8487            port_override=d.get('port_override'),
8488            proxy_cluster_id=d.get('proxy_cluster_id'),
8489            require_native_auth=d.get('require_native_auth'),
8490            secret_store_id=d.get('secret_store_id'),
8491            subdomain=d.get('subdomain'),
8492            tags=d.get('tags'),
8493            username=d.get('username'),
8494        )
class ClickHouseTCP:
8497class ClickHouseTCP:
8498    __slots__ = [
8499        'bind_interface',
8500        'database',
8501        'egress_filter',
8502        'healthy',
8503        'hostname',
8504        'id',
8505        'name',
8506        'password',
8507        'port',
8508        'port_override',
8509        'proxy_cluster_id',
8510        'secret_store_id',
8511        'subdomain',
8512        'tags',
8513        'tls_required',
8514        'username',
8515    ]
8516
8517    def __init__(
8518        self,
8519        bind_interface=None,
8520        database=None,
8521        egress_filter=None,
8522        healthy=None,
8523        hostname=None,
8524        id=None,
8525        name=None,
8526        password=None,
8527        port=None,
8528        port_override=None,
8529        proxy_cluster_id=None,
8530        secret_store_id=None,
8531        subdomain=None,
8532        tags=None,
8533        tls_required=None,
8534        username=None,
8535    ):
8536        self.bind_interface = bind_interface if bind_interface is not None else ''
8537        '''
8538         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8539        '''
8540        self.database = database if database is not None else ''
8541        '''
8542         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8543        '''
8544        self.egress_filter = egress_filter if egress_filter is not None else ''
8545        '''
8546         A filter applied to the routing logic to pin datasource to nodes.
8547        '''
8548        self.healthy = healthy if healthy is not None else False
8549        '''
8550         True if the datasource is reachable and the credentials are valid.
8551        '''
8552        self.hostname = hostname if hostname is not None else ''
8553        '''
8554         The host to dial to initiate a connection from the egress node to this resource.
8555        '''
8556        self.id = id if id is not None else ''
8557        '''
8558         Unique identifier of the Resource.
8559        '''
8560        self.name = name if name is not None else ''
8561        '''
8562         Unique human-readable name of the Resource.
8563        '''
8564        self.password = password if password is not None else ''
8565        '''
8566         The password to authenticate with.
8567        '''
8568        self.port = port if port is not None else 0
8569        '''
8570         The port to dial to initiate a connection from the egress node to this resource.
8571        '''
8572        self.port_override = port_override if port_override is not None else 0
8573        '''
8574         The local port used by clients to connect to this resource.
8575        '''
8576        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8577        '''
8578         ID of the proxy cluster for this resource, if any.
8579        '''
8580        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8581        '''
8582         ID of the secret store containing credentials for this resource, if any.
8583        '''
8584        self.subdomain = subdomain if subdomain is not None else ''
8585        '''
8586         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8587        '''
8588        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8589        '''
8590         Tags is a map of key, value pairs.
8591        '''
8592        self.tls_required = tls_required if tls_required is not None else False
8593        '''
8594         If set, TLS must be used to connect to this resource.
8595        '''
8596        self.username = username if username is not None else ''
8597        '''
8598         The username to authenticate with.
8599        '''
8600
8601    def __repr__(self):
8602        return '<sdm.ClickHouseTCP ' + \
8603            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8604            'database: ' + repr(self.database) + ' ' +\
8605            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8606            'healthy: ' + repr(self.healthy) + ' ' +\
8607            'hostname: ' + repr(self.hostname) + ' ' +\
8608            'id: ' + repr(self.id) + ' ' +\
8609            'name: ' + repr(self.name) + ' ' +\
8610            'password: ' + repr(self.password) + ' ' +\
8611            'port: ' + repr(self.port) + ' ' +\
8612            'port_override: ' + repr(self.port_override) + ' ' +\
8613            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8614            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8615            'subdomain: ' + repr(self.subdomain) + ' ' +\
8616            'tags: ' + repr(self.tags) + ' ' +\
8617            'tls_required: ' + repr(self.tls_required) + ' ' +\
8618            'username: ' + repr(self.username) + ' ' +\
8619            '>'
8620
8621    def to_dict(self):
8622        return {
8623            'bind_interface': self.bind_interface,
8624            'database': self.database,
8625            'egress_filter': self.egress_filter,
8626            'healthy': self.healthy,
8627            'hostname': self.hostname,
8628            'id': self.id,
8629            'name': self.name,
8630            'password': self.password,
8631            'port': self.port,
8632            'port_override': self.port_override,
8633            'proxy_cluster_id': self.proxy_cluster_id,
8634            'secret_store_id': self.secret_store_id,
8635            'subdomain': self.subdomain,
8636            'tags': self.tags,
8637            'tls_required': self.tls_required,
8638            'username': self.username,
8639        }
8640
8641    @classmethod
8642    def from_dict(cls, d):
8643        return cls(
8644            bind_interface=d.get('bind_interface'),
8645            database=d.get('database'),
8646            egress_filter=d.get('egress_filter'),
8647            healthy=d.get('healthy'),
8648            hostname=d.get('hostname'),
8649            id=d.get('id'),
8650            name=d.get('name'),
8651            password=d.get('password'),
8652            port=d.get('port'),
8653            port_override=d.get('port_override'),
8654            proxy_cluster_id=d.get('proxy_cluster_id'),
8655            secret_store_id=d.get('secret_store_id'),
8656            subdomain=d.get('subdomain'),
8657            tags=d.get('tags'),
8658            tls_required=d.get('tls_required'),
8659            username=d.get('username'),
8660        )
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)
8517    def __init__(
8518        self,
8519        bind_interface=None,
8520        database=None,
8521        egress_filter=None,
8522        healthy=None,
8523        hostname=None,
8524        id=None,
8525        name=None,
8526        password=None,
8527        port=None,
8528        port_override=None,
8529        proxy_cluster_id=None,
8530        secret_store_id=None,
8531        subdomain=None,
8532        tags=None,
8533        tls_required=None,
8534        username=None,
8535    ):
8536        self.bind_interface = bind_interface if bind_interface is not None else ''
8537        '''
8538         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8539        '''
8540        self.database = database if database is not None else ''
8541        '''
8542         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8543        '''
8544        self.egress_filter = egress_filter if egress_filter is not None else ''
8545        '''
8546         A filter applied to the routing logic to pin datasource to nodes.
8547        '''
8548        self.healthy = healthy if healthy is not None else False
8549        '''
8550         True if the datasource is reachable and the credentials are valid.
8551        '''
8552        self.hostname = hostname if hostname is not None else ''
8553        '''
8554         The host to dial to initiate a connection from the egress node to this resource.
8555        '''
8556        self.id = id if id is not None else ''
8557        '''
8558         Unique identifier of the Resource.
8559        '''
8560        self.name = name if name is not None else ''
8561        '''
8562         Unique human-readable name of the Resource.
8563        '''
8564        self.password = password if password is not None else ''
8565        '''
8566         The password to authenticate with.
8567        '''
8568        self.port = port if port is not None else 0
8569        '''
8570         The port to dial to initiate a connection from the egress node to this resource.
8571        '''
8572        self.port_override = port_override if port_override is not None else 0
8573        '''
8574         The local port used by clients to connect to this resource.
8575        '''
8576        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8577        '''
8578         ID of the proxy cluster for this resource, if any.
8579        '''
8580        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8581        '''
8582         ID of the secret store containing credentials for this resource, if any.
8583        '''
8584        self.subdomain = subdomain if subdomain is not None else ''
8585        '''
8586         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8587        '''
8588        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8589        '''
8590         Tags is a map of key, value pairs.
8591        '''
8592        self.tls_required = tls_required if tls_required is not None else False
8593        '''
8594         If set, TLS must be used to connect to this resource.
8595        '''
8596        self.username = username if username is not None else ''
8597        '''
8598         The username to authenticate with.
8599        '''
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)
8621    def to_dict(self):
8622        return {
8623            'bind_interface': self.bind_interface,
8624            'database': self.database,
8625            'egress_filter': self.egress_filter,
8626            'healthy': self.healthy,
8627            'hostname': self.hostname,
8628            'id': self.id,
8629            'name': self.name,
8630            'password': self.password,
8631            'port': self.port,
8632            'port_override': self.port_override,
8633            'proxy_cluster_id': self.proxy_cluster_id,
8634            'secret_store_id': self.secret_store_id,
8635            'subdomain': self.subdomain,
8636            'tags': self.tags,
8637            'tls_required': self.tls_required,
8638            'username': self.username,
8639        }
@classmethod
def from_dict(cls, d)
8641    @classmethod
8642    def from_dict(cls, d):
8643        return cls(
8644            bind_interface=d.get('bind_interface'),
8645            database=d.get('database'),
8646            egress_filter=d.get('egress_filter'),
8647            healthy=d.get('healthy'),
8648            hostname=d.get('hostname'),
8649            id=d.get('id'),
8650            name=d.get('name'),
8651            password=d.get('password'),
8652            port=d.get('port'),
8653            port_override=d.get('port_override'),
8654            proxy_cluster_id=d.get('proxy_cluster_id'),
8655            secret_store_id=d.get('secret_store_id'),
8656            subdomain=d.get('subdomain'),
8657            tags=d.get('tags'),
8658            tls_required=d.get('tls_required'),
8659            username=d.get('username'),
8660        )
class Clustrix:
8663class Clustrix:
8664    __slots__ = [
8665        'bind_interface',
8666        'database',
8667        'egress_filter',
8668        'healthy',
8669        'hostname',
8670        'id',
8671        'name',
8672        'password',
8673        'port',
8674        'port_override',
8675        'proxy_cluster_id',
8676        'require_native_auth',
8677        'secret_store_id',
8678        'subdomain',
8679        'tags',
8680        'use_azure_single_server_usernames',
8681        'username',
8682    ]
8683
8684    def __init__(
8685        self,
8686        bind_interface=None,
8687        database=None,
8688        egress_filter=None,
8689        healthy=None,
8690        hostname=None,
8691        id=None,
8692        name=None,
8693        password=None,
8694        port=None,
8695        port_override=None,
8696        proxy_cluster_id=None,
8697        require_native_auth=None,
8698        secret_store_id=None,
8699        subdomain=None,
8700        tags=None,
8701        use_azure_single_server_usernames=None,
8702        username=None,
8703    ):
8704        self.bind_interface = bind_interface if bind_interface is not None else ''
8705        '''
8706         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8707        '''
8708        self.database = database if database is not None else ''
8709        '''
8710         The database for healthchecks. Does not affect client requests.
8711        '''
8712        self.egress_filter = egress_filter if egress_filter is not None else ''
8713        '''
8714         A filter applied to the routing logic to pin datasource to nodes.
8715        '''
8716        self.healthy = healthy if healthy is not None else False
8717        '''
8718         True if the datasource is reachable and the credentials are valid.
8719        '''
8720        self.hostname = hostname if hostname is not None else ''
8721        '''
8722         The host to dial to initiate a connection from the egress node to this resource.
8723        '''
8724        self.id = id if id is not None else ''
8725        '''
8726         Unique identifier of the Resource.
8727        '''
8728        self.name = name if name is not None else ''
8729        '''
8730         Unique human-readable name of the Resource.
8731        '''
8732        self.password = password if password is not None else ''
8733        '''
8734         The password to authenticate with.
8735        '''
8736        self.port = port if port is not None else 0
8737        '''
8738         The port to dial to initiate a connection from the egress node to this resource.
8739        '''
8740        self.port_override = port_override if port_override is not None else 0
8741        '''
8742         The local port used by clients to connect to this resource.
8743        '''
8744        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8745        '''
8746         ID of the proxy cluster for this resource, if any.
8747        '''
8748        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8749        '''
8750         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8751        '''
8752        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8753        '''
8754         ID of the secret store containing credentials for this resource, if any.
8755        '''
8756        self.subdomain = subdomain if subdomain is not None else ''
8757        '''
8758         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8759        '''
8760        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8761        '''
8762         Tags is a map of key, value pairs.
8763        '''
8764        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8765        '''
8766         If true, appends the hostname to the username when hitting a database.azure.com address
8767        '''
8768        self.username = username if username is not None else ''
8769        '''
8770         The username to authenticate with.
8771        '''
8772
8773    def __repr__(self):
8774        return '<sdm.Clustrix ' + \
8775            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8776            'database: ' + repr(self.database) + ' ' +\
8777            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8778            'healthy: ' + repr(self.healthy) + ' ' +\
8779            'hostname: ' + repr(self.hostname) + ' ' +\
8780            'id: ' + repr(self.id) + ' ' +\
8781            'name: ' + repr(self.name) + ' ' +\
8782            'password: ' + repr(self.password) + ' ' +\
8783            'port: ' + repr(self.port) + ' ' +\
8784            'port_override: ' + repr(self.port_override) + ' ' +\
8785            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8786            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
8787            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8788            'subdomain: ' + repr(self.subdomain) + ' ' +\
8789            'tags: ' + repr(self.tags) + ' ' +\
8790            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8791            'username: ' + repr(self.username) + ' ' +\
8792            '>'
8793
8794    def to_dict(self):
8795        return {
8796            'bind_interface': self.bind_interface,
8797            'database': self.database,
8798            'egress_filter': self.egress_filter,
8799            'healthy': self.healthy,
8800            'hostname': self.hostname,
8801            'id': self.id,
8802            'name': self.name,
8803            'password': self.password,
8804            'port': self.port,
8805            'port_override': self.port_override,
8806            'proxy_cluster_id': self.proxy_cluster_id,
8807            'require_native_auth': self.require_native_auth,
8808            'secret_store_id': self.secret_store_id,
8809            'subdomain': self.subdomain,
8810            'tags': self.tags,
8811            'use_azure_single_server_usernames':
8812            self.use_azure_single_server_usernames,
8813            'username': self.username,
8814        }
8815
8816    @classmethod
8817    def from_dict(cls, d):
8818        return cls(
8819            bind_interface=d.get('bind_interface'),
8820            database=d.get('database'),
8821            egress_filter=d.get('egress_filter'),
8822            healthy=d.get('healthy'),
8823            hostname=d.get('hostname'),
8824            id=d.get('id'),
8825            name=d.get('name'),
8826            password=d.get('password'),
8827            port=d.get('port'),
8828            port_override=d.get('port_override'),
8829            proxy_cluster_id=d.get('proxy_cluster_id'),
8830            require_native_auth=d.get('require_native_auth'),
8831            secret_store_id=d.get('secret_store_id'),
8832            subdomain=d.get('subdomain'),
8833            tags=d.get('tags'),
8834            use_azure_single_server_usernames=d.get(
8835                'use_azure_single_server_usernames'),
8836            username=d.get('username'),
8837        )
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)
8684    def __init__(
8685        self,
8686        bind_interface=None,
8687        database=None,
8688        egress_filter=None,
8689        healthy=None,
8690        hostname=None,
8691        id=None,
8692        name=None,
8693        password=None,
8694        port=None,
8695        port_override=None,
8696        proxy_cluster_id=None,
8697        require_native_auth=None,
8698        secret_store_id=None,
8699        subdomain=None,
8700        tags=None,
8701        use_azure_single_server_usernames=None,
8702        username=None,
8703    ):
8704        self.bind_interface = bind_interface if bind_interface is not None else ''
8705        '''
8706         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8707        '''
8708        self.database = database if database is not None else ''
8709        '''
8710         The database for healthchecks. Does not affect client requests.
8711        '''
8712        self.egress_filter = egress_filter if egress_filter is not None else ''
8713        '''
8714         A filter applied to the routing logic to pin datasource to nodes.
8715        '''
8716        self.healthy = healthy if healthy is not None else False
8717        '''
8718         True if the datasource is reachable and the credentials are valid.
8719        '''
8720        self.hostname = hostname if hostname is not None else ''
8721        '''
8722         The host to dial to initiate a connection from the egress node to this resource.
8723        '''
8724        self.id = id if id is not None else ''
8725        '''
8726         Unique identifier of the Resource.
8727        '''
8728        self.name = name if name is not None else ''
8729        '''
8730         Unique human-readable name of the Resource.
8731        '''
8732        self.password = password if password is not None else ''
8733        '''
8734         The password to authenticate with.
8735        '''
8736        self.port = port if port is not None else 0
8737        '''
8738         The port to dial to initiate a connection from the egress node to this resource.
8739        '''
8740        self.port_override = port_override if port_override is not None else 0
8741        '''
8742         The local port used by clients to connect to this resource.
8743        '''
8744        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8745        '''
8746         ID of the proxy cluster for this resource, if any.
8747        '''
8748        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8749        '''
8750         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8751        '''
8752        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8753        '''
8754         ID of the secret store containing credentials for this resource, if any.
8755        '''
8756        self.subdomain = subdomain if subdomain is not None else ''
8757        '''
8758         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8759        '''
8760        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8761        '''
8762         Tags is a map of key, value pairs.
8763        '''
8764        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8765        '''
8766         If true, appends the hostname to the username when hitting a database.azure.com address
8767        '''
8768        self.username = username if username is not None else ''
8769        '''
8770         The username to authenticate with.
8771        '''
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)
8794    def to_dict(self):
8795        return {
8796            'bind_interface': self.bind_interface,
8797            'database': self.database,
8798            'egress_filter': self.egress_filter,
8799            'healthy': self.healthy,
8800            'hostname': self.hostname,
8801            'id': self.id,
8802            'name': self.name,
8803            'password': self.password,
8804            'port': self.port,
8805            'port_override': self.port_override,
8806            'proxy_cluster_id': self.proxy_cluster_id,
8807            'require_native_auth': self.require_native_auth,
8808            'secret_store_id': self.secret_store_id,
8809            'subdomain': self.subdomain,
8810            'tags': self.tags,
8811            'use_azure_single_server_usernames':
8812            self.use_azure_single_server_usernames,
8813            'username': self.username,
8814        }
@classmethod
def from_dict(cls, d)
8816    @classmethod
8817    def from_dict(cls, d):
8818        return cls(
8819            bind_interface=d.get('bind_interface'),
8820            database=d.get('database'),
8821            egress_filter=d.get('egress_filter'),
8822            healthy=d.get('healthy'),
8823            hostname=d.get('hostname'),
8824            id=d.get('id'),
8825            name=d.get('name'),
8826            password=d.get('password'),
8827            port=d.get('port'),
8828            port_override=d.get('port_override'),
8829            proxy_cluster_id=d.get('proxy_cluster_id'),
8830            require_native_auth=d.get('require_native_auth'),
8831            secret_store_id=d.get('secret_store_id'),
8832            subdomain=d.get('subdomain'),
8833            tags=d.get('tags'),
8834            use_azure_single_server_usernames=d.get(
8835                'use_azure_single_server_usernames'),
8836            username=d.get('username'),
8837        )
class Cockroach:
8840class Cockroach:
8841    __slots__ = [
8842        'bind_interface',
8843        'database',
8844        'egress_filter',
8845        'healthy',
8846        'hostname',
8847        'id',
8848        'name',
8849        'override_database',
8850        'password',
8851        'port',
8852        'port_override',
8853        'proxy_cluster_id',
8854        'secret_store_id',
8855        'subdomain',
8856        'tags',
8857        'username',
8858    ]
8859
8860    def __init__(
8861        self,
8862        bind_interface=None,
8863        database=None,
8864        egress_filter=None,
8865        healthy=None,
8866        hostname=None,
8867        id=None,
8868        name=None,
8869        override_database=None,
8870        password=None,
8871        port=None,
8872        port_override=None,
8873        proxy_cluster_id=None,
8874        secret_store_id=None,
8875        subdomain=None,
8876        tags=None,
8877        username=None,
8878    ):
8879        self.bind_interface = bind_interface if bind_interface is not None else ''
8880        '''
8881         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8882        '''
8883        self.database = database if database is not None else ''
8884        '''
8885         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8886        '''
8887        self.egress_filter = egress_filter if egress_filter is not None else ''
8888        '''
8889         A filter applied to the routing logic to pin datasource to nodes.
8890        '''
8891        self.healthy = healthy if healthy is not None else False
8892        '''
8893         True if the datasource is reachable and the credentials are valid.
8894        '''
8895        self.hostname = hostname if hostname is not None else ''
8896        '''
8897         The host to dial to initiate a connection from the egress node to this resource.
8898        '''
8899        self.id = id if id is not None else ''
8900        '''
8901         Unique identifier of the Resource.
8902        '''
8903        self.name = name if name is not None else ''
8904        '''
8905         Unique human-readable name of the Resource.
8906        '''
8907        self.override_database = override_database if override_database is not None else False
8908        '''
8909         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.
8910        '''
8911        self.password = password if password is not None else ''
8912        '''
8913         The password to authenticate with.
8914        '''
8915        self.port = port if port is not None else 0
8916        '''
8917         The port to dial to initiate a connection from the egress node to this resource.
8918        '''
8919        self.port_override = port_override if port_override is not None else 0
8920        '''
8921         The local port used by clients to connect to this resource.
8922        '''
8923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8924        '''
8925         ID of the proxy cluster for this resource, if any.
8926        '''
8927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8928        '''
8929         ID of the secret store containing credentials for this resource, if any.
8930        '''
8931        self.subdomain = subdomain if subdomain is not None else ''
8932        '''
8933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8934        '''
8935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8936        '''
8937         Tags is a map of key, value pairs.
8938        '''
8939        self.username = username if username is not None else ''
8940        '''
8941         The username to authenticate with.
8942        '''
8943
8944    def __repr__(self):
8945        return '<sdm.Cockroach ' + \
8946            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8947            'database: ' + repr(self.database) + ' ' +\
8948            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8949            'healthy: ' + repr(self.healthy) + ' ' +\
8950            'hostname: ' + repr(self.hostname) + ' ' +\
8951            'id: ' + repr(self.id) + ' ' +\
8952            'name: ' + repr(self.name) + ' ' +\
8953            'override_database: ' + repr(self.override_database) + ' ' +\
8954            'password: ' + repr(self.password) + ' ' +\
8955            'port: ' + repr(self.port) + ' ' +\
8956            'port_override: ' + repr(self.port_override) + ' ' +\
8957            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8958            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8959            'subdomain: ' + repr(self.subdomain) + ' ' +\
8960            'tags: ' + repr(self.tags) + ' ' +\
8961            'username: ' + repr(self.username) + ' ' +\
8962            '>'
8963
8964    def to_dict(self):
8965        return {
8966            'bind_interface': self.bind_interface,
8967            'database': self.database,
8968            'egress_filter': self.egress_filter,
8969            'healthy': self.healthy,
8970            'hostname': self.hostname,
8971            'id': self.id,
8972            'name': self.name,
8973            'override_database': self.override_database,
8974            'password': self.password,
8975            'port': self.port,
8976            'port_override': self.port_override,
8977            'proxy_cluster_id': self.proxy_cluster_id,
8978            'secret_store_id': self.secret_store_id,
8979            'subdomain': self.subdomain,
8980            'tags': self.tags,
8981            'username': self.username,
8982        }
8983
8984    @classmethod
8985    def from_dict(cls, d):
8986        return cls(
8987            bind_interface=d.get('bind_interface'),
8988            database=d.get('database'),
8989            egress_filter=d.get('egress_filter'),
8990            healthy=d.get('healthy'),
8991            hostname=d.get('hostname'),
8992            id=d.get('id'),
8993            name=d.get('name'),
8994            override_database=d.get('override_database'),
8995            password=d.get('password'),
8996            port=d.get('port'),
8997            port_override=d.get('port_override'),
8998            proxy_cluster_id=d.get('proxy_cluster_id'),
8999            secret_store_id=d.get('secret_store_id'),
9000            subdomain=d.get('subdomain'),
9001            tags=d.get('tags'),
9002            username=d.get('username'),
9003        )
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)
8860    def __init__(
8861        self,
8862        bind_interface=None,
8863        database=None,
8864        egress_filter=None,
8865        healthy=None,
8866        hostname=None,
8867        id=None,
8868        name=None,
8869        override_database=None,
8870        password=None,
8871        port=None,
8872        port_override=None,
8873        proxy_cluster_id=None,
8874        secret_store_id=None,
8875        subdomain=None,
8876        tags=None,
8877        username=None,
8878    ):
8879        self.bind_interface = bind_interface if bind_interface is not None else ''
8880        '''
8881         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8882        '''
8883        self.database = database if database is not None else ''
8884        '''
8885         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8886        '''
8887        self.egress_filter = egress_filter if egress_filter is not None else ''
8888        '''
8889         A filter applied to the routing logic to pin datasource to nodes.
8890        '''
8891        self.healthy = healthy if healthy is not None else False
8892        '''
8893         True if the datasource is reachable and the credentials are valid.
8894        '''
8895        self.hostname = hostname if hostname is not None else ''
8896        '''
8897         The host to dial to initiate a connection from the egress node to this resource.
8898        '''
8899        self.id = id if id is not None else ''
8900        '''
8901         Unique identifier of the Resource.
8902        '''
8903        self.name = name if name is not None else ''
8904        '''
8905         Unique human-readable name of the Resource.
8906        '''
8907        self.override_database = override_database if override_database is not None else False
8908        '''
8909         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.
8910        '''
8911        self.password = password if password is not None else ''
8912        '''
8913         The password to authenticate with.
8914        '''
8915        self.port = port if port is not None else 0
8916        '''
8917         The port to dial to initiate a connection from the egress node to this resource.
8918        '''
8919        self.port_override = port_override if port_override is not None else 0
8920        '''
8921         The local port used by clients to connect to this resource.
8922        '''
8923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8924        '''
8925         ID of the proxy cluster for this resource, if any.
8926        '''
8927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8928        '''
8929         ID of the secret store containing credentials for this resource, if any.
8930        '''
8931        self.subdomain = subdomain if subdomain is not None else ''
8932        '''
8933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8934        '''
8935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8936        '''
8937         Tags is a map of key, value pairs.
8938        '''
8939        self.username = username if username is not None else ''
8940        '''
8941         The username to authenticate with.
8942        '''
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)
8964    def to_dict(self):
8965        return {
8966            'bind_interface': self.bind_interface,
8967            'database': self.database,
8968            'egress_filter': self.egress_filter,
8969            'healthy': self.healthy,
8970            'hostname': self.hostname,
8971            'id': self.id,
8972            'name': self.name,
8973            'override_database': self.override_database,
8974            'password': self.password,
8975            'port': self.port,
8976            'port_override': self.port_override,
8977            'proxy_cluster_id': self.proxy_cluster_id,
8978            'secret_store_id': self.secret_store_id,
8979            'subdomain': self.subdomain,
8980            'tags': self.tags,
8981            'username': self.username,
8982        }
@classmethod
def from_dict(cls, d)
8984    @classmethod
8985    def from_dict(cls, d):
8986        return cls(
8987            bind_interface=d.get('bind_interface'),
8988            database=d.get('database'),
8989            egress_filter=d.get('egress_filter'),
8990            healthy=d.get('healthy'),
8991            hostname=d.get('hostname'),
8992            id=d.get('id'),
8993            name=d.get('name'),
8994            override_database=d.get('override_database'),
8995            password=d.get('password'),
8996            port=d.get('port'),
8997            port_override=d.get('port_override'),
8998            proxy_cluster_id=d.get('proxy_cluster_id'),
8999            secret_store_id=d.get('secret_store_id'),
9000            subdomain=d.get('subdomain'),
9001            tags=d.get('tags'),
9002            username=d.get('username'),
9003        )
class ControlPanelGetRDPCAPublicKeyResponse:
9006class ControlPanelGetRDPCAPublicKeyResponse:
9007    '''
9008         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
9009     organization's RDP Certificate Authority public key.
9010    '''
9011    __slots__ = [
9012        'meta',
9013        'public_key',
9014        'rate_limit',
9015    ]
9016
9017    def __init__(
9018        self,
9019        meta=None,
9020        public_key=None,
9021        rate_limit=None,
9022    ):
9023        self.meta = meta if meta is not None else None
9024        '''
9025         Reserved for future use.
9026        '''
9027        self.public_key = public_key if public_key is not None else ''
9028        '''
9029         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9030         key format.
9031        '''
9032        self.rate_limit = rate_limit if rate_limit is not None else None
9033        '''
9034         Rate limit information.
9035        '''
9036
9037    def __repr__(self):
9038        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
9039            'meta: ' + repr(self.meta) + ' ' +\
9040            'public_key: ' + repr(self.public_key) + ' ' +\
9041            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9042            '>'
9043
9044    def to_dict(self):
9045        return {
9046            'meta': self.meta,
9047            'public_key': self.public_key,
9048            'rate_limit': self.rate_limit,
9049        }
9050
9051    @classmethod
9052    def from_dict(cls, d):
9053        return cls(
9054            meta=d.get('meta'),
9055            public_key=d.get('public_key'),
9056            rate_limit=d.get('rate_limit'),
9057        )

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

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9017    def __init__(
9018        self,
9019        meta=None,
9020        public_key=None,
9021        rate_limit=None,
9022    ):
9023        self.meta = meta if meta is not None else None
9024        '''
9025         Reserved for future use.
9026        '''
9027        self.public_key = public_key if public_key is not None else ''
9028        '''
9029         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9030         key format.
9031        '''
9032        self.rate_limit = rate_limit if rate_limit is not None else None
9033        '''
9034         Rate limit information.
9035        '''
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)
9044    def to_dict(self):
9045        return {
9046            'meta': self.meta,
9047            'public_key': self.public_key,
9048            'rate_limit': self.rate_limit,
9049        }
@classmethod
def from_dict(cls, d)
9051    @classmethod
9052    def from_dict(cls, d):
9053        return cls(
9054            meta=d.get('meta'),
9055            public_key=d.get('public_key'),
9056            rate_limit=d.get('rate_limit'),
9057        )
class ControlPanelGetSSHCAPublicKeyResponse:
9060class ControlPanelGetSSHCAPublicKeyResponse:
9061    '''
9062         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
9063     organization's SSH Certificate Authority public key.
9064    '''
9065    __slots__ = [
9066        'meta',
9067        'public_key',
9068        'rate_limit',
9069    ]
9070
9071    def __init__(
9072        self,
9073        meta=None,
9074        public_key=None,
9075        rate_limit=None,
9076    ):
9077        self.meta = meta if meta is not None else None
9078        '''
9079         Reserved for future use.
9080        '''
9081        self.public_key = public_key if public_key is not None else ''
9082        '''
9083         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9084         key format.
9085        '''
9086        self.rate_limit = rate_limit if rate_limit is not None else None
9087        '''
9088         Rate limit information.
9089        '''
9090
9091    def __repr__(self):
9092        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
9093            'meta: ' + repr(self.meta) + ' ' +\
9094            'public_key: ' + repr(self.public_key) + ' ' +\
9095            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9096            '>'
9097
9098    def to_dict(self):
9099        return {
9100            'meta': self.meta,
9101            'public_key': self.public_key,
9102            'rate_limit': self.rate_limit,
9103        }
9104
9105    @classmethod
9106    def from_dict(cls, d):
9107        return cls(
9108            meta=d.get('meta'),
9109            public_key=d.get('public_key'),
9110            rate_limit=d.get('rate_limit'),
9111        )

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

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9071    def __init__(
9072        self,
9073        meta=None,
9074        public_key=None,
9075        rate_limit=None,
9076    ):
9077        self.meta = meta if meta is not None else None
9078        '''
9079         Reserved for future use.
9080        '''
9081        self.public_key = public_key if public_key is not None else ''
9082        '''
9083         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9084         key format.
9085        '''
9086        self.rate_limit = rate_limit if rate_limit is not None else None
9087        '''
9088         Rate limit information.
9089        '''
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)
9098    def to_dict(self):
9099        return {
9100            'meta': self.meta,
9101            'public_key': self.public_key,
9102            'rate_limit': self.rate_limit,
9103        }
@classmethod
def from_dict(cls, d)
9105    @classmethod
9106    def from_dict(cls, d):
9107        return cls(
9108            meta=d.get('meta'),
9109            public_key=d.get('public_key'),
9110            rate_limit=d.get('rate_limit'),
9111        )
class ControlPanelVerifyJWTResponse:
9114class ControlPanelVerifyJWTResponse:
9115    '''
9116         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
9117    '''
9118    __slots__ = [
9119        'meta',
9120        'rate_limit',
9121        'valid',
9122    ]
9123
9124    def __init__(
9125        self,
9126        meta=None,
9127        rate_limit=None,
9128        valid=None,
9129    ):
9130        self.meta = meta if meta is not None else None
9131        '''
9132         Reserved for future use.
9133        '''
9134        self.rate_limit = rate_limit if rate_limit is not None else None
9135        '''
9136         Rate limit information.
9137        '''
9138        self.valid = valid if valid is not None else False
9139        '''
9140         Reports if the given token is valid.
9141        '''
9142
9143    def __repr__(self):
9144        return '<sdm.ControlPanelVerifyJWTResponse ' + \
9145            'meta: ' + repr(self.meta) + ' ' +\
9146            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9147            'valid: ' + repr(self.valid) + ' ' +\
9148            '>'
9149
9150    def to_dict(self):
9151        return {
9152            'meta': self.meta,
9153            'rate_limit': self.rate_limit,
9154            'valid': self.valid,
9155        }
9156
9157    @classmethod
9158    def from_dict(cls, d):
9159        return cls(
9160            meta=d.get('meta'),
9161            rate_limit=d.get('rate_limit'),
9162            valid=d.get('valid'),
9163        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

ControlPanelVerifyJWTResponse(meta=None, rate_limit=None, valid=None)
9124    def __init__(
9125        self,
9126        meta=None,
9127        rate_limit=None,
9128        valid=None,
9129    ):
9130        self.meta = meta if meta is not None else None
9131        '''
9132         Reserved for future use.
9133        '''
9134        self.rate_limit = rate_limit if rate_limit is not None else None
9135        '''
9136         Rate limit information.
9137        '''
9138        self.valid = valid if valid is not None else False
9139        '''
9140         Reports if the given token is valid.
9141        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

def to_dict(self)
9150    def to_dict(self):
9151        return {
9152            'meta': self.meta,
9153            'rate_limit': self.rate_limit,
9154            'valid': self.valid,
9155        }
@classmethod
def from_dict(cls, d)
9157    @classmethod
9158    def from_dict(cls, d):
9159        return cls(
9160            meta=d.get('meta'),
9161            rate_limit=d.get('rate_limit'),
9162            valid=d.get('valid'),
9163        )
class CouchbaseDatabase:
9166class CouchbaseDatabase:
9167    __slots__ = [
9168        'bind_interface',
9169        'egress_filter',
9170        'healthy',
9171        'hostname',
9172        'id',
9173        'n1ql_port',
9174        'name',
9175        'password',
9176        'port',
9177        'port_override',
9178        'proxy_cluster_id',
9179        'secret_store_id',
9180        'subdomain',
9181        'tags',
9182        'tls_required',
9183        'username',
9184    ]
9185
9186    def __init__(
9187        self,
9188        bind_interface=None,
9189        egress_filter=None,
9190        healthy=None,
9191        hostname=None,
9192        id=None,
9193        n1ql_port=None,
9194        name=None,
9195        password=None,
9196        port=None,
9197        port_override=None,
9198        proxy_cluster_id=None,
9199        secret_store_id=None,
9200        subdomain=None,
9201        tags=None,
9202        tls_required=None,
9203        username=None,
9204    ):
9205        self.bind_interface = bind_interface if bind_interface is not None else ''
9206        '''
9207         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9208        '''
9209        self.egress_filter = egress_filter if egress_filter is not None else ''
9210        '''
9211         A filter applied to the routing logic to pin datasource to nodes.
9212        '''
9213        self.healthy = healthy if healthy is not None else False
9214        '''
9215         True if the datasource is reachable and the credentials are valid.
9216        '''
9217        self.hostname = hostname if hostname is not None else ''
9218        '''
9219         The host to dial to initiate a connection from the egress node to this resource.
9220        '''
9221        self.id = id if id is not None else ''
9222        '''
9223         Unique identifier of the Resource.
9224        '''
9225        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
9226        '''
9227         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
9228        '''
9229        self.name = name if name is not None else ''
9230        '''
9231         Unique human-readable name of the Resource.
9232        '''
9233        self.password = password if password is not None else ''
9234        '''
9235         The password to authenticate with.
9236        '''
9237        self.port = port if port is not None else 0
9238        '''
9239         The port to dial to initiate a connection from the egress node to this resource.
9240        '''
9241        self.port_override = port_override if port_override is not None else 0
9242        '''
9243         The local port used by clients to connect to this resource.
9244        '''
9245        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9246        '''
9247         ID of the proxy cluster for this resource, if any.
9248        '''
9249        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9250        '''
9251         ID of the secret store containing credentials for this resource, if any.
9252        '''
9253        self.subdomain = subdomain if subdomain is not None else ''
9254        '''
9255         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9256        '''
9257        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9258        '''
9259         Tags is a map of key, value pairs.
9260        '''
9261        self.tls_required = tls_required if tls_required is not None else False
9262        '''
9263         If set, TLS must be used to connect to this resource.
9264        '''
9265        self.username = username if username is not None else ''
9266        '''
9267         The username to authenticate with.
9268        '''
9269
9270    def __repr__(self):
9271        return '<sdm.CouchbaseDatabase ' + \
9272            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9273            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9274            'healthy: ' + repr(self.healthy) + ' ' +\
9275            'hostname: ' + repr(self.hostname) + ' ' +\
9276            'id: ' + repr(self.id) + ' ' +\
9277            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
9278            'name: ' + repr(self.name) + ' ' +\
9279            'password: ' + repr(self.password) + ' ' +\
9280            'port: ' + repr(self.port) + ' ' +\
9281            'port_override: ' + repr(self.port_override) + ' ' +\
9282            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9283            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9284            'subdomain: ' + repr(self.subdomain) + ' ' +\
9285            'tags: ' + repr(self.tags) + ' ' +\
9286            'tls_required: ' + repr(self.tls_required) + ' ' +\
9287            'username: ' + repr(self.username) + ' ' +\
9288            '>'
9289
9290    def to_dict(self):
9291        return {
9292            'bind_interface': self.bind_interface,
9293            'egress_filter': self.egress_filter,
9294            'healthy': self.healthy,
9295            'hostname': self.hostname,
9296            'id': self.id,
9297            'n1ql_port': self.n1ql_port,
9298            'name': self.name,
9299            'password': self.password,
9300            'port': self.port,
9301            'port_override': self.port_override,
9302            'proxy_cluster_id': self.proxy_cluster_id,
9303            'secret_store_id': self.secret_store_id,
9304            'subdomain': self.subdomain,
9305            'tags': self.tags,
9306            'tls_required': self.tls_required,
9307            'username': self.username,
9308        }
9309
9310    @classmethod
9311    def from_dict(cls, d):
9312        return cls(
9313            bind_interface=d.get('bind_interface'),
9314            egress_filter=d.get('egress_filter'),
9315            healthy=d.get('healthy'),
9316            hostname=d.get('hostname'),
9317            id=d.get('id'),
9318            n1ql_port=d.get('n1ql_port'),
9319            name=d.get('name'),
9320            password=d.get('password'),
9321            port=d.get('port'),
9322            port_override=d.get('port_override'),
9323            proxy_cluster_id=d.get('proxy_cluster_id'),
9324            secret_store_id=d.get('secret_store_id'),
9325            subdomain=d.get('subdomain'),
9326            tags=d.get('tags'),
9327            tls_required=d.get('tls_required'),
9328            username=d.get('username'),
9329        )
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)
9186    def __init__(
9187        self,
9188        bind_interface=None,
9189        egress_filter=None,
9190        healthy=None,
9191        hostname=None,
9192        id=None,
9193        n1ql_port=None,
9194        name=None,
9195        password=None,
9196        port=None,
9197        port_override=None,
9198        proxy_cluster_id=None,
9199        secret_store_id=None,
9200        subdomain=None,
9201        tags=None,
9202        tls_required=None,
9203        username=None,
9204    ):
9205        self.bind_interface = bind_interface if bind_interface is not None else ''
9206        '''
9207         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9208        '''
9209        self.egress_filter = egress_filter if egress_filter is not None else ''
9210        '''
9211         A filter applied to the routing logic to pin datasource to nodes.
9212        '''
9213        self.healthy = healthy if healthy is not None else False
9214        '''
9215         True if the datasource is reachable and the credentials are valid.
9216        '''
9217        self.hostname = hostname if hostname is not None else ''
9218        '''
9219         The host to dial to initiate a connection from the egress node to this resource.
9220        '''
9221        self.id = id if id is not None else ''
9222        '''
9223         Unique identifier of the Resource.
9224        '''
9225        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
9226        '''
9227         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
9228        '''
9229        self.name = name if name is not None else ''
9230        '''
9231         Unique human-readable name of the Resource.
9232        '''
9233        self.password = password if password is not None else ''
9234        '''
9235         The password to authenticate with.
9236        '''
9237        self.port = port if port is not None else 0
9238        '''
9239         The port to dial to initiate a connection from the egress node to this resource.
9240        '''
9241        self.port_override = port_override if port_override is not None else 0
9242        '''
9243         The local port used by clients to connect to this resource.
9244        '''
9245        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9246        '''
9247         ID of the proxy cluster for this resource, if any.
9248        '''
9249        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9250        '''
9251         ID of the secret store containing credentials for this resource, if any.
9252        '''
9253        self.subdomain = subdomain if subdomain is not None else ''
9254        '''
9255         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9256        '''
9257        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9258        '''
9259         Tags is a map of key, value pairs.
9260        '''
9261        self.tls_required = tls_required if tls_required is not None else False
9262        '''
9263         If set, TLS must be used to connect to this resource.
9264        '''
9265        self.username = username if username is not None else ''
9266        '''
9267         The username to authenticate with.
9268        '''
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)
9290    def to_dict(self):
9291        return {
9292            'bind_interface': self.bind_interface,
9293            'egress_filter': self.egress_filter,
9294            'healthy': self.healthy,
9295            'hostname': self.hostname,
9296            'id': self.id,
9297            'n1ql_port': self.n1ql_port,
9298            'name': self.name,
9299            'password': self.password,
9300            'port': self.port,
9301            'port_override': self.port_override,
9302            'proxy_cluster_id': self.proxy_cluster_id,
9303            'secret_store_id': self.secret_store_id,
9304            'subdomain': self.subdomain,
9305            'tags': self.tags,
9306            'tls_required': self.tls_required,
9307            'username': self.username,
9308        }
@classmethod
def from_dict(cls, d)
9310    @classmethod
9311    def from_dict(cls, d):
9312        return cls(
9313            bind_interface=d.get('bind_interface'),
9314            egress_filter=d.get('egress_filter'),
9315            healthy=d.get('healthy'),
9316            hostname=d.get('hostname'),
9317            id=d.get('id'),
9318            n1ql_port=d.get('n1ql_port'),
9319            name=d.get('name'),
9320            password=d.get('password'),
9321            port=d.get('port'),
9322            port_override=d.get('port_override'),
9323            proxy_cluster_id=d.get('proxy_cluster_id'),
9324            secret_store_id=d.get('secret_store_id'),
9325            subdomain=d.get('subdomain'),
9326            tags=d.get('tags'),
9327            tls_required=d.get('tls_required'),
9328            username=d.get('username'),
9329        )
class CouchbaseWebUI:
9332class CouchbaseWebUI:
9333    __slots__ = [
9334        'bind_interface',
9335        'egress_filter',
9336        'healthy',
9337        'id',
9338        'name',
9339        'password',
9340        'port_override',
9341        'proxy_cluster_id',
9342        'secret_store_id',
9343        'subdomain',
9344        'tags',
9345        'url',
9346        'username',
9347    ]
9348
9349    def __init__(
9350        self,
9351        bind_interface=None,
9352        egress_filter=None,
9353        healthy=None,
9354        id=None,
9355        name=None,
9356        password=None,
9357        port_override=None,
9358        proxy_cluster_id=None,
9359        secret_store_id=None,
9360        subdomain=None,
9361        tags=None,
9362        url=None,
9363        username=None,
9364    ):
9365        self.bind_interface = bind_interface if bind_interface is not None else ''
9366        '''
9367         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9368        '''
9369        self.egress_filter = egress_filter if egress_filter is not None else ''
9370        '''
9371         A filter applied to the routing logic to pin datasource to nodes.
9372        '''
9373        self.healthy = healthy if healthy is not None else False
9374        '''
9375         True if the datasource is reachable and the credentials are valid.
9376        '''
9377        self.id = id if id is not None else ''
9378        '''
9379         Unique identifier of the Resource.
9380        '''
9381        self.name = name if name is not None else ''
9382        '''
9383         Unique human-readable name of the Resource.
9384        '''
9385        self.password = password if password is not None else ''
9386        '''
9387         The password to authenticate with.
9388        '''
9389        self.port_override = port_override if port_override is not None else 0
9390        '''
9391         The local port used by clients to connect to this resource.
9392        '''
9393        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9394        '''
9395         ID of the proxy cluster for this resource, if any.
9396        '''
9397        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9398        '''
9399         ID of the secret store containing credentials for this resource, if any.
9400        '''
9401        self.subdomain = subdomain if subdomain is not None else ''
9402        '''
9403         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9404        '''
9405        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9406        '''
9407         Tags is a map of key, value pairs.
9408        '''
9409        self.url = url if url is not None else ''
9410        '''
9411         The base address of your website without the path.
9412        '''
9413        self.username = username if username is not None else ''
9414        '''
9415         The username to authenticate with.
9416        '''
9417
9418    def __repr__(self):
9419        return '<sdm.CouchbaseWebUI ' + \
9420            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9421            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9422            'healthy: ' + repr(self.healthy) + ' ' +\
9423            'id: ' + repr(self.id) + ' ' +\
9424            'name: ' + repr(self.name) + ' ' +\
9425            'password: ' + repr(self.password) + ' ' +\
9426            'port_override: ' + repr(self.port_override) + ' ' +\
9427            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9428            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9429            'subdomain: ' + repr(self.subdomain) + ' ' +\
9430            'tags: ' + repr(self.tags) + ' ' +\
9431            'url: ' + repr(self.url) + ' ' +\
9432            'username: ' + repr(self.username) + ' ' +\
9433            '>'
9434
9435    def to_dict(self):
9436        return {
9437            'bind_interface': self.bind_interface,
9438            'egress_filter': self.egress_filter,
9439            'healthy': self.healthy,
9440            'id': self.id,
9441            'name': self.name,
9442            'password': self.password,
9443            'port_override': self.port_override,
9444            'proxy_cluster_id': self.proxy_cluster_id,
9445            'secret_store_id': self.secret_store_id,
9446            'subdomain': self.subdomain,
9447            'tags': self.tags,
9448            'url': self.url,
9449            'username': self.username,
9450        }
9451
9452    @classmethod
9453    def from_dict(cls, d):
9454        return cls(
9455            bind_interface=d.get('bind_interface'),
9456            egress_filter=d.get('egress_filter'),
9457            healthy=d.get('healthy'),
9458            id=d.get('id'),
9459            name=d.get('name'),
9460            password=d.get('password'),
9461            port_override=d.get('port_override'),
9462            proxy_cluster_id=d.get('proxy_cluster_id'),
9463            secret_store_id=d.get('secret_store_id'),
9464            subdomain=d.get('subdomain'),
9465            tags=d.get('tags'),
9466            url=d.get('url'),
9467            username=d.get('username'),
9468        )
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)
9349    def __init__(
9350        self,
9351        bind_interface=None,
9352        egress_filter=None,
9353        healthy=None,
9354        id=None,
9355        name=None,
9356        password=None,
9357        port_override=None,
9358        proxy_cluster_id=None,
9359        secret_store_id=None,
9360        subdomain=None,
9361        tags=None,
9362        url=None,
9363        username=None,
9364    ):
9365        self.bind_interface = bind_interface if bind_interface is not None else ''
9366        '''
9367         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9368        '''
9369        self.egress_filter = egress_filter if egress_filter is not None else ''
9370        '''
9371         A filter applied to the routing logic to pin datasource to nodes.
9372        '''
9373        self.healthy = healthy if healthy is not None else False
9374        '''
9375         True if the datasource is reachable and the credentials are valid.
9376        '''
9377        self.id = id if id is not None else ''
9378        '''
9379         Unique identifier of the Resource.
9380        '''
9381        self.name = name if name is not None else ''
9382        '''
9383         Unique human-readable name of the Resource.
9384        '''
9385        self.password = password if password is not None else ''
9386        '''
9387         The password to authenticate with.
9388        '''
9389        self.port_override = port_override if port_override is not None else 0
9390        '''
9391         The local port used by clients to connect to this resource.
9392        '''
9393        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9394        '''
9395         ID of the proxy cluster for this resource, if any.
9396        '''
9397        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9398        '''
9399         ID of the secret store containing credentials for this resource, if any.
9400        '''
9401        self.subdomain = subdomain if subdomain is not None else ''
9402        '''
9403         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9404        '''
9405        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9406        '''
9407         Tags is a map of key, value pairs.
9408        '''
9409        self.url = url if url is not None else ''
9410        '''
9411         The base address of your website without the path.
9412        '''
9413        self.username = username if username is not None else ''
9414        '''
9415         The username to authenticate with.
9416        '''
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)
9435    def to_dict(self):
9436        return {
9437            'bind_interface': self.bind_interface,
9438            'egress_filter': self.egress_filter,
9439            'healthy': self.healthy,
9440            'id': self.id,
9441            'name': self.name,
9442            'password': self.password,
9443            'port_override': self.port_override,
9444            'proxy_cluster_id': self.proxy_cluster_id,
9445            'secret_store_id': self.secret_store_id,
9446            'subdomain': self.subdomain,
9447            'tags': self.tags,
9448            'url': self.url,
9449            'username': self.username,
9450        }
@classmethod
def from_dict(cls, d)
9452    @classmethod
9453    def from_dict(cls, d):
9454        return cls(
9455            bind_interface=d.get('bind_interface'),
9456            egress_filter=d.get('egress_filter'),
9457            healthy=d.get('healthy'),
9458            id=d.get('id'),
9459            name=d.get('name'),
9460            password=d.get('password'),
9461            port_override=d.get('port_override'),
9462            proxy_cluster_id=d.get('proxy_cluster_id'),
9463            secret_store_id=d.get('secret_store_id'),
9464            subdomain=d.get('subdomain'),
9465            tags=d.get('tags'),
9466            url=d.get('url'),
9467            username=d.get('username'),
9468        )
class CreateResponseMetadata:
9471class CreateResponseMetadata:
9472    '''
9473         CreateResponseMetadata is reserved for future use.
9474    '''
9475    __slots__ = []
9476
9477    def __init__(self, ):
9478        pass
9479
9480    def __repr__(self):
9481        return '<sdm.CreateResponseMetadata ' + \
9482            '>'
9483
9484    def to_dict(self):
9485        return {}
9486
9487    @classmethod
9488    def from_dict(cls, d):
9489        return cls()

CreateResponseMetadata is reserved for future use.

CreateResponseMetadata()
9477    def __init__(self, ):
9478        pass
def to_dict(self)
9484    def to_dict(self):
9485        return {}
@classmethod
def from_dict(cls, d)
9487    @classmethod
9488    def from_dict(cls, d):
9489        return cls()
class CyberarkConjurStore:
9492class CyberarkConjurStore:
9493    __slots__ = [
9494        'appurl',
9495        'id',
9496        'name',
9497        'tags',
9498    ]
9499
9500    def __init__(
9501        self,
9502        appurl=None,
9503        id=None,
9504        name=None,
9505        tags=None,
9506    ):
9507        self.appurl = appurl if appurl is not None else ''
9508        '''
9509         The URL of the Cyberark instance
9510        '''
9511        self.id = id if id is not None else ''
9512        '''
9513         Unique identifier of the SecretStore.
9514        '''
9515        self.name = name if name is not None else ''
9516        '''
9517         Unique human-readable name of the SecretStore.
9518        '''
9519        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9520        '''
9521         Tags is a map of key, value pairs.
9522        '''
9523
9524    def __repr__(self):
9525        return '<sdm.CyberarkConjurStore ' + \
9526            'appurl: ' + repr(self.appurl) + ' ' +\
9527            'id: ' + repr(self.id) + ' ' +\
9528            'name: ' + repr(self.name) + ' ' +\
9529            'tags: ' + repr(self.tags) + ' ' +\
9530            '>'
9531
9532    def to_dict(self):
9533        return {
9534            'appurl': self.appurl,
9535            'id': self.id,
9536            'name': self.name,
9537            'tags': self.tags,
9538        }
9539
9540    @classmethod
9541    def from_dict(cls, d):
9542        return cls(
9543            appurl=d.get('appurl'),
9544            id=d.get('id'),
9545            name=d.get('name'),
9546            tags=d.get('tags'),
9547        )
CyberarkConjurStore(appurl=None, id=None, name=None, tags=None)
9500    def __init__(
9501        self,
9502        appurl=None,
9503        id=None,
9504        name=None,
9505        tags=None,
9506    ):
9507        self.appurl = appurl if appurl is not None else ''
9508        '''
9509         The URL of the Cyberark instance
9510        '''
9511        self.id = id if id is not None else ''
9512        '''
9513         Unique identifier of the SecretStore.
9514        '''
9515        self.name = name if name is not None else ''
9516        '''
9517         Unique human-readable name of the SecretStore.
9518        '''
9519        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9520        '''
9521         Tags is a map of key, value pairs.
9522        '''
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)
9532    def to_dict(self):
9533        return {
9534            'appurl': self.appurl,
9535            'id': self.id,
9536            'name': self.name,
9537            'tags': self.tags,
9538        }
@classmethod
def from_dict(cls, d)
9540    @classmethod
9541    def from_dict(cls, d):
9542        return cls(
9543            appurl=d.get('appurl'),
9544            id=d.get('id'),
9545            name=d.get('name'),
9546            tags=d.get('tags'),
9547        )
class CyberarkPAMExperimentalStore:
9550class CyberarkPAMExperimentalStore:
9551    '''
9552    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
9553    without a major version bump.
9554    '''
9555    __slots__ = [
9556        'appurl',
9557        'id',
9558        'name',
9559        'tags',
9560    ]
9561
9562    def __init__(
9563        self,
9564        appurl=None,
9565        id=None,
9566        name=None,
9567        tags=None,
9568    ):
9569        self.appurl = appurl if appurl is not None else ''
9570        '''
9571         The URL of the Cyberark instance
9572        '''
9573        self.id = id if id is not None else ''
9574        '''
9575         Unique identifier of the SecretStore.
9576        '''
9577        self.name = name if name is not None else ''
9578        '''
9579         Unique human-readable name of the SecretStore.
9580        '''
9581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9582        '''
9583         Tags is a map of key, value pairs.
9584        '''
9585
9586    def __repr__(self):
9587        return '<sdm.CyberarkPAMExperimentalStore ' + \
9588            'appurl: ' + repr(self.appurl) + ' ' +\
9589            'id: ' + repr(self.id) + ' ' +\
9590            'name: ' + repr(self.name) + ' ' +\
9591            'tags: ' + repr(self.tags) + ' ' +\
9592            '>'
9593
9594    def to_dict(self):
9595        return {
9596            'appurl': self.appurl,
9597            'id': self.id,
9598            'name': self.name,
9599            'tags': self.tags,
9600        }
9601
9602    @classmethod
9603    def from_dict(cls, d):
9604        return cls(
9605            appurl=d.get('appurl'),
9606            id=d.get('id'),
9607            name=d.get('name'),
9608            tags=d.get('tags'),
9609        )

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)
9562    def __init__(
9563        self,
9564        appurl=None,
9565        id=None,
9566        name=None,
9567        tags=None,
9568    ):
9569        self.appurl = appurl if appurl is not None else ''
9570        '''
9571         The URL of the Cyberark instance
9572        '''
9573        self.id = id if id is not None else ''
9574        '''
9575         Unique identifier of the SecretStore.
9576        '''
9577        self.name = name if name is not None else ''
9578        '''
9579         Unique human-readable name of the SecretStore.
9580        '''
9581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9582        '''
9583         Tags is a map of key, value pairs.
9584        '''
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)
9594    def to_dict(self):
9595        return {
9596            'appurl': self.appurl,
9597            'id': self.id,
9598            'name': self.name,
9599            'tags': self.tags,
9600        }
@classmethod
def from_dict(cls, d)
9602    @classmethod
9603    def from_dict(cls, d):
9604        return cls(
9605            appurl=d.get('appurl'),
9606            id=d.get('id'),
9607            name=d.get('name'),
9608            tags=d.get('tags'),
9609        )
class CyberarkPAMStore:
9612class CyberarkPAMStore:
9613    __slots__ = [
9614        'appurl',
9615        'id',
9616        'name',
9617        'tags',
9618    ]
9619
9620    def __init__(
9621        self,
9622        appurl=None,
9623        id=None,
9624        name=None,
9625        tags=None,
9626    ):
9627        self.appurl = appurl if appurl is not None else ''
9628        '''
9629         The URL of the Cyberark instance
9630        '''
9631        self.id = id if id is not None else ''
9632        '''
9633         Unique identifier of the SecretStore.
9634        '''
9635        self.name = name if name is not None else ''
9636        '''
9637         Unique human-readable name of the SecretStore.
9638        '''
9639        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9640        '''
9641         Tags is a map of key, value pairs.
9642        '''
9643
9644    def __repr__(self):
9645        return '<sdm.CyberarkPAMStore ' + \
9646            'appurl: ' + repr(self.appurl) + ' ' +\
9647            'id: ' + repr(self.id) + ' ' +\
9648            'name: ' + repr(self.name) + ' ' +\
9649            'tags: ' + repr(self.tags) + ' ' +\
9650            '>'
9651
9652    def to_dict(self):
9653        return {
9654            'appurl': self.appurl,
9655            'id': self.id,
9656            'name': self.name,
9657            'tags': self.tags,
9658        }
9659
9660    @classmethod
9661    def from_dict(cls, d):
9662        return cls(
9663            appurl=d.get('appurl'),
9664            id=d.get('id'),
9665            name=d.get('name'),
9666            tags=d.get('tags'),
9667        )
CyberarkPAMStore(appurl=None, id=None, name=None, tags=None)
9620    def __init__(
9621        self,
9622        appurl=None,
9623        id=None,
9624        name=None,
9625        tags=None,
9626    ):
9627        self.appurl = appurl if appurl is not None else ''
9628        '''
9629         The URL of the Cyberark instance
9630        '''
9631        self.id = id if id is not None else ''
9632        '''
9633         Unique identifier of the SecretStore.
9634        '''
9635        self.name = name if name is not None else ''
9636        '''
9637         Unique human-readable name of the SecretStore.
9638        '''
9639        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9640        '''
9641         Tags is a map of key, value pairs.
9642        '''
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)
9652    def to_dict(self):
9653        return {
9654            'appurl': self.appurl,
9655            'id': self.id,
9656            'name': self.name,
9657            'tags': self.tags,
9658        }
@classmethod
def from_dict(cls, d)
9660    @classmethod
9661    def from_dict(cls, d):
9662        return cls(
9663            appurl=d.get('appurl'),
9664            id=d.get('id'),
9665            name=d.get('name'),
9666            tags=d.get('tags'),
9667        )
class DB2I:
9670class DB2I:
9671    __slots__ = [
9672        'bind_interface',
9673        'egress_filter',
9674        'healthy',
9675        'hostname',
9676        'id',
9677        'name',
9678        'password',
9679        'port',
9680        'port_override',
9681        'proxy_cluster_id',
9682        'secret_store_id',
9683        'subdomain',
9684        'tags',
9685        'tls_required',
9686        'username',
9687    ]
9688
9689    def __init__(
9690        self,
9691        bind_interface=None,
9692        egress_filter=None,
9693        healthy=None,
9694        hostname=None,
9695        id=None,
9696        name=None,
9697        password=None,
9698        port=None,
9699        port_override=None,
9700        proxy_cluster_id=None,
9701        secret_store_id=None,
9702        subdomain=None,
9703        tags=None,
9704        tls_required=None,
9705        username=None,
9706    ):
9707        self.bind_interface = bind_interface if bind_interface is not None else ''
9708        '''
9709         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9710        '''
9711        self.egress_filter = egress_filter if egress_filter is not None else ''
9712        '''
9713         A filter applied to the routing logic to pin datasource to nodes.
9714        '''
9715        self.healthy = healthy if healthy is not None else False
9716        '''
9717         True if the datasource is reachable and the credentials are valid.
9718        '''
9719        self.hostname = hostname if hostname is not None else ''
9720        '''
9721         The host to dial to initiate a connection from the egress node to this resource.
9722        '''
9723        self.id = id if id is not None else ''
9724        '''
9725         Unique identifier of the Resource.
9726        '''
9727        self.name = name if name is not None else ''
9728        '''
9729         Unique human-readable name of the Resource.
9730        '''
9731        self.password = password if password is not None else ''
9732        '''
9733         The password to authenticate with.
9734        '''
9735        self.port = port if port is not None else 0
9736        '''
9737         The port to dial to initiate a connection from the egress node to this resource.
9738        '''
9739        self.port_override = port_override if port_override is not None else 0
9740        '''
9741         The local port used by clients to connect to this resource.
9742        '''
9743        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9744        '''
9745         ID of the proxy cluster for this resource, if any.
9746        '''
9747        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9748        '''
9749         ID of the secret store containing credentials for this resource, if any.
9750        '''
9751        self.subdomain = subdomain if subdomain is not None else ''
9752        '''
9753         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9754        '''
9755        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9756        '''
9757         Tags is a map of key, value pairs.
9758        '''
9759        self.tls_required = tls_required if tls_required is not None else False
9760        '''
9761         If set, TLS must be used to connect to this resource.
9762        '''
9763        self.username = username if username is not None else ''
9764        '''
9765         The username to authenticate with.
9766        '''
9767
9768    def __repr__(self):
9769        return '<sdm.DB2I ' + \
9770            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9771            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9772            'healthy: ' + repr(self.healthy) + ' ' +\
9773            'hostname: ' + repr(self.hostname) + ' ' +\
9774            'id: ' + repr(self.id) + ' ' +\
9775            'name: ' + repr(self.name) + ' ' +\
9776            'password: ' + repr(self.password) + ' ' +\
9777            'port: ' + repr(self.port) + ' ' +\
9778            'port_override: ' + repr(self.port_override) + ' ' +\
9779            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9780            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9781            'subdomain: ' + repr(self.subdomain) + ' ' +\
9782            'tags: ' + repr(self.tags) + ' ' +\
9783            'tls_required: ' + repr(self.tls_required) + ' ' +\
9784            'username: ' + repr(self.username) + ' ' +\
9785            '>'
9786
9787    def to_dict(self):
9788        return {
9789            'bind_interface': self.bind_interface,
9790            'egress_filter': self.egress_filter,
9791            'healthy': self.healthy,
9792            'hostname': self.hostname,
9793            'id': self.id,
9794            'name': self.name,
9795            'password': self.password,
9796            'port': self.port,
9797            'port_override': self.port_override,
9798            'proxy_cluster_id': self.proxy_cluster_id,
9799            'secret_store_id': self.secret_store_id,
9800            'subdomain': self.subdomain,
9801            'tags': self.tags,
9802            'tls_required': self.tls_required,
9803            'username': self.username,
9804        }
9805
9806    @classmethod
9807    def from_dict(cls, d):
9808        return cls(
9809            bind_interface=d.get('bind_interface'),
9810            egress_filter=d.get('egress_filter'),
9811            healthy=d.get('healthy'),
9812            hostname=d.get('hostname'),
9813            id=d.get('id'),
9814            name=d.get('name'),
9815            password=d.get('password'),
9816            port=d.get('port'),
9817            port_override=d.get('port_override'),
9818            proxy_cluster_id=d.get('proxy_cluster_id'),
9819            secret_store_id=d.get('secret_store_id'),
9820            subdomain=d.get('subdomain'),
9821            tags=d.get('tags'),
9822            tls_required=d.get('tls_required'),
9823            username=d.get('username'),
9824        )
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)
9689    def __init__(
9690        self,
9691        bind_interface=None,
9692        egress_filter=None,
9693        healthy=None,
9694        hostname=None,
9695        id=None,
9696        name=None,
9697        password=None,
9698        port=None,
9699        port_override=None,
9700        proxy_cluster_id=None,
9701        secret_store_id=None,
9702        subdomain=None,
9703        tags=None,
9704        tls_required=None,
9705        username=None,
9706    ):
9707        self.bind_interface = bind_interface if bind_interface is not None else ''
9708        '''
9709         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9710        '''
9711        self.egress_filter = egress_filter if egress_filter is not None else ''
9712        '''
9713         A filter applied to the routing logic to pin datasource to nodes.
9714        '''
9715        self.healthy = healthy if healthy is not None else False
9716        '''
9717         True if the datasource is reachable and the credentials are valid.
9718        '''
9719        self.hostname = hostname if hostname is not None else ''
9720        '''
9721         The host to dial to initiate a connection from the egress node to this resource.
9722        '''
9723        self.id = id if id is not None else ''
9724        '''
9725         Unique identifier of the Resource.
9726        '''
9727        self.name = name if name is not None else ''
9728        '''
9729         Unique human-readable name of the Resource.
9730        '''
9731        self.password = password if password is not None else ''
9732        '''
9733         The password to authenticate with.
9734        '''
9735        self.port = port if port is not None else 0
9736        '''
9737         The port to dial to initiate a connection from the egress node to this resource.
9738        '''
9739        self.port_override = port_override if port_override is not None else 0
9740        '''
9741         The local port used by clients to connect to this resource.
9742        '''
9743        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9744        '''
9745         ID of the proxy cluster for this resource, if any.
9746        '''
9747        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9748        '''
9749         ID of the secret store containing credentials for this resource, if any.
9750        '''
9751        self.subdomain = subdomain if subdomain is not None else ''
9752        '''
9753         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9754        '''
9755        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9756        '''
9757         Tags is a map of key, value pairs.
9758        '''
9759        self.tls_required = tls_required if tls_required is not None else False
9760        '''
9761         If set, TLS must be used to connect to this resource.
9762        '''
9763        self.username = username if username is not None else ''
9764        '''
9765         The username to authenticate with.
9766        '''
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)
9787    def to_dict(self):
9788        return {
9789            'bind_interface': self.bind_interface,
9790            'egress_filter': self.egress_filter,
9791            'healthy': self.healthy,
9792            'hostname': self.hostname,
9793            'id': self.id,
9794            'name': self.name,
9795            'password': self.password,
9796            'port': self.port,
9797            'port_override': self.port_override,
9798            'proxy_cluster_id': self.proxy_cluster_id,
9799            'secret_store_id': self.secret_store_id,
9800            'subdomain': self.subdomain,
9801            'tags': self.tags,
9802            'tls_required': self.tls_required,
9803            'username': self.username,
9804        }
@classmethod
def from_dict(cls, d)
9806    @classmethod
9807    def from_dict(cls, d):
9808        return cls(
9809            bind_interface=d.get('bind_interface'),
9810            egress_filter=d.get('egress_filter'),
9811            healthy=d.get('healthy'),
9812            hostname=d.get('hostname'),
9813            id=d.get('id'),
9814            name=d.get('name'),
9815            password=d.get('password'),
9816            port=d.get('port'),
9817            port_override=d.get('port_override'),
9818            proxy_cluster_id=d.get('proxy_cluster_id'),
9819            secret_store_id=d.get('secret_store_id'),
9820            subdomain=d.get('subdomain'),
9821            tags=d.get('tags'),
9822            tls_required=d.get('tls_required'),
9823            username=d.get('username'),
9824        )
class DB2LUW:
9827class DB2LUW:
9828    __slots__ = [
9829        'bind_interface',
9830        'database',
9831        'egress_filter',
9832        'healthy',
9833        'hostname',
9834        'id',
9835        'name',
9836        'password',
9837        'port',
9838        'port_override',
9839        'proxy_cluster_id',
9840        'secret_store_id',
9841        'subdomain',
9842        'tags',
9843        'username',
9844    ]
9845
9846    def __init__(
9847        self,
9848        bind_interface=None,
9849        database=None,
9850        egress_filter=None,
9851        healthy=None,
9852        hostname=None,
9853        id=None,
9854        name=None,
9855        password=None,
9856        port=None,
9857        port_override=None,
9858        proxy_cluster_id=None,
9859        secret_store_id=None,
9860        subdomain=None,
9861        tags=None,
9862        username=None,
9863    ):
9864        self.bind_interface = bind_interface if bind_interface is not None else ''
9865        '''
9866         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9867        '''
9868        self.database = database if database is not None else ''
9869        '''
9870         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9871        '''
9872        self.egress_filter = egress_filter if egress_filter is not None else ''
9873        '''
9874         A filter applied to the routing logic to pin datasource to nodes.
9875        '''
9876        self.healthy = healthy if healthy is not None else False
9877        '''
9878         True if the datasource is reachable and the credentials are valid.
9879        '''
9880        self.hostname = hostname if hostname is not None else ''
9881        '''
9882         The host to dial to initiate a connection from the egress node to this resource.
9883        '''
9884        self.id = id if id is not None else ''
9885        '''
9886         Unique identifier of the Resource.
9887        '''
9888        self.name = name if name is not None else ''
9889        '''
9890         Unique human-readable name of the Resource.
9891        '''
9892        self.password = password if password is not None else ''
9893        '''
9894         The password to authenticate with.
9895        '''
9896        self.port = port if port is not None else 0
9897        '''
9898         The port to dial to initiate a connection from the egress node to this resource.
9899        '''
9900        self.port_override = port_override if port_override is not None else 0
9901        '''
9902         The local port used by clients to connect to this resource.
9903        '''
9904        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9905        '''
9906         ID of the proxy cluster for this resource, if any.
9907        '''
9908        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9909        '''
9910         ID of the secret store containing credentials for this resource, if any.
9911        '''
9912        self.subdomain = subdomain if subdomain is not None else ''
9913        '''
9914         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9915        '''
9916        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9917        '''
9918         Tags is a map of key, value pairs.
9919        '''
9920        self.username = username if username is not None else ''
9921        '''
9922         The username to authenticate with.
9923        '''
9924
9925    def __repr__(self):
9926        return '<sdm.DB2LUW ' + \
9927            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9928            'database: ' + repr(self.database) + ' ' +\
9929            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9930            'healthy: ' + repr(self.healthy) + ' ' +\
9931            'hostname: ' + repr(self.hostname) + ' ' +\
9932            'id: ' + repr(self.id) + ' ' +\
9933            'name: ' + repr(self.name) + ' ' +\
9934            'password: ' + repr(self.password) + ' ' +\
9935            'port: ' + repr(self.port) + ' ' +\
9936            'port_override: ' + repr(self.port_override) + ' ' +\
9937            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9938            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9939            'subdomain: ' + repr(self.subdomain) + ' ' +\
9940            'tags: ' + repr(self.tags) + ' ' +\
9941            'username: ' + repr(self.username) + ' ' +\
9942            '>'
9943
9944    def to_dict(self):
9945        return {
9946            'bind_interface': self.bind_interface,
9947            'database': self.database,
9948            'egress_filter': self.egress_filter,
9949            'healthy': self.healthy,
9950            'hostname': self.hostname,
9951            'id': self.id,
9952            'name': self.name,
9953            'password': self.password,
9954            'port': self.port,
9955            'port_override': self.port_override,
9956            'proxy_cluster_id': self.proxy_cluster_id,
9957            'secret_store_id': self.secret_store_id,
9958            'subdomain': self.subdomain,
9959            'tags': self.tags,
9960            'username': self.username,
9961        }
9962
9963    @classmethod
9964    def from_dict(cls, d):
9965        return cls(
9966            bind_interface=d.get('bind_interface'),
9967            database=d.get('database'),
9968            egress_filter=d.get('egress_filter'),
9969            healthy=d.get('healthy'),
9970            hostname=d.get('hostname'),
9971            id=d.get('id'),
9972            name=d.get('name'),
9973            password=d.get('password'),
9974            port=d.get('port'),
9975            port_override=d.get('port_override'),
9976            proxy_cluster_id=d.get('proxy_cluster_id'),
9977            secret_store_id=d.get('secret_store_id'),
9978            subdomain=d.get('subdomain'),
9979            tags=d.get('tags'),
9980            username=d.get('username'),
9981        )
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, username=None)
9846    def __init__(
9847        self,
9848        bind_interface=None,
9849        database=None,
9850        egress_filter=None,
9851        healthy=None,
9852        hostname=None,
9853        id=None,
9854        name=None,
9855        password=None,
9856        port=None,
9857        port_override=None,
9858        proxy_cluster_id=None,
9859        secret_store_id=None,
9860        subdomain=None,
9861        tags=None,
9862        username=None,
9863    ):
9864        self.bind_interface = bind_interface if bind_interface is not None else ''
9865        '''
9866         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9867        '''
9868        self.database = database if database is not None else ''
9869        '''
9870         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9871        '''
9872        self.egress_filter = egress_filter if egress_filter is not None else ''
9873        '''
9874         A filter applied to the routing logic to pin datasource to nodes.
9875        '''
9876        self.healthy = healthy if healthy is not None else False
9877        '''
9878         True if the datasource is reachable and the credentials are valid.
9879        '''
9880        self.hostname = hostname if hostname is not None else ''
9881        '''
9882         The host to dial to initiate a connection from the egress node to this resource.
9883        '''
9884        self.id = id if id is not None else ''
9885        '''
9886         Unique identifier of the Resource.
9887        '''
9888        self.name = name if name is not None else ''
9889        '''
9890         Unique human-readable name of the Resource.
9891        '''
9892        self.password = password if password is not None else ''
9893        '''
9894         The password to authenticate with.
9895        '''
9896        self.port = port if port is not None else 0
9897        '''
9898         The port to dial to initiate a connection from the egress node to this resource.
9899        '''
9900        self.port_override = port_override if port_override is not None else 0
9901        '''
9902         The local port used by clients to connect to this resource.
9903        '''
9904        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9905        '''
9906         ID of the proxy cluster for this resource, if any.
9907        '''
9908        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9909        '''
9910         ID of the secret store containing credentials for this resource, if any.
9911        '''
9912        self.subdomain = subdomain if subdomain is not None else ''
9913        '''
9914         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9915        '''
9916        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9917        '''
9918         Tags is a map of key, value pairs.
9919        '''
9920        self.username = username if username is not None else ''
9921        '''
9922         The username to authenticate with.
9923        '''
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)
9944    def to_dict(self):
9945        return {
9946            'bind_interface': self.bind_interface,
9947            'database': self.database,
9948            'egress_filter': self.egress_filter,
9949            'healthy': self.healthy,
9950            'hostname': self.hostname,
9951            'id': self.id,
9952            'name': self.name,
9953            'password': self.password,
9954            'port': self.port,
9955            'port_override': self.port_override,
9956            'proxy_cluster_id': self.proxy_cluster_id,
9957            'secret_store_id': self.secret_store_id,
9958            'subdomain': self.subdomain,
9959            'tags': self.tags,
9960            'username': self.username,
9961        }
@classmethod
def from_dict(cls, d)
9963    @classmethod
9964    def from_dict(cls, d):
9965        return cls(
9966            bind_interface=d.get('bind_interface'),
9967            database=d.get('database'),
9968            egress_filter=d.get('egress_filter'),
9969            healthy=d.get('healthy'),
9970            hostname=d.get('hostname'),
9971            id=d.get('id'),
9972            name=d.get('name'),
9973            password=d.get('password'),
9974            port=d.get('port'),
9975            port_override=d.get('port_override'),
9976            proxy_cluster_id=d.get('proxy_cluster_id'),
9977            secret_store_id=d.get('secret_store_id'),
9978            subdomain=d.get('subdomain'),
9979            tags=d.get('tags'),
9980            username=d.get('username'),
9981        )
class DeleteResponseMetadata:
 9984class DeleteResponseMetadata:
 9985    '''
 9986         DeleteResponseMetadata is reserved for future use.
 9987    '''
 9988    __slots__ = []
 9989
 9990    def __init__(self, ):
 9991        pass
 9992
 9993    def __repr__(self):
 9994        return '<sdm.DeleteResponseMetadata ' + \
 9995            '>'
 9996
 9997    def to_dict(self):
 9998        return {}
 9999
10000    @classmethod
10001    def from_dict(cls, d):
10002        return cls()

DeleteResponseMetadata is reserved for future use.

DeleteResponseMetadata()
9990    def __init__(self, ):
9991        pass
def to_dict(self)
9997    def to_dict(self):
9998        return {}
@classmethod
def from_dict(cls, d)
10000    @classmethod
10001    def from_dict(cls, d):
10002        return cls()
class DelineaStore:
10005class DelineaStore:
10006    __slots__ = [
10007        'id',
10008        'name',
10009        'server_url',
10010        'tags',
10011        'tenant_name',
10012    ]
10013
10014    def __init__(
10015        self,
10016        id=None,
10017        name=None,
10018        server_url=None,
10019        tags=None,
10020        tenant_name=None,
10021    ):
10022        self.id = id if id is not None else ''
10023        '''
10024         Unique identifier of the SecretStore.
10025        '''
10026        self.name = name if name is not None else ''
10027        '''
10028         Unique human-readable name of the SecretStore.
10029        '''
10030        self.server_url = server_url if server_url is not None else ''
10031        '''
10032         The URL of the Delinea instance
10033        '''
10034        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10035        '''
10036         Tags is a map of key, value pairs.
10037        '''
10038        self.tenant_name = tenant_name if tenant_name is not None else ''
10039        '''
10040         The tenant name to target
10041        '''
10042
10043    def __repr__(self):
10044        return '<sdm.DelineaStore ' + \
10045            'id: ' + repr(self.id) + ' ' +\
10046            'name: ' + repr(self.name) + ' ' +\
10047            'server_url: ' + repr(self.server_url) + ' ' +\
10048            'tags: ' + repr(self.tags) + ' ' +\
10049            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10050            '>'
10051
10052    def to_dict(self):
10053        return {
10054            'id': self.id,
10055            'name': self.name,
10056            'server_url': self.server_url,
10057            'tags': self.tags,
10058            'tenant_name': self.tenant_name,
10059        }
10060
10061    @classmethod
10062    def from_dict(cls, d):
10063        return cls(
10064            id=d.get('id'),
10065            name=d.get('name'),
10066            server_url=d.get('server_url'),
10067            tags=d.get('tags'),
10068            tenant_name=d.get('tenant_name'),
10069        )
DelineaStore(id=None, name=None, server_url=None, tags=None, tenant_name=None)
10014    def __init__(
10015        self,
10016        id=None,
10017        name=None,
10018        server_url=None,
10019        tags=None,
10020        tenant_name=None,
10021    ):
10022        self.id = id if id is not None else ''
10023        '''
10024         Unique identifier of the SecretStore.
10025        '''
10026        self.name = name if name is not None else ''
10027        '''
10028         Unique human-readable name of the SecretStore.
10029        '''
10030        self.server_url = server_url if server_url is not None else ''
10031        '''
10032         The URL of the Delinea instance
10033        '''
10034        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10035        '''
10036         Tags is a map of key, value pairs.
10037        '''
10038        self.tenant_name = tenant_name if tenant_name is not None else ''
10039        '''
10040         The tenant name to target
10041        '''
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)
10052    def to_dict(self):
10053        return {
10054            'id': self.id,
10055            'name': self.name,
10056            'server_url': self.server_url,
10057            'tags': self.tags,
10058            'tenant_name': self.tenant_name,
10059        }
@classmethod
def from_dict(cls, d)
10061    @classmethod
10062    def from_dict(cls, d):
10063        return cls(
10064            id=d.get('id'),
10065            name=d.get('name'),
10066            server_url=d.get('server_url'),
10067            tags=d.get('tags'),
10068            tenant_name=d.get('tenant_name'),
10069        )
class DocumentDBHost:
10072class DocumentDBHost:
10073    __slots__ = [
10074        'auth_database',
10075        'bind_interface',
10076        'egress_filter',
10077        'healthy',
10078        'hostname',
10079        'id',
10080        'name',
10081        'password',
10082        'port',
10083        'port_override',
10084        'proxy_cluster_id',
10085        'secret_store_id',
10086        'subdomain',
10087        'tags',
10088        'username',
10089    ]
10090
10091    def __init__(
10092        self,
10093        auth_database=None,
10094        bind_interface=None,
10095        egress_filter=None,
10096        healthy=None,
10097        hostname=None,
10098        id=None,
10099        name=None,
10100        password=None,
10101        port=None,
10102        port_override=None,
10103        proxy_cluster_id=None,
10104        secret_store_id=None,
10105        subdomain=None,
10106        tags=None,
10107        username=None,
10108    ):
10109        self.auth_database = auth_database if auth_database is not None else ''
10110        '''
10111         The authentication database to use.
10112        '''
10113        self.bind_interface = bind_interface if bind_interface is not None else ''
10114        '''
10115         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10116        '''
10117        self.egress_filter = egress_filter if egress_filter is not None else ''
10118        '''
10119         A filter applied to the routing logic to pin datasource to nodes.
10120        '''
10121        self.healthy = healthy if healthy is not None else False
10122        '''
10123         True if the datasource is reachable and the credentials are valid.
10124        '''
10125        self.hostname = hostname if hostname is not None else ''
10126        '''
10127         The host to dial to initiate a connection from the egress node to this resource.
10128        '''
10129        self.id = id if id is not None else ''
10130        '''
10131         Unique identifier of the Resource.
10132        '''
10133        self.name = name if name is not None else ''
10134        '''
10135         Unique human-readable name of the Resource.
10136        '''
10137        self.password = password if password is not None else ''
10138        '''
10139         The password to authenticate with.
10140        '''
10141        self.port = port if port is not None else 0
10142        '''
10143         The port to dial to initiate a connection from the egress node to this resource.
10144        '''
10145        self.port_override = port_override if port_override is not None else 0
10146        '''
10147         The local port used by clients to connect to this resource.
10148        '''
10149        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10150        '''
10151         ID of the proxy cluster for this resource, if any.
10152        '''
10153        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10154        '''
10155         ID of the secret store containing credentials for this resource, if any.
10156        '''
10157        self.subdomain = subdomain if subdomain is not None else ''
10158        '''
10159         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10160        '''
10161        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10162        '''
10163         Tags is a map of key, value pairs.
10164        '''
10165        self.username = username if username is not None else ''
10166        '''
10167         The username to authenticate with.
10168        '''
10169
10170    def __repr__(self):
10171        return '<sdm.DocumentDBHost ' + \
10172            'auth_database: ' + repr(self.auth_database) + ' ' +\
10173            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10174            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10175            'healthy: ' + repr(self.healthy) + ' ' +\
10176            'hostname: ' + repr(self.hostname) + ' ' +\
10177            'id: ' + repr(self.id) + ' ' +\
10178            'name: ' + repr(self.name) + ' ' +\
10179            'password: ' + repr(self.password) + ' ' +\
10180            'port: ' + repr(self.port) + ' ' +\
10181            'port_override: ' + repr(self.port_override) + ' ' +\
10182            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10183            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10184            'subdomain: ' + repr(self.subdomain) + ' ' +\
10185            'tags: ' + repr(self.tags) + ' ' +\
10186            'username: ' + repr(self.username) + ' ' +\
10187            '>'
10188
10189    def to_dict(self):
10190        return {
10191            'auth_database': self.auth_database,
10192            'bind_interface': self.bind_interface,
10193            'egress_filter': self.egress_filter,
10194            'healthy': self.healthy,
10195            'hostname': self.hostname,
10196            'id': self.id,
10197            'name': self.name,
10198            'password': self.password,
10199            'port': self.port,
10200            'port_override': self.port_override,
10201            'proxy_cluster_id': self.proxy_cluster_id,
10202            'secret_store_id': self.secret_store_id,
10203            'subdomain': self.subdomain,
10204            'tags': self.tags,
10205            'username': self.username,
10206        }
10207
10208    @classmethod
10209    def from_dict(cls, d):
10210        return cls(
10211            auth_database=d.get('auth_database'),
10212            bind_interface=d.get('bind_interface'),
10213            egress_filter=d.get('egress_filter'),
10214            healthy=d.get('healthy'),
10215            hostname=d.get('hostname'),
10216            id=d.get('id'),
10217            name=d.get('name'),
10218            password=d.get('password'),
10219            port=d.get('port'),
10220            port_override=d.get('port_override'),
10221            proxy_cluster_id=d.get('proxy_cluster_id'),
10222            secret_store_id=d.get('secret_store_id'),
10223            subdomain=d.get('subdomain'),
10224            tags=d.get('tags'),
10225            username=d.get('username'),
10226        )
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)
10091    def __init__(
10092        self,
10093        auth_database=None,
10094        bind_interface=None,
10095        egress_filter=None,
10096        healthy=None,
10097        hostname=None,
10098        id=None,
10099        name=None,
10100        password=None,
10101        port=None,
10102        port_override=None,
10103        proxy_cluster_id=None,
10104        secret_store_id=None,
10105        subdomain=None,
10106        tags=None,
10107        username=None,
10108    ):
10109        self.auth_database = auth_database if auth_database is not None else ''
10110        '''
10111         The authentication database to use.
10112        '''
10113        self.bind_interface = bind_interface if bind_interface is not None else ''
10114        '''
10115         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10116        '''
10117        self.egress_filter = egress_filter if egress_filter is not None else ''
10118        '''
10119         A filter applied to the routing logic to pin datasource to nodes.
10120        '''
10121        self.healthy = healthy if healthy is not None else False
10122        '''
10123         True if the datasource is reachable and the credentials are valid.
10124        '''
10125        self.hostname = hostname if hostname is not None else ''
10126        '''
10127         The host to dial to initiate a connection from the egress node to this resource.
10128        '''
10129        self.id = id if id is not None else ''
10130        '''
10131         Unique identifier of the Resource.
10132        '''
10133        self.name = name if name is not None else ''
10134        '''
10135         Unique human-readable name of the Resource.
10136        '''
10137        self.password = password if password is not None else ''
10138        '''
10139         The password to authenticate with.
10140        '''
10141        self.port = port if port is not None else 0
10142        '''
10143         The port to dial to initiate a connection from the egress node to this resource.
10144        '''
10145        self.port_override = port_override if port_override is not None else 0
10146        '''
10147         The local port used by clients to connect to this resource.
10148        '''
10149        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10150        '''
10151         ID of the proxy cluster for this resource, if any.
10152        '''
10153        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10154        '''
10155         ID of the secret store containing credentials for this resource, if any.
10156        '''
10157        self.subdomain = subdomain if subdomain is not None else ''
10158        '''
10159         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10160        '''
10161        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10162        '''
10163         Tags is a map of key, value pairs.
10164        '''
10165        self.username = username if username is not None else ''
10166        '''
10167         The username to authenticate with.
10168        '''
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)
10189    def to_dict(self):
10190        return {
10191            'auth_database': self.auth_database,
10192            'bind_interface': self.bind_interface,
10193            'egress_filter': self.egress_filter,
10194            'healthy': self.healthy,
10195            'hostname': self.hostname,
10196            'id': self.id,
10197            'name': self.name,
10198            'password': self.password,
10199            'port': self.port,
10200            'port_override': self.port_override,
10201            'proxy_cluster_id': self.proxy_cluster_id,
10202            'secret_store_id': self.secret_store_id,
10203            'subdomain': self.subdomain,
10204            'tags': self.tags,
10205            'username': self.username,
10206        }
@classmethod
def from_dict(cls, d)
10208    @classmethod
10209    def from_dict(cls, d):
10210        return cls(
10211            auth_database=d.get('auth_database'),
10212            bind_interface=d.get('bind_interface'),
10213            egress_filter=d.get('egress_filter'),
10214            healthy=d.get('healthy'),
10215            hostname=d.get('hostname'),
10216            id=d.get('id'),
10217            name=d.get('name'),
10218            password=d.get('password'),
10219            port=d.get('port'),
10220            port_override=d.get('port_override'),
10221            proxy_cluster_id=d.get('proxy_cluster_id'),
10222            secret_store_id=d.get('secret_store_id'),
10223            subdomain=d.get('subdomain'),
10224            tags=d.get('tags'),
10225            username=d.get('username'),
10226        )
class DocumentDBHostIAM:
10229class DocumentDBHostIAM:
10230    __slots__ = [
10231        'bind_interface',
10232        'egress_filter',
10233        'healthy',
10234        'hostname',
10235        'id',
10236        'name',
10237        'port',
10238        'port_override',
10239        'proxy_cluster_id',
10240        'region',
10241        'secret_store_id',
10242        'subdomain',
10243        'tags',
10244    ]
10245
10246    def __init__(
10247        self,
10248        bind_interface=None,
10249        egress_filter=None,
10250        healthy=None,
10251        hostname=None,
10252        id=None,
10253        name=None,
10254        port=None,
10255        port_override=None,
10256        proxy_cluster_id=None,
10257        region=None,
10258        secret_store_id=None,
10259        subdomain=None,
10260        tags=None,
10261    ):
10262        self.bind_interface = bind_interface if bind_interface is not None else ''
10263        '''
10264         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10265        '''
10266        self.egress_filter = egress_filter if egress_filter is not None else ''
10267        '''
10268         A filter applied to the routing logic to pin datasource to nodes.
10269        '''
10270        self.healthy = healthy if healthy is not None else False
10271        '''
10272         True if the datasource is reachable and the credentials are valid.
10273        '''
10274        self.hostname = hostname if hostname is not None else ''
10275        '''
10276         The host to dial to initiate a connection from the egress node to this resource.
10277        '''
10278        self.id = id if id is not None else ''
10279        '''
10280         Unique identifier of the Resource.
10281        '''
10282        self.name = name if name is not None else ''
10283        '''
10284         Unique human-readable name of the Resource.
10285        '''
10286        self.port = port if port is not None else 0
10287        '''
10288         The port to dial to initiate a connection from the egress node to this resource.
10289        '''
10290        self.port_override = port_override if port_override is not None else 0
10291        '''
10292         The local port used by clients to connect to this resource.
10293        '''
10294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10295        '''
10296         ID of the proxy cluster for this resource, if any.
10297        '''
10298        self.region = region if region is not None else ''
10299        '''
10300         The AWS region to connect to.
10301        '''
10302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10303        '''
10304         ID of the secret store containing credentials for this resource, if any.
10305        '''
10306        self.subdomain = subdomain if subdomain is not None else ''
10307        '''
10308         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10309        '''
10310        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10311        '''
10312         Tags is a map of key, value pairs.
10313        '''
10314
10315    def __repr__(self):
10316        return '<sdm.DocumentDBHostIAM ' + \
10317            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10318            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10319            'healthy: ' + repr(self.healthy) + ' ' +\
10320            'hostname: ' + repr(self.hostname) + ' ' +\
10321            'id: ' + repr(self.id) + ' ' +\
10322            'name: ' + repr(self.name) + ' ' +\
10323            'port: ' + repr(self.port) + ' ' +\
10324            'port_override: ' + repr(self.port_override) + ' ' +\
10325            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10326            'region: ' + repr(self.region) + ' ' +\
10327            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10328            'subdomain: ' + repr(self.subdomain) + ' ' +\
10329            'tags: ' + repr(self.tags) + ' ' +\
10330            '>'
10331
10332    def to_dict(self):
10333        return {
10334            'bind_interface': self.bind_interface,
10335            'egress_filter': self.egress_filter,
10336            'healthy': self.healthy,
10337            'hostname': self.hostname,
10338            'id': self.id,
10339            'name': self.name,
10340            'port': self.port,
10341            'port_override': self.port_override,
10342            'proxy_cluster_id': self.proxy_cluster_id,
10343            'region': self.region,
10344            'secret_store_id': self.secret_store_id,
10345            'subdomain': self.subdomain,
10346            'tags': self.tags,
10347        }
10348
10349    @classmethod
10350    def from_dict(cls, d):
10351        return cls(
10352            bind_interface=d.get('bind_interface'),
10353            egress_filter=d.get('egress_filter'),
10354            healthy=d.get('healthy'),
10355            hostname=d.get('hostname'),
10356            id=d.get('id'),
10357            name=d.get('name'),
10358            port=d.get('port'),
10359            port_override=d.get('port_override'),
10360            proxy_cluster_id=d.get('proxy_cluster_id'),
10361            region=d.get('region'),
10362            secret_store_id=d.get('secret_store_id'),
10363            subdomain=d.get('subdomain'),
10364            tags=d.get('tags'),
10365        )
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)
10246    def __init__(
10247        self,
10248        bind_interface=None,
10249        egress_filter=None,
10250        healthy=None,
10251        hostname=None,
10252        id=None,
10253        name=None,
10254        port=None,
10255        port_override=None,
10256        proxy_cluster_id=None,
10257        region=None,
10258        secret_store_id=None,
10259        subdomain=None,
10260        tags=None,
10261    ):
10262        self.bind_interface = bind_interface if bind_interface is not None else ''
10263        '''
10264         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10265        '''
10266        self.egress_filter = egress_filter if egress_filter is not None else ''
10267        '''
10268         A filter applied to the routing logic to pin datasource to nodes.
10269        '''
10270        self.healthy = healthy if healthy is not None else False
10271        '''
10272         True if the datasource is reachable and the credentials are valid.
10273        '''
10274        self.hostname = hostname if hostname is not None else ''
10275        '''
10276         The host to dial to initiate a connection from the egress node to this resource.
10277        '''
10278        self.id = id if id is not None else ''
10279        '''
10280         Unique identifier of the Resource.
10281        '''
10282        self.name = name if name is not None else ''
10283        '''
10284         Unique human-readable name of the Resource.
10285        '''
10286        self.port = port if port is not None else 0
10287        '''
10288         The port to dial to initiate a connection from the egress node to this resource.
10289        '''
10290        self.port_override = port_override if port_override is not None else 0
10291        '''
10292         The local port used by clients to connect to this resource.
10293        '''
10294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10295        '''
10296         ID of the proxy cluster for this resource, if any.
10297        '''
10298        self.region = region if region is not None else ''
10299        '''
10300         The AWS region to connect to.
10301        '''
10302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10303        '''
10304         ID of the secret store containing credentials for this resource, if any.
10305        '''
10306        self.subdomain = subdomain if subdomain is not None else ''
10307        '''
10308         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10309        '''
10310        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10311        '''
10312         Tags is a map of key, value pairs.
10313        '''
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)
10332    def to_dict(self):
10333        return {
10334            'bind_interface': self.bind_interface,
10335            'egress_filter': self.egress_filter,
10336            'healthy': self.healthy,
10337            'hostname': self.hostname,
10338            'id': self.id,
10339            'name': self.name,
10340            'port': self.port,
10341            'port_override': self.port_override,
10342            'proxy_cluster_id': self.proxy_cluster_id,
10343            'region': self.region,
10344            'secret_store_id': self.secret_store_id,
10345            'subdomain': self.subdomain,
10346            'tags': self.tags,
10347        }
@classmethod
def from_dict(cls, d)
10349    @classmethod
10350    def from_dict(cls, d):
10351        return cls(
10352            bind_interface=d.get('bind_interface'),
10353            egress_filter=d.get('egress_filter'),
10354            healthy=d.get('healthy'),
10355            hostname=d.get('hostname'),
10356            id=d.get('id'),
10357            name=d.get('name'),
10358            port=d.get('port'),
10359            port_override=d.get('port_override'),
10360            proxy_cluster_id=d.get('proxy_cluster_id'),
10361            region=d.get('region'),
10362            secret_store_id=d.get('secret_store_id'),
10363            subdomain=d.get('subdomain'),
10364            tags=d.get('tags'),
10365        )
class DocumentDBReplicaSet:
10368class DocumentDBReplicaSet:
10369    __slots__ = [
10370        'auth_database',
10371        'bind_interface',
10372        'connect_to_replica',
10373        'egress_filter',
10374        'healthy',
10375        'hostname',
10376        'id',
10377        'name',
10378        'password',
10379        'port_override',
10380        'proxy_cluster_id',
10381        'replica_set',
10382        'secret_store_id',
10383        'subdomain',
10384        'tags',
10385        'username',
10386    ]
10387
10388    def __init__(
10389        self,
10390        auth_database=None,
10391        bind_interface=None,
10392        connect_to_replica=None,
10393        egress_filter=None,
10394        healthy=None,
10395        hostname=None,
10396        id=None,
10397        name=None,
10398        password=None,
10399        port_override=None,
10400        proxy_cluster_id=None,
10401        replica_set=None,
10402        secret_store_id=None,
10403        subdomain=None,
10404        tags=None,
10405        username=None,
10406    ):
10407        self.auth_database = auth_database if auth_database is not None else ''
10408        '''
10409         The authentication database to use.
10410        '''
10411        self.bind_interface = bind_interface if bind_interface is not None else ''
10412        '''
10413         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10414        '''
10415        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
10416        '''
10417         Set to connect to a replica instead of the primary node.
10418        '''
10419        self.egress_filter = egress_filter if egress_filter is not None else ''
10420        '''
10421         A filter applied to the routing logic to pin datasource to nodes.
10422        '''
10423        self.healthy = healthy if healthy is not None else False
10424        '''
10425         True if the datasource is reachable and the credentials are valid.
10426        '''
10427        self.hostname = hostname if hostname is not None else ''
10428        '''
10429         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
10430        '''
10431        self.id = id if id is not None else ''
10432        '''
10433         Unique identifier of the Resource.
10434        '''
10435        self.name = name if name is not None else ''
10436        '''
10437         Unique human-readable name of the Resource.
10438        '''
10439        self.password = password if password is not None else ''
10440        '''
10441         The password to authenticate with.
10442        '''
10443        self.port_override = port_override if port_override is not None else 0
10444        '''
10445         The local port used by clients to connect to this resource.
10446        '''
10447        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10448        '''
10449         ID of the proxy cluster for this resource, if any.
10450        '''
10451        self.replica_set = replica_set if replica_set is not None else ''
10452        '''
10453         The name of the mongo replicaset.
10454        '''
10455        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10456        '''
10457         ID of the secret store containing credentials for this resource, if any.
10458        '''
10459        self.subdomain = subdomain if subdomain is not None else ''
10460        '''
10461         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10462        '''
10463        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10464        '''
10465         Tags is a map of key, value pairs.
10466        '''
10467        self.username = username if username is not None else ''
10468        '''
10469         The username to authenticate with.
10470        '''
10471
10472    def __repr__(self):
10473        return '<sdm.DocumentDBReplicaSet ' + \
10474            'auth_database: ' + repr(self.auth_database) + ' ' +\
10475            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10476            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
10477            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10478            'healthy: ' + repr(self.healthy) + ' ' +\
10479            'hostname: ' + repr(self.hostname) + ' ' +\
10480            'id: ' + repr(self.id) + ' ' +\
10481            'name: ' + repr(self.name) + ' ' +\
10482            'password: ' + repr(self.password) + ' ' +\
10483            'port_override: ' + repr(self.port_override) + ' ' +\
10484            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10485            'replica_set: ' + repr(self.replica_set) + ' ' +\
10486            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10487            'subdomain: ' + repr(self.subdomain) + ' ' +\
10488            'tags: ' + repr(self.tags) + ' ' +\
10489            'username: ' + repr(self.username) + ' ' +\
10490            '>'
10491
10492    def to_dict(self):
10493        return {
10494            'auth_database': self.auth_database,
10495            'bind_interface': self.bind_interface,
10496            'connect_to_replica': self.connect_to_replica,
10497            'egress_filter': self.egress_filter,
10498            'healthy': self.healthy,
10499            'hostname': self.hostname,
10500            'id': self.id,
10501            'name': self.name,
10502            'password': self.password,
10503            'port_override': self.port_override,
10504            'proxy_cluster_id': self.proxy_cluster_id,
10505            'replica_set': self.replica_set,
10506            'secret_store_id': self.secret_store_id,
10507            'subdomain': self.subdomain,
10508            'tags': self.tags,
10509            'username': self.username,
10510        }
10511
10512    @classmethod
10513    def from_dict(cls, d):
10514        return cls(
10515            auth_database=d.get('auth_database'),
10516            bind_interface=d.get('bind_interface'),
10517            connect_to_replica=d.get('connect_to_replica'),
10518            egress_filter=d.get('egress_filter'),
10519            healthy=d.get('healthy'),
10520            hostname=d.get('hostname'),
10521            id=d.get('id'),
10522            name=d.get('name'),
10523            password=d.get('password'),
10524            port_override=d.get('port_override'),
10525            proxy_cluster_id=d.get('proxy_cluster_id'),
10526            replica_set=d.get('replica_set'),
10527            secret_store_id=d.get('secret_store_id'),
10528            subdomain=d.get('subdomain'),
10529            tags=d.get('tags'),
10530            username=d.get('username'),
10531        )
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)
10388    def __init__(
10389        self,
10390        auth_database=None,
10391        bind_interface=None,
10392        connect_to_replica=None,
10393        egress_filter=None,
10394        healthy=None,
10395        hostname=None,
10396        id=None,
10397        name=None,
10398        password=None,
10399        port_override=None,
10400        proxy_cluster_id=None,
10401        replica_set=None,
10402        secret_store_id=None,
10403        subdomain=None,
10404        tags=None,
10405        username=None,
10406    ):
10407        self.auth_database = auth_database if auth_database is not None else ''
10408        '''
10409         The authentication database to use.
10410        '''
10411        self.bind_interface = bind_interface if bind_interface is not None else ''
10412        '''
10413         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10414        '''
10415        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
10416        '''
10417         Set to connect to a replica instead of the primary node.
10418        '''
10419        self.egress_filter = egress_filter if egress_filter is not None else ''
10420        '''
10421         A filter applied to the routing logic to pin datasource to nodes.
10422        '''
10423        self.healthy = healthy if healthy is not None else False
10424        '''
10425         True if the datasource is reachable and the credentials are valid.
10426        '''
10427        self.hostname = hostname if hostname is not None else ''
10428        '''
10429         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
10430        '''
10431        self.id = id if id is not None else ''
10432        '''
10433         Unique identifier of the Resource.
10434        '''
10435        self.name = name if name is not None else ''
10436        '''
10437         Unique human-readable name of the Resource.
10438        '''
10439        self.password = password if password is not None else ''
10440        '''
10441         The password to authenticate with.
10442        '''
10443        self.port_override = port_override if port_override is not None else 0
10444        '''
10445         The local port used by clients to connect to this resource.
10446        '''
10447        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10448        '''
10449         ID of the proxy cluster for this resource, if any.
10450        '''
10451        self.replica_set = replica_set if replica_set is not None else ''
10452        '''
10453         The name of the mongo replicaset.
10454        '''
10455        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10456        '''
10457         ID of the secret store containing credentials for this resource, if any.
10458        '''
10459        self.subdomain = subdomain if subdomain is not None else ''
10460        '''
10461         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10462        '''
10463        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10464        '''
10465         Tags is a map of key, value pairs.
10466        '''
10467        self.username = username if username is not None else ''
10468        '''
10469         The username to authenticate with.
10470        '''
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)
10492    def to_dict(self):
10493        return {
10494            'auth_database': self.auth_database,
10495            'bind_interface': self.bind_interface,
10496            'connect_to_replica': self.connect_to_replica,
10497            'egress_filter': self.egress_filter,
10498            'healthy': self.healthy,
10499            'hostname': self.hostname,
10500            'id': self.id,
10501            'name': self.name,
10502            'password': self.password,
10503            'port_override': self.port_override,
10504            'proxy_cluster_id': self.proxy_cluster_id,
10505            'replica_set': self.replica_set,
10506            'secret_store_id': self.secret_store_id,
10507            'subdomain': self.subdomain,
10508            'tags': self.tags,
10509            'username': self.username,
10510        }
@classmethod
def from_dict(cls, d)
10512    @classmethod
10513    def from_dict(cls, d):
10514        return cls(
10515            auth_database=d.get('auth_database'),
10516            bind_interface=d.get('bind_interface'),
10517            connect_to_replica=d.get('connect_to_replica'),
10518            egress_filter=d.get('egress_filter'),
10519            healthy=d.get('healthy'),
10520            hostname=d.get('hostname'),
10521            id=d.get('id'),
10522            name=d.get('name'),
10523            password=d.get('password'),
10524            port_override=d.get('port_override'),
10525            proxy_cluster_id=d.get('proxy_cluster_id'),
10526            replica_set=d.get('replica_set'),
10527            secret_store_id=d.get('secret_store_id'),
10528            subdomain=d.get('subdomain'),
10529            tags=d.get('tags'),
10530            username=d.get('username'),
10531        )
class Druid:
10534class Druid:
10535    __slots__ = [
10536        'bind_interface',
10537        'egress_filter',
10538        'healthy',
10539        'hostname',
10540        'id',
10541        'name',
10542        'password',
10543        'port',
10544        'port_override',
10545        'proxy_cluster_id',
10546        'secret_store_id',
10547        'subdomain',
10548        'tags',
10549        'username',
10550    ]
10551
10552    def __init__(
10553        self,
10554        bind_interface=None,
10555        egress_filter=None,
10556        healthy=None,
10557        hostname=None,
10558        id=None,
10559        name=None,
10560        password=None,
10561        port=None,
10562        port_override=None,
10563        proxy_cluster_id=None,
10564        secret_store_id=None,
10565        subdomain=None,
10566        tags=None,
10567        username=None,
10568    ):
10569        self.bind_interface = bind_interface if bind_interface is not None else ''
10570        '''
10571         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10572        '''
10573        self.egress_filter = egress_filter if egress_filter is not None else ''
10574        '''
10575         A filter applied to the routing logic to pin datasource to nodes.
10576        '''
10577        self.healthy = healthy if healthy is not None else False
10578        '''
10579         True if the datasource is reachable and the credentials are valid.
10580        '''
10581        self.hostname = hostname if hostname is not None else ''
10582        '''
10583         The host to dial to initiate a connection from the egress node to this resource.
10584        '''
10585        self.id = id if id is not None else ''
10586        '''
10587         Unique identifier of the Resource.
10588        '''
10589        self.name = name if name is not None else ''
10590        '''
10591         Unique human-readable name of the Resource.
10592        '''
10593        self.password = password if password is not None else ''
10594        '''
10595         The password to authenticate with.
10596        '''
10597        self.port = port if port is not None else 0
10598        '''
10599         The port to dial to initiate a connection from the egress node to this resource.
10600        '''
10601        self.port_override = port_override if port_override is not None else 0
10602        '''
10603         The local port used by clients to connect to this resource.
10604        '''
10605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10606        '''
10607         ID of the proxy cluster for this resource, if any.
10608        '''
10609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10610        '''
10611         ID of the secret store containing credentials for this resource, if any.
10612        '''
10613        self.subdomain = subdomain if subdomain is not None else ''
10614        '''
10615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10616        '''
10617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10618        '''
10619         Tags is a map of key, value pairs.
10620        '''
10621        self.username = username if username is not None else ''
10622        '''
10623         The username to authenticate with.
10624        '''
10625
10626    def __repr__(self):
10627        return '<sdm.Druid ' + \
10628            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10629            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10630            'healthy: ' + repr(self.healthy) + ' ' +\
10631            'hostname: ' + repr(self.hostname) + ' ' +\
10632            'id: ' + repr(self.id) + ' ' +\
10633            'name: ' + repr(self.name) + ' ' +\
10634            'password: ' + repr(self.password) + ' ' +\
10635            'port: ' + repr(self.port) + ' ' +\
10636            'port_override: ' + repr(self.port_override) + ' ' +\
10637            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10638            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10639            'subdomain: ' + repr(self.subdomain) + ' ' +\
10640            'tags: ' + repr(self.tags) + ' ' +\
10641            'username: ' + repr(self.username) + ' ' +\
10642            '>'
10643
10644    def to_dict(self):
10645        return {
10646            'bind_interface': self.bind_interface,
10647            'egress_filter': self.egress_filter,
10648            'healthy': self.healthy,
10649            'hostname': self.hostname,
10650            'id': self.id,
10651            'name': self.name,
10652            'password': self.password,
10653            'port': self.port,
10654            'port_override': self.port_override,
10655            'proxy_cluster_id': self.proxy_cluster_id,
10656            'secret_store_id': self.secret_store_id,
10657            'subdomain': self.subdomain,
10658            'tags': self.tags,
10659            'username': self.username,
10660        }
10661
10662    @classmethod
10663    def from_dict(cls, d):
10664        return cls(
10665            bind_interface=d.get('bind_interface'),
10666            egress_filter=d.get('egress_filter'),
10667            healthy=d.get('healthy'),
10668            hostname=d.get('hostname'),
10669            id=d.get('id'),
10670            name=d.get('name'),
10671            password=d.get('password'),
10672            port=d.get('port'),
10673            port_override=d.get('port_override'),
10674            proxy_cluster_id=d.get('proxy_cluster_id'),
10675            secret_store_id=d.get('secret_store_id'),
10676            subdomain=d.get('subdomain'),
10677            tags=d.get('tags'),
10678            username=d.get('username'),
10679        )
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)
10552    def __init__(
10553        self,
10554        bind_interface=None,
10555        egress_filter=None,
10556        healthy=None,
10557        hostname=None,
10558        id=None,
10559        name=None,
10560        password=None,
10561        port=None,
10562        port_override=None,
10563        proxy_cluster_id=None,
10564        secret_store_id=None,
10565        subdomain=None,
10566        tags=None,
10567        username=None,
10568    ):
10569        self.bind_interface = bind_interface if bind_interface is not None else ''
10570        '''
10571         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10572        '''
10573        self.egress_filter = egress_filter if egress_filter is not None else ''
10574        '''
10575         A filter applied to the routing logic to pin datasource to nodes.
10576        '''
10577        self.healthy = healthy if healthy is not None else False
10578        '''
10579         True if the datasource is reachable and the credentials are valid.
10580        '''
10581        self.hostname = hostname if hostname is not None else ''
10582        '''
10583         The host to dial to initiate a connection from the egress node to this resource.
10584        '''
10585        self.id = id if id is not None else ''
10586        '''
10587         Unique identifier of the Resource.
10588        '''
10589        self.name = name if name is not None else ''
10590        '''
10591         Unique human-readable name of the Resource.
10592        '''
10593        self.password = password if password is not None else ''
10594        '''
10595         The password to authenticate with.
10596        '''
10597        self.port = port if port is not None else 0
10598        '''
10599         The port to dial to initiate a connection from the egress node to this resource.
10600        '''
10601        self.port_override = port_override if port_override is not None else 0
10602        '''
10603         The local port used by clients to connect to this resource.
10604        '''
10605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10606        '''
10607         ID of the proxy cluster for this resource, if any.
10608        '''
10609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10610        '''
10611         ID of the secret store containing credentials for this resource, if any.
10612        '''
10613        self.subdomain = subdomain if subdomain is not None else ''
10614        '''
10615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10616        '''
10617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10618        '''
10619         Tags is a map of key, value pairs.
10620        '''
10621        self.username = username if username is not None else ''
10622        '''
10623         The username to authenticate with.
10624        '''
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)
10644    def to_dict(self):
10645        return {
10646            'bind_interface': self.bind_interface,
10647            'egress_filter': self.egress_filter,
10648            'healthy': self.healthy,
10649            'hostname': self.hostname,
10650            'id': self.id,
10651            'name': self.name,
10652            'password': self.password,
10653            'port': self.port,
10654            'port_override': self.port_override,
10655            'proxy_cluster_id': self.proxy_cluster_id,
10656            'secret_store_id': self.secret_store_id,
10657            'subdomain': self.subdomain,
10658            'tags': self.tags,
10659            'username': self.username,
10660        }
@classmethod
def from_dict(cls, d)
10662    @classmethod
10663    def from_dict(cls, d):
10664        return cls(
10665            bind_interface=d.get('bind_interface'),
10666            egress_filter=d.get('egress_filter'),
10667            healthy=d.get('healthy'),
10668            hostname=d.get('hostname'),
10669            id=d.get('id'),
10670            name=d.get('name'),
10671            password=d.get('password'),
10672            port=d.get('port'),
10673            port_override=d.get('port_override'),
10674            proxy_cluster_id=d.get('proxy_cluster_id'),
10675            secret_store_id=d.get('secret_store_id'),
10676            subdomain=d.get('subdomain'),
10677            tags=d.get('tags'),
10678            username=d.get('username'),
10679        )
class DynamoDB:
10682class DynamoDB:
10683    __slots__ = [
10684        'access_key',
10685        'bind_interface',
10686        'egress_filter',
10687        'endpoint',
10688        'healthy',
10689        'id',
10690        'name',
10691        'port_override',
10692        'proxy_cluster_id',
10693        'region',
10694        'role_arn',
10695        'role_external_id',
10696        'secret_access_key',
10697        'secret_store_id',
10698        'subdomain',
10699        'tags',
10700    ]
10701
10702    def __init__(
10703        self,
10704        access_key=None,
10705        bind_interface=None,
10706        egress_filter=None,
10707        endpoint=None,
10708        healthy=None,
10709        id=None,
10710        name=None,
10711        port_override=None,
10712        proxy_cluster_id=None,
10713        region=None,
10714        role_arn=None,
10715        role_external_id=None,
10716        secret_access_key=None,
10717        secret_store_id=None,
10718        subdomain=None,
10719        tags=None,
10720    ):
10721        self.access_key = access_key if access_key is not None else ''
10722        '''
10723         The Access Key ID to use to authenticate.
10724        '''
10725        self.bind_interface = bind_interface if bind_interface is not None else ''
10726        '''
10727         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10728        '''
10729        self.egress_filter = egress_filter if egress_filter is not None else ''
10730        '''
10731         A filter applied to the routing logic to pin datasource to nodes.
10732        '''
10733        self.endpoint = endpoint if endpoint is not None else ''
10734        '''
10735         The endpoint to dial e.g. dynamodb.region.amazonaws.com
10736        '''
10737        self.healthy = healthy if healthy is not None else False
10738        '''
10739         True if the datasource is reachable and the credentials are valid.
10740        '''
10741        self.id = id if id is not None else ''
10742        '''
10743         Unique identifier of the Resource.
10744        '''
10745        self.name = name if name is not None else ''
10746        '''
10747         Unique human-readable name of the Resource.
10748        '''
10749        self.port_override = port_override if port_override is not None else 0
10750        '''
10751         The local port used by clients to connect to this resource.
10752        '''
10753        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10754        '''
10755         ID of the proxy cluster for this resource, if any.
10756        '''
10757        self.region = region if region is not None else ''
10758        '''
10759         The region to authenticate requests against e.g. us-east-1
10760        '''
10761        self.role_arn = role_arn if role_arn is not None else ''
10762        '''
10763         The role to assume after logging in.
10764        '''
10765        self.role_external_id = role_external_id if role_external_id is not None else ''
10766        '''
10767         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10768        '''
10769        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
10770        '''
10771         The Secret Access Key to use to authenticate.
10772        '''
10773        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10774        '''
10775         ID of the secret store containing credentials for this resource, if any.
10776        '''
10777        self.subdomain = subdomain if subdomain is not None else ''
10778        '''
10779         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10780        '''
10781        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10782        '''
10783         Tags is a map of key, value pairs.
10784        '''
10785
10786    def __repr__(self):
10787        return '<sdm.DynamoDB ' + \
10788            'access_key: ' + repr(self.access_key) + ' ' +\
10789            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10790            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10791            'endpoint: ' + repr(self.endpoint) + ' ' +\
10792            'healthy: ' + repr(self.healthy) + ' ' +\
10793            'id: ' + repr(self.id) + ' ' +\
10794            'name: ' + repr(self.name) + ' ' +\
10795            'port_override: ' + repr(self.port_override) + ' ' +\
10796            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10797            'region: ' + repr(self.region) + ' ' +\
10798            'role_arn: ' + repr(self.role_arn) + ' ' +\
10799            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
10800            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
10801            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10802            'subdomain: ' + repr(self.subdomain) + ' ' +\
10803            'tags: ' + repr(self.tags) + ' ' +\
10804            '>'
10805
10806    def to_dict(self):
10807        return {
10808            'access_key': self.access_key,
10809            'bind_interface': self.bind_interface,
10810            'egress_filter': self.egress_filter,
10811            'endpoint': self.endpoint,
10812            'healthy': self.healthy,
10813            'id': self.id,
10814            'name': self.name,
10815            'port_override': self.port_override,
10816            'proxy_cluster_id': self.proxy_cluster_id,
10817            'region': self.region,
10818            'role_arn': self.role_arn,
10819            'role_external_id': self.role_external_id,
10820            'secret_access_key': self.secret_access_key,
10821            'secret_store_id': self.secret_store_id,
10822            'subdomain': self.subdomain,
10823            'tags': self.tags,
10824        }
10825
10826    @classmethod
10827    def from_dict(cls, d):
10828        return cls(
10829            access_key=d.get('access_key'),
10830            bind_interface=d.get('bind_interface'),
10831            egress_filter=d.get('egress_filter'),
10832            endpoint=d.get('endpoint'),
10833            healthy=d.get('healthy'),
10834            id=d.get('id'),
10835            name=d.get('name'),
10836            port_override=d.get('port_override'),
10837            proxy_cluster_id=d.get('proxy_cluster_id'),
10838            region=d.get('region'),
10839            role_arn=d.get('role_arn'),
10840            role_external_id=d.get('role_external_id'),
10841            secret_access_key=d.get('secret_access_key'),
10842            secret_store_id=d.get('secret_store_id'),
10843            subdomain=d.get('subdomain'),
10844            tags=d.get('tags'),
10845        )
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)
10702    def __init__(
10703        self,
10704        access_key=None,
10705        bind_interface=None,
10706        egress_filter=None,
10707        endpoint=None,
10708        healthy=None,
10709        id=None,
10710        name=None,
10711        port_override=None,
10712        proxy_cluster_id=None,
10713        region=None,
10714        role_arn=None,
10715        role_external_id=None,
10716        secret_access_key=None,
10717        secret_store_id=None,
10718        subdomain=None,
10719        tags=None,
10720    ):
10721        self.access_key = access_key if access_key is not None else ''
10722        '''
10723         The Access Key ID to use to authenticate.
10724        '''
10725        self.bind_interface = bind_interface if bind_interface is not None else ''
10726        '''
10727         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10728        '''
10729        self.egress_filter = egress_filter if egress_filter is not None else ''
10730        '''
10731         A filter applied to the routing logic to pin datasource to nodes.
10732        '''
10733        self.endpoint = endpoint if endpoint is not None else ''
10734        '''
10735         The endpoint to dial e.g. dynamodb.region.amazonaws.com
10736        '''
10737        self.healthy = healthy if healthy is not None else False
10738        '''
10739         True if the datasource is reachable and the credentials are valid.
10740        '''
10741        self.id = id if id is not None else ''
10742        '''
10743         Unique identifier of the Resource.
10744        '''
10745        self.name = name if name is not None else ''
10746        '''
10747         Unique human-readable name of the Resource.
10748        '''
10749        self.port_override = port_override if port_override is not None else 0
10750        '''
10751         The local port used by clients to connect to this resource.
10752        '''
10753        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10754        '''
10755         ID of the proxy cluster for this resource, if any.
10756        '''
10757        self.region = region if region is not None else ''
10758        '''
10759         The region to authenticate requests against e.g. us-east-1
10760        '''
10761        self.role_arn = role_arn if role_arn is not None else ''
10762        '''
10763         The role to assume after logging in.
10764        '''
10765        self.role_external_id = role_external_id if role_external_id is not None else ''
10766        '''
10767         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10768        '''
10769        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
10770        '''
10771         The Secret Access Key to use to authenticate.
10772        '''
10773        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10774        '''
10775         ID of the secret store containing credentials for this resource, if any.
10776        '''
10777        self.subdomain = subdomain if subdomain is not None else ''
10778        '''
10779         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10780        '''
10781        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10782        '''
10783         Tags is a map of key, value pairs.
10784        '''
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)
10806    def to_dict(self):
10807        return {
10808            'access_key': self.access_key,
10809            'bind_interface': self.bind_interface,
10810            'egress_filter': self.egress_filter,
10811            'endpoint': self.endpoint,
10812            'healthy': self.healthy,
10813            'id': self.id,
10814            'name': self.name,
10815            'port_override': self.port_override,
10816            'proxy_cluster_id': self.proxy_cluster_id,
10817            'region': self.region,
10818            'role_arn': self.role_arn,
10819            'role_external_id': self.role_external_id,
10820            'secret_access_key': self.secret_access_key,
10821            'secret_store_id': self.secret_store_id,
10822            'subdomain': self.subdomain,
10823            'tags': self.tags,
10824        }
@classmethod
def from_dict(cls, d)
10826    @classmethod
10827    def from_dict(cls, d):
10828        return cls(
10829            access_key=d.get('access_key'),
10830            bind_interface=d.get('bind_interface'),
10831            egress_filter=d.get('egress_filter'),
10832            endpoint=d.get('endpoint'),
10833            healthy=d.get('healthy'),
10834            id=d.get('id'),
10835            name=d.get('name'),
10836            port_override=d.get('port_override'),
10837            proxy_cluster_id=d.get('proxy_cluster_id'),
10838            region=d.get('region'),
10839            role_arn=d.get('role_arn'),
10840            role_external_id=d.get('role_external_id'),
10841            secret_access_key=d.get('secret_access_key'),
10842            secret_store_id=d.get('secret_store_id'),
10843            subdomain=d.get('subdomain'),
10844            tags=d.get('tags'),
10845        )
class DynamoDBIAM:
10848class DynamoDBIAM:
10849    __slots__ = [
10850        'bind_interface',
10851        'egress_filter',
10852        'endpoint',
10853        'healthy',
10854        'id',
10855        'name',
10856        'port_override',
10857        'proxy_cluster_id',
10858        'region',
10859        'role_arn',
10860        'role_external_id',
10861        'secret_store_id',
10862        'subdomain',
10863        'tags',
10864    ]
10865
10866    def __init__(
10867        self,
10868        bind_interface=None,
10869        egress_filter=None,
10870        endpoint=None,
10871        healthy=None,
10872        id=None,
10873        name=None,
10874        port_override=None,
10875        proxy_cluster_id=None,
10876        region=None,
10877        role_arn=None,
10878        role_external_id=None,
10879        secret_store_id=None,
10880        subdomain=None,
10881        tags=None,
10882    ):
10883        self.bind_interface = bind_interface if bind_interface is not None else ''
10884        '''
10885         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10886        '''
10887        self.egress_filter = egress_filter if egress_filter is not None else ''
10888        '''
10889         A filter applied to the routing logic to pin datasource to nodes.
10890        '''
10891        self.endpoint = endpoint if endpoint is not None else ''
10892        '''
10893         The endpoint to dial e.g. dynamodb.region.amazonaws.com
10894        '''
10895        self.healthy = healthy if healthy is not None else False
10896        '''
10897         True if the datasource is reachable and the credentials are valid.
10898        '''
10899        self.id = id if id is not None else ''
10900        '''
10901         Unique identifier of the Resource.
10902        '''
10903        self.name = name if name is not None else ''
10904        '''
10905         Unique human-readable name of the Resource.
10906        '''
10907        self.port_override = port_override if port_override is not None else 0
10908        '''
10909         The local port used by clients to connect to this resource.
10910        '''
10911        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10912        '''
10913         ID of the proxy cluster for this resource, if any.
10914        '''
10915        self.region = region if region is not None else ''
10916        '''
10917         The region to authenticate requests against e.g. us-east-1
10918        '''
10919        self.role_arn = role_arn if role_arn is not None else ''
10920        '''
10921         The role to assume after logging in.
10922        '''
10923        self.role_external_id = role_external_id if role_external_id is not None else ''
10924        '''
10925         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10926        '''
10927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10928        '''
10929         ID of the secret store containing credentials for this resource, if any.
10930        '''
10931        self.subdomain = subdomain if subdomain is not None else ''
10932        '''
10933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10934        '''
10935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10936        '''
10937         Tags is a map of key, value pairs.
10938        '''
10939
10940    def __repr__(self):
10941        return '<sdm.DynamoDBIAM ' + \
10942            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10943            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10944            'endpoint: ' + repr(self.endpoint) + ' ' +\
10945            'healthy: ' + repr(self.healthy) + ' ' +\
10946            'id: ' + repr(self.id) + ' ' +\
10947            'name: ' + repr(self.name) + ' ' +\
10948            'port_override: ' + repr(self.port_override) + ' ' +\
10949            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10950            'region: ' + repr(self.region) + ' ' +\
10951            'role_arn: ' + repr(self.role_arn) + ' ' +\
10952            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
10953            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10954            'subdomain: ' + repr(self.subdomain) + ' ' +\
10955            'tags: ' + repr(self.tags) + ' ' +\
10956            '>'
10957
10958    def to_dict(self):
10959        return {
10960            'bind_interface': self.bind_interface,
10961            'egress_filter': self.egress_filter,
10962            'endpoint': self.endpoint,
10963            'healthy': self.healthy,
10964            'id': self.id,
10965            'name': self.name,
10966            'port_override': self.port_override,
10967            'proxy_cluster_id': self.proxy_cluster_id,
10968            'region': self.region,
10969            'role_arn': self.role_arn,
10970            'role_external_id': self.role_external_id,
10971            'secret_store_id': self.secret_store_id,
10972            'subdomain': self.subdomain,
10973            'tags': self.tags,
10974        }
10975
10976    @classmethod
10977    def from_dict(cls, d):
10978        return cls(
10979            bind_interface=d.get('bind_interface'),
10980            egress_filter=d.get('egress_filter'),
10981            endpoint=d.get('endpoint'),
10982            healthy=d.get('healthy'),
10983            id=d.get('id'),
10984            name=d.get('name'),
10985            port_override=d.get('port_override'),
10986            proxy_cluster_id=d.get('proxy_cluster_id'),
10987            region=d.get('region'),
10988            role_arn=d.get('role_arn'),
10989            role_external_id=d.get('role_external_id'),
10990            secret_store_id=d.get('secret_store_id'),
10991            subdomain=d.get('subdomain'),
10992            tags=d.get('tags'),
10993        )
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)
10866    def __init__(
10867        self,
10868        bind_interface=None,
10869        egress_filter=None,
10870        endpoint=None,
10871        healthy=None,
10872        id=None,
10873        name=None,
10874        port_override=None,
10875        proxy_cluster_id=None,
10876        region=None,
10877        role_arn=None,
10878        role_external_id=None,
10879        secret_store_id=None,
10880        subdomain=None,
10881        tags=None,
10882    ):
10883        self.bind_interface = bind_interface if bind_interface is not None else ''
10884        '''
10885         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10886        '''
10887        self.egress_filter = egress_filter if egress_filter is not None else ''
10888        '''
10889         A filter applied to the routing logic to pin datasource to nodes.
10890        '''
10891        self.endpoint = endpoint if endpoint is not None else ''
10892        '''
10893         The endpoint to dial e.g. dynamodb.region.amazonaws.com
10894        '''
10895        self.healthy = healthy if healthy is not None else False
10896        '''
10897         True if the datasource is reachable and the credentials are valid.
10898        '''
10899        self.id = id if id is not None else ''
10900        '''
10901         Unique identifier of the Resource.
10902        '''
10903        self.name = name if name is not None else ''
10904        '''
10905         Unique human-readable name of the Resource.
10906        '''
10907        self.port_override = port_override if port_override is not None else 0
10908        '''
10909         The local port used by clients to connect to this resource.
10910        '''
10911        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10912        '''
10913         ID of the proxy cluster for this resource, if any.
10914        '''
10915        self.region = region if region is not None else ''
10916        '''
10917         The region to authenticate requests against e.g. us-east-1
10918        '''
10919        self.role_arn = role_arn if role_arn is not None else ''
10920        '''
10921         The role to assume after logging in.
10922        '''
10923        self.role_external_id = role_external_id if role_external_id is not None else ''
10924        '''
10925         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10926        '''
10927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10928        '''
10929         ID of the secret store containing credentials for this resource, if any.
10930        '''
10931        self.subdomain = subdomain if subdomain is not None else ''
10932        '''
10933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10934        '''
10935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10936        '''
10937         Tags is a map of key, value pairs.
10938        '''
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)
10958    def to_dict(self):
10959        return {
10960            'bind_interface': self.bind_interface,
10961            'egress_filter': self.egress_filter,
10962            'endpoint': self.endpoint,
10963            'healthy': self.healthy,
10964            'id': self.id,
10965            'name': self.name,
10966            'port_override': self.port_override,
10967            'proxy_cluster_id': self.proxy_cluster_id,
10968            'region': self.region,
10969            'role_arn': self.role_arn,
10970            'role_external_id': self.role_external_id,
10971            'secret_store_id': self.secret_store_id,
10972            'subdomain': self.subdomain,
10973            'tags': self.tags,
10974        }
@classmethod
def from_dict(cls, d)
10976    @classmethod
10977    def from_dict(cls, d):
10978        return cls(
10979            bind_interface=d.get('bind_interface'),
10980            egress_filter=d.get('egress_filter'),
10981            endpoint=d.get('endpoint'),
10982            healthy=d.get('healthy'),
10983            id=d.get('id'),
10984            name=d.get('name'),
10985            port_override=d.get('port_override'),
10986            proxy_cluster_id=d.get('proxy_cluster_id'),
10987            region=d.get('region'),
10988            role_arn=d.get('role_arn'),
10989            role_external_id=d.get('role_external_id'),
10990            secret_store_id=d.get('secret_store_id'),
10991            subdomain=d.get('subdomain'),
10992            tags=d.get('tags'),
10993        )
class Elastic:
10996class Elastic:
10997    __slots__ = [
10998        'bind_interface',
10999        'egress_filter',
11000        'healthy',
11001        'hostname',
11002        'id',
11003        'name',
11004        'password',
11005        'port',
11006        'port_override',
11007        'proxy_cluster_id',
11008        'secret_store_id',
11009        'subdomain',
11010        'tags',
11011        'tls_required',
11012        'username',
11013    ]
11014
11015    def __init__(
11016        self,
11017        bind_interface=None,
11018        egress_filter=None,
11019        healthy=None,
11020        hostname=None,
11021        id=None,
11022        name=None,
11023        password=None,
11024        port=None,
11025        port_override=None,
11026        proxy_cluster_id=None,
11027        secret_store_id=None,
11028        subdomain=None,
11029        tags=None,
11030        tls_required=None,
11031        username=None,
11032    ):
11033        self.bind_interface = bind_interface if bind_interface is not None else ''
11034        '''
11035         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11036        '''
11037        self.egress_filter = egress_filter if egress_filter is not None else ''
11038        '''
11039         A filter applied to the routing logic to pin datasource to nodes.
11040        '''
11041        self.healthy = healthy if healthy is not None else False
11042        '''
11043         True if the datasource is reachable and the credentials are valid.
11044        '''
11045        self.hostname = hostname if hostname is not None else ''
11046        '''
11047         The host to dial to initiate a connection from the egress node to this resource.
11048        '''
11049        self.id = id if id is not None else ''
11050        '''
11051         Unique identifier of the Resource.
11052        '''
11053        self.name = name if name is not None else ''
11054        '''
11055         Unique human-readable name of the Resource.
11056        '''
11057        self.password = password if password is not None else ''
11058        '''
11059         The password to authenticate with.
11060        '''
11061        self.port = port if port is not None else 0
11062        '''
11063         The port to dial to initiate a connection from the egress node to this resource.
11064        '''
11065        self.port_override = port_override if port_override is not None else 0
11066        '''
11067         The local port used by clients to connect to this resource.
11068        '''
11069        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11070        '''
11071         ID of the proxy cluster for this resource, if any.
11072        '''
11073        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11074        '''
11075         ID of the secret store containing credentials for this resource, if any.
11076        '''
11077        self.subdomain = subdomain if subdomain is not None else ''
11078        '''
11079         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11080        '''
11081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11082        '''
11083         Tags is a map of key, value pairs.
11084        '''
11085        self.tls_required = tls_required if tls_required is not None else False
11086        '''
11087         If set, TLS must be used to connect to this resource.
11088        '''
11089        self.username = username if username is not None else ''
11090        '''
11091         The username to authenticate with.
11092        '''
11093
11094    def __repr__(self):
11095        return '<sdm.Elastic ' + \
11096            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11097            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11098            'healthy: ' + repr(self.healthy) + ' ' +\
11099            'hostname: ' + repr(self.hostname) + ' ' +\
11100            'id: ' + repr(self.id) + ' ' +\
11101            'name: ' + repr(self.name) + ' ' +\
11102            'password: ' + repr(self.password) + ' ' +\
11103            'port: ' + repr(self.port) + ' ' +\
11104            'port_override: ' + repr(self.port_override) + ' ' +\
11105            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11106            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11107            'subdomain: ' + repr(self.subdomain) + ' ' +\
11108            'tags: ' + repr(self.tags) + ' ' +\
11109            'tls_required: ' + repr(self.tls_required) + ' ' +\
11110            'username: ' + repr(self.username) + ' ' +\
11111            '>'
11112
11113    def to_dict(self):
11114        return {
11115            'bind_interface': self.bind_interface,
11116            'egress_filter': self.egress_filter,
11117            'healthy': self.healthy,
11118            'hostname': self.hostname,
11119            'id': self.id,
11120            'name': self.name,
11121            'password': self.password,
11122            'port': self.port,
11123            'port_override': self.port_override,
11124            'proxy_cluster_id': self.proxy_cluster_id,
11125            'secret_store_id': self.secret_store_id,
11126            'subdomain': self.subdomain,
11127            'tags': self.tags,
11128            'tls_required': self.tls_required,
11129            'username': self.username,
11130        }
11131
11132    @classmethod
11133    def from_dict(cls, d):
11134        return cls(
11135            bind_interface=d.get('bind_interface'),
11136            egress_filter=d.get('egress_filter'),
11137            healthy=d.get('healthy'),
11138            hostname=d.get('hostname'),
11139            id=d.get('id'),
11140            name=d.get('name'),
11141            password=d.get('password'),
11142            port=d.get('port'),
11143            port_override=d.get('port_override'),
11144            proxy_cluster_id=d.get('proxy_cluster_id'),
11145            secret_store_id=d.get('secret_store_id'),
11146            subdomain=d.get('subdomain'),
11147            tags=d.get('tags'),
11148            tls_required=d.get('tls_required'),
11149            username=d.get('username'),
11150        )
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)
11015    def __init__(
11016        self,
11017        bind_interface=None,
11018        egress_filter=None,
11019        healthy=None,
11020        hostname=None,
11021        id=None,
11022        name=None,
11023        password=None,
11024        port=None,
11025        port_override=None,
11026        proxy_cluster_id=None,
11027        secret_store_id=None,
11028        subdomain=None,
11029        tags=None,
11030        tls_required=None,
11031        username=None,
11032    ):
11033        self.bind_interface = bind_interface if bind_interface is not None else ''
11034        '''
11035         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11036        '''
11037        self.egress_filter = egress_filter if egress_filter is not None else ''
11038        '''
11039         A filter applied to the routing logic to pin datasource to nodes.
11040        '''
11041        self.healthy = healthy if healthy is not None else False
11042        '''
11043         True if the datasource is reachable and the credentials are valid.
11044        '''
11045        self.hostname = hostname if hostname is not None else ''
11046        '''
11047         The host to dial to initiate a connection from the egress node to this resource.
11048        '''
11049        self.id = id if id is not None else ''
11050        '''
11051         Unique identifier of the Resource.
11052        '''
11053        self.name = name if name is not None else ''
11054        '''
11055         Unique human-readable name of the Resource.
11056        '''
11057        self.password = password if password is not None else ''
11058        '''
11059         The password to authenticate with.
11060        '''
11061        self.port = port if port is not None else 0
11062        '''
11063         The port to dial to initiate a connection from the egress node to this resource.
11064        '''
11065        self.port_override = port_override if port_override is not None else 0
11066        '''
11067         The local port used by clients to connect to this resource.
11068        '''
11069        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11070        '''
11071         ID of the proxy cluster for this resource, if any.
11072        '''
11073        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11074        '''
11075         ID of the secret store containing credentials for this resource, if any.
11076        '''
11077        self.subdomain = subdomain if subdomain is not None else ''
11078        '''
11079         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11080        '''
11081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11082        '''
11083         Tags is a map of key, value pairs.
11084        '''
11085        self.tls_required = tls_required if tls_required is not None else False
11086        '''
11087         If set, TLS must be used to connect to this resource.
11088        '''
11089        self.username = username if username is not None else ''
11090        '''
11091         The username to authenticate with.
11092        '''
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)
11113    def to_dict(self):
11114        return {
11115            'bind_interface': self.bind_interface,
11116            'egress_filter': self.egress_filter,
11117            'healthy': self.healthy,
11118            'hostname': self.hostname,
11119            'id': self.id,
11120            'name': self.name,
11121            'password': self.password,
11122            'port': self.port,
11123            'port_override': self.port_override,
11124            'proxy_cluster_id': self.proxy_cluster_id,
11125            'secret_store_id': self.secret_store_id,
11126            'subdomain': self.subdomain,
11127            'tags': self.tags,
11128            'tls_required': self.tls_required,
11129            'username': self.username,
11130        }
@classmethod
def from_dict(cls, d)
11132    @classmethod
11133    def from_dict(cls, d):
11134        return cls(
11135            bind_interface=d.get('bind_interface'),
11136            egress_filter=d.get('egress_filter'),
11137            healthy=d.get('healthy'),
11138            hostname=d.get('hostname'),
11139            id=d.get('id'),
11140            name=d.get('name'),
11141            password=d.get('password'),
11142            port=d.get('port'),
11143            port_override=d.get('port_override'),
11144            proxy_cluster_id=d.get('proxy_cluster_id'),
11145            secret_store_id=d.get('secret_store_id'),
11146            subdomain=d.get('subdomain'),
11147            tags=d.get('tags'),
11148            tls_required=d.get('tls_required'),
11149            username=d.get('username'),
11150        )
class ElasticacheRedis:
11153class ElasticacheRedis:
11154    __slots__ = [
11155        'bind_interface',
11156        'egress_filter',
11157        'healthy',
11158        'hostname',
11159        'id',
11160        'name',
11161        'password',
11162        'port',
11163        'port_override',
11164        'proxy_cluster_id',
11165        'secret_store_id',
11166        'subdomain',
11167        'tags',
11168        'tls_required',
11169        'username',
11170    ]
11171
11172    def __init__(
11173        self,
11174        bind_interface=None,
11175        egress_filter=None,
11176        healthy=None,
11177        hostname=None,
11178        id=None,
11179        name=None,
11180        password=None,
11181        port=None,
11182        port_override=None,
11183        proxy_cluster_id=None,
11184        secret_store_id=None,
11185        subdomain=None,
11186        tags=None,
11187        tls_required=None,
11188        username=None,
11189    ):
11190        self.bind_interface = bind_interface if bind_interface is not None else ''
11191        '''
11192         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11193        '''
11194        self.egress_filter = egress_filter if egress_filter is not None else ''
11195        '''
11196         A filter applied to the routing logic to pin datasource to nodes.
11197        '''
11198        self.healthy = healthy if healthy is not None else False
11199        '''
11200         True if the datasource is reachable and the credentials are valid.
11201        '''
11202        self.hostname = hostname if hostname is not None else ''
11203        '''
11204         The host to dial to initiate a connection from the egress node to this resource.
11205        '''
11206        self.id = id if id is not None else ''
11207        '''
11208         Unique identifier of the Resource.
11209        '''
11210        self.name = name if name is not None else ''
11211        '''
11212         Unique human-readable name of the Resource.
11213        '''
11214        self.password = password if password is not None else ''
11215        '''
11216         The password to authenticate with.
11217        '''
11218        self.port = port if port is not None else 0
11219        '''
11220         The port to dial to initiate a connection from the egress node to this resource.
11221        '''
11222        self.port_override = port_override if port_override is not None else 0
11223        '''
11224         The local port used by clients to connect to this resource.
11225        '''
11226        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11227        '''
11228         ID of the proxy cluster for this resource, if any.
11229        '''
11230        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11231        '''
11232         ID of the secret store containing credentials for this resource, if any.
11233        '''
11234        self.subdomain = subdomain if subdomain is not None else ''
11235        '''
11236         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11237        '''
11238        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11239        '''
11240         Tags is a map of key, value pairs.
11241        '''
11242        self.tls_required = tls_required if tls_required is not None else False
11243        '''
11244         If set, TLS must be used to connect to this resource.
11245        '''
11246        self.username = username if username is not None else ''
11247        '''
11248         The username to authenticate with.
11249        '''
11250
11251    def __repr__(self):
11252        return '<sdm.ElasticacheRedis ' + \
11253            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11254            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11255            'healthy: ' + repr(self.healthy) + ' ' +\
11256            'hostname: ' + repr(self.hostname) + ' ' +\
11257            'id: ' + repr(self.id) + ' ' +\
11258            'name: ' + repr(self.name) + ' ' +\
11259            'password: ' + repr(self.password) + ' ' +\
11260            'port: ' + repr(self.port) + ' ' +\
11261            'port_override: ' + repr(self.port_override) + ' ' +\
11262            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11263            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11264            'subdomain: ' + repr(self.subdomain) + ' ' +\
11265            'tags: ' + repr(self.tags) + ' ' +\
11266            'tls_required: ' + repr(self.tls_required) + ' ' +\
11267            'username: ' + repr(self.username) + ' ' +\
11268            '>'
11269
11270    def to_dict(self):
11271        return {
11272            'bind_interface': self.bind_interface,
11273            'egress_filter': self.egress_filter,
11274            'healthy': self.healthy,
11275            'hostname': self.hostname,
11276            'id': self.id,
11277            'name': self.name,
11278            'password': self.password,
11279            'port': self.port,
11280            'port_override': self.port_override,
11281            'proxy_cluster_id': self.proxy_cluster_id,
11282            'secret_store_id': self.secret_store_id,
11283            'subdomain': self.subdomain,
11284            'tags': self.tags,
11285            'tls_required': self.tls_required,
11286            'username': self.username,
11287        }
11288
11289    @classmethod
11290    def from_dict(cls, d):
11291        return cls(
11292            bind_interface=d.get('bind_interface'),
11293            egress_filter=d.get('egress_filter'),
11294            healthy=d.get('healthy'),
11295            hostname=d.get('hostname'),
11296            id=d.get('id'),
11297            name=d.get('name'),
11298            password=d.get('password'),
11299            port=d.get('port'),
11300            port_override=d.get('port_override'),
11301            proxy_cluster_id=d.get('proxy_cluster_id'),
11302            secret_store_id=d.get('secret_store_id'),
11303            subdomain=d.get('subdomain'),
11304            tags=d.get('tags'),
11305            tls_required=d.get('tls_required'),
11306            username=d.get('username'),
11307        )
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)
11172    def __init__(
11173        self,
11174        bind_interface=None,
11175        egress_filter=None,
11176        healthy=None,
11177        hostname=None,
11178        id=None,
11179        name=None,
11180        password=None,
11181        port=None,
11182        port_override=None,
11183        proxy_cluster_id=None,
11184        secret_store_id=None,
11185        subdomain=None,
11186        tags=None,
11187        tls_required=None,
11188        username=None,
11189    ):
11190        self.bind_interface = bind_interface if bind_interface is not None else ''
11191        '''
11192         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11193        '''
11194        self.egress_filter = egress_filter if egress_filter is not None else ''
11195        '''
11196         A filter applied to the routing logic to pin datasource to nodes.
11197        '''
11198        self.healthy = healthy if healthy is not None else False
11199        '''
11200         True if the datasource is reachable and the credentials are valid.
11201        '''
11202        self.hostname = hostname if hostname is not None else ''
11203        '''
11204         The host to dial to initiate a connection from the egress node to this resource.
11205        '''
11206        self.id = id if id is not None else ''
11207        '''
11208         Unique identifier of the Resource.
11209        '''
11210        self.name = name if name is not None else ''
11211        '''
11212         Unique human-readable name of the Resource.
11213        '''
11214        self.password = password if password is not None else ''
11215        '''
11216         The password to authenticate with.
11217        '''
11218        self.port = port if port is not None else 0
11219        '''
11220         The port to dial to initiate a connection from the egress node to this resource.
11221        '''
11222        self.port_override = port_override if port_override is not None else 0
11223        '''
11224         The local port used by clients to connect to this resource.
11225        '''
11226        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11227        '''
11228         ID of the proxy cluster for this resource, if any.
11229        '''
11230        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11231        '''
11232         ID of the secret store containing credentials for this resource, if any.
11233        '''
11234        self.subdomain = subdomain if subdomain is not None else ''
11235        '''
11236         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11237        '''
11238        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11239        '''
11240         Tags is a map of key, value pairs.
11241        '''
11242        self.tls_required = tls_required if tls_required is not None else False
11243        '''
11244         If set, TLS must be used to connect to this resource.
11245        '''
11246        self.username = username if username is not None else ''
11247        '''
11248         The username to authenticate with.
11249        '''
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)
11270    def to_dict(self):
11271        return {
11272            'bind_interface': self.bind_interface,
11273            'egress_filter': self.egress_filter,
11274            'healthy': self.healthy,
11275            'hostname': self.hostname,
11276            'id': self.id,
11277            'name': self.name,
11278            'password': self.password,
11279            'port': self.port,
11280            'port_override': self.port_override,
11281            'proxy_cluster_id': self.proxy_cluster_id,
11282            'secret_store_id': self.secret_store_id,
11283            'subdomain': self.subdomain,
11284            'tags': self.tags,
11285            'tls_required': self.tls_required,
11286            'username': self.username,
11287        }
@classmethod
def from_dict(cls, d)
11289    @classmethod
11290    def from_dict(cls, d):
11291        return cls(
11292            bind_interface=d.get('bind_interface'),
11293            egress_filter=d.get('egress_filter'),
11294            healthy=d.get('healthy'),
11295            hostname=d.get('hostname'),
11296            id=d.get('id'),
11297            name=d.get('name'),
11298            password=d.get('password'),
11299            port=d.get('port'),
11300            port_override=d.get('port_override'),
11301            proxy_cluster_id=d.get('proxy_cluster_id'),
11302            secret_store_id=d.get('secret_store_id'),
11303            subdomain=d.get('subdomain'),
11304            tags=d.get('tags'),
11305            tls_required=d.get('tls_required'),
11306            username=d.get('username'),
11307        )
class GCP:
11310class GCP:
11311    __slots__ = [
11312        'bind_interface',
11313        'egress_filter',
11314        'healthy',
11315        'id',
11316        'keyfile',
11317        'name',
11318        'port_override',
11319        'proxy_cluster_id',
11320        'scopes',
11321        'secret_store_id',
11322        'subdomain',
11323        'tags',
11324    ]
11325
11326    def __init__(
11327        self,
11328        bind_interface=None,
11329        egress_filter=None,
11330        healthy=None,
11331        id=None,
11332        keyfile=None,
11333        name=None,
11334        port_override=None,
11335        proxy_cluster_id=None,
11336        scopes=None,
11337        secret_store_id=None,
11338        subdomain=None,
11339        tags=None,
11340    ):
11341        self.bind_interface = bind_interface if bind_interface is not None else ''
11342        '''
11343         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11344        '''
11345        self.egress_filter = egress_filter if egress_filter is not None else ''
11346        '''
11347         A filter applied to the routing logic to pin datasource to nodes.
11348        '''
11349        self.healthy = healthy if healthy is not None else False
11350        '''
11351         True if the datasource is reachable and the credentials are valid.
11352        '''
11353        self.id = id if id is not None else ''
11354        '''
11355         Unique identifier of the Resource.
11356        '''
11357        self.keyfile = keyfile if keyfile is not None else ''
11358        '''
11359         The service account keyfile to authenticate with.
11360        '''
11361        self.name = name if name is not None else ''
11362        '''
11363         Unique human-readable name of the Resource.
11364        '''
11365        self.port_override = port_override if port_override is not None else 0
11366        '''
11367         The local port used by clients to connect to this resource.
11368        '''
11369        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11370        '''
11371         ID of the proxy cluster for this resource, if any.
11372        '''
11373        self.scopes = scopes if scopes is not None else ''
11374        '''
11375         Space separated scopes that this login should assume into when authenticating.
11376        '''
11377        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11378        '''
11379         ID of the secret store containing credentials for this resource, if any.
11380        '''
11381        self.subdomain = subdomain if subdomain is not None else ''
11382        '''
11383         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11384        '''
11385        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11386        '''
11387         Tags is a map of key, value pairs.
11388        '''
11389
11390    def __repr__(self):
11391        return '<sdm.GCP ' + \
11392            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11393            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11394            'healthy: ' + repr(self.healthy) + ' ' +\
11395            'id: ' + repr(self.id) + ' ' +\
11396            'keyfile: ' + repr(self.keyfile) + ' ' +\
11397            'name: ' + repr(self.name) + ' ' +\
11398            'port_override: ' + repr(self.port_override) + ' ' +\
11399            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11400            'scopes: ' + repr(self.scopes) + ' ' +\
11401            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11402            'subdomain: ' + repr(self.subdomain) + ' ' +\
11403            'tags: ' + repr(self.tags) + ' ' +\
11404            '>'
11405
11406    def to_dict(self):
11407        return {
11408            'bind_interface': self.bind_interface,
11409            'egress_filter': self.egress_filter,
11410            'healthy': self.healthy,
11411            'id': self.id,
11412            'keyfile': self.keyfile,
11413            'name': self.name,
11414            'port_override': self.port_override,
11415            'proxy_cluster_id': self.proxy_cluster_id,
11416            'scopes': self.scopes,
11417            'secret_store_id': self.secret_store_id,
11418            'subdomain': self.subdomain,
11419            'tags': self.tags,
11420        }
11421
11422    @classmethod
11423    def from_dict(cls, d):
11424        return cls(
11425            bind_interface=d.get('bind_interface'),
11426            egress_filter=d.get('egress_filter'),
11427            healthy=d.get('healthy'),
11428            id=d.get('id'),
11429            keyfile=d.get('keyfile'),
11430            name=d.get('name'),
11431            port_override=d.get('port_override'),
11432            proxy_cluster_id=d.get('proxy_cluster_id'),
11433            scopes=d.get('scopes'),
11434            secret_store_id=d.get('secret_store_id'),
11435            subdomain=d.get('subdomain'),
11436            tags=d.get('tags'),
11437        )
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)
11326    def __init__(
11327        self,
11328        bind_interface=None,
11329        egress_filter=None,
11330        healthy=None,
11331        id=None,
11332        keyfile=None,
11333        name=None,
11334        port_override=None,
11335        proxy_cluster_id=None,
11336        scopes=None,
11337        secret_store_id=None,
11338        subdomain=None,
11339        tags=None,
11340    ):
11341        self.bind_interface = bind_interface if bind_interface is not None else ''
11342        '''
11343         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11344        '''
11345        self.egress_filter = egress_filter if egress_filter is not None else ''
11346        '''
11347         A filter applied to the routing logic to pin datasource to nodes.
11348        '''
11349        self.healthy = healthy if healthy is not None else False
11350        '''
11351         True if the datasource is reachable and the credentials are valid.
11352        '''
11353        self.id = id if id is not None else ''
11354        '''
11355         Unique identifier of the Resource.
11356        '''
11357        self.keyfile = keyfile if keyfile is not None else ''
11358        '''
11359         The service account keyfile to authenticate with.
11360        '''
11361        self.name = name if name is not None else ''
11362        '''
11363         Unique human-readable name of the Resource.
11364        '''
11365        self.port_override = port_override if port_override is not None else 0
11366        '''
11367         The local port used by clients to connect to this resource.
11368        '''
11369        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11370        '''
11371         ID of the proxy cluster for this resource, if any.
11372        '''
11373        self.scopes = scopes if scopes is not None else ''
11374        '''
11375         Space separated scopes that this login should assume into when authenticating.
11376        '''
11377        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11378        '''
11379         ID of the secret store containing credentials for this resource, if any.
11380        '''
11381        self.subdomain = subdomain if subdomain is not None else ''
11382        '''
11383         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11384        '''
11385        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11386        '''
11387         Tags is a map of key, value pairs.
11388        '''
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)
11406    def to_dict(self):
11407        return {
11408            'bind_interface': self.bind_interface,
11409            'egress_filter': self.egress_filter,
11410            'healthy': self.healthy,
11411            'id': self.id,
11412            'keyfile': self.keyfile,
11413            'name': self.name,
11414            'port_override': self.port_override,
11415            'proxy_cluster_id': self.proxy_cluster_id,
11416            'scopes': self.scopes,
11417            'secret_store_id': self.secret_store_id,
11418            'subdomain': self.subdomain,
11419            'tags': self.tags,
11420        }
@classmethod
def from_dict(cls, d)
11422    @classmethod
11423    def from_dict(cls, d):
11424        return cls(
11425            bind_interface=d.get('bind_interface'),
11426            egress_filter=d.get('egress_filter'),
11427            healthy=d.get('healthy'),
11428            id=d.get('id'),
11429            keyfile=d.get('keyfile'),
11430            name=d.get('name'),
11431            port_override=d.get('port_override'),
11432            proxy_cluster_id=d.get('proxy_cluster_id'),
11433            scopes=d.get('scopes'),
11434            secret_store_id=d.get('secret_store_id'),
11435            subdomain=d.get('subdomain'),
11436            tags=d.get('tags'),
11437        )
class GCPCertX509Store:
11440class GCPCertX509Store:
11441    __slots__ = [
11442        'caid',
11443        'capoolid',
11444        'id',
11445        'issuedcertttlminutes',
11446        'location',
11447        'name',
11448        'projectid',
11449        'tags',
11450    ]
11451
11452    def __init__(
11453        self,
11454        caid=None,
11455        capoolid=None,
11456        id=None,
11457        issuedcertttlminutes=None,
11458        location=None,
11459        name=None,
11460        projectid=None,
11461        tags=None,
11462    ):
11463        self.caid = caid if caid is not None else ''
11464        '''
11465         The ID of the target CA
11466        '''
11467        self.capoolid = capoolid if capoolid is not None else ''
11468        '''
11469         The ID of the target CA pool
11470        '''
11471        self.id = id if id is not None else ''
11472        '''
11473         Unique identifier of the SecretStore.
11474        '''
11475        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
11476        '''
11477         The lifetime of certificates issued by this CA represented in minutes.
11478        '''
11479        self.location = location if location is not None else ''
11480        '''
11481         The Region for the CA in GCP format e.g. us-west1
11482        '''
11483        self.name = name if name is not None else ''
11484        '''
11485         Unique human-readable name of the SecretStore.
11486        '''
11487        self.projectid = projectid if projectid is not None else ''
11488        '''
11489         The GCP project ID to target.
11490        '''
11491        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11492        '''
11493         Tags is a map of key, value pairs.
11494        '''
11495
11496    def __repr__(self):
11497        return '<sdm.GCPCertX509Store ' + \
11498            'caid: ' + repr(self.caid) + ' ' +\
11499            'capoolid: ' + repr(self.capoolid) + ' ' +\
11500            'id: ' + repr(self.id) + ' ' +\
11501            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
11502            'location: ' + repr(self.location) + ' ' +\
11503            'name: ' + repr(self.name) + ' ' +\
11504            'projectid: ' + repr(self.projectid) + ' ' +\
11505            'tags: ' + repr(self.tags) + ' ' +\
11506            '>'
11507
11508    def to_dict(self):
11509        return {
11510            'caid': self.caid,
11511            'capoolid': self.capoolid,
11512            'id': self.id,
11513            'issuedcertttlminutes': self.issuedcertttlminutes,
11514            'location': self.location,
11515            'name': self.name,
11516            'projectid': self.projectid,
11517            'tags': self.tags,
11518        }
11519
11520    @classmethod
11521    def from_dict(cls, d):
11522        return cls(
11523            caid=d.get('caid'),
11524            capoolid=d.get('capoolid'),
11525            id=d.get('id'),
11526            issuedcertttlminutes=d.get('issuedcertttlminutes'),
11527            location=d.get('location'),
11528            name=d.get('name'),
11529            projectid=d.get('projectid'),
11530            tags=d.get('tags'),
11531        )
GCPCertX509Store( caid=None, capoolid=None, id=None, issuedcertttlminutes=None, location=None, name=None, projectid=None, tags=None)
11452    def __init__(
11453        self,
11454        caid=None,
11455        capoolid=None,
11456        id=None,
11457        issuedcertttlminutes=None,
11458        location=None,
11459        name=None,
11460        projectid=None,
11461        tags=None,
11462    ):
11463        self.caid = caid if caid is not None else ''
11464        '''
11465         The ID of the target CA
11466        '''
11467        self.capoolid = capoolid if capoolid is not None else ''
11468        '''
11469         The ID of the target CA pool
11470        '''
11471        self.id = id if id is not None else ''
11472        '''
11473         Unique identifier of the SecretStore.
11474        '''
11475        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
11476        '''
11477         The lifetime of certificates issued by this CA represented in minutes.
11478        '''
11479        self.location = location if location is not None else ''
11480        '''
11481         The Region for the CA in GCP format e.g. us-west1
11482        '''
11483        self.name = name if name is not None else ''
11484        '''
11485         Unique human-readable name of the SecretStore.
11486        '''
11487        self.projectid = projectid if projectid is not None else ''
11488        '''
11489         The GCP project ID to target.
11490        '''
11491        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11492        '''
11493         Tags is a map of key, value pairs.
11494        '''
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)
11508    def to_dict(self):
11509        return {
11510            'caid': self.caid,
11511            'capoolid': self.capoolid,
11512            'id': self.id,
11513            'issuedcertttlminutes': self.issuedcertttlminutes,
11514            'location': self.location,
11515            'name': self.name,
11516            'projectid': self.projectid,
11517            'tags': self.tags,
11518        }
@classmethod
def from_dict(cls, d)
11520    @classmethod
11521    def from_dict(cls, d):
11522        return cls(
11523            caid=d.get('caid'),
11524            capoolid=d.get('capoolid'),
11525            id=d.get('id'),
11526            issuedcertttlminutes=d.get('issuedcertttlminutes'),
11527            location=d.get('location'),
11528            name=d.get('name'),
11529            projectid=d.get('projectid'),
11530            tags=d.get('tags'),
11531        )
class GCPConsole:
11534class GCPConsole:
11535    __slots__ = [
11536        'bind_interface',
11537        'egress_filter',
11538        'healthy',
11539        'id',
11540        'identity_alias_healthcheck_username',
11541        'identity_set_id',
11542        'name',
11543        'port_override',
11544        'proxy_cluster_id',
11545        'secret_store_id',
11546        'session_expiry',
11547        'subdomain',
11548        'tags',
11549        'workforce_pool_id',
11550        'workforce_provider_id',
11551    ]
11552
11553    def __init__(
11554        self,
11555        bind_interface=None,
11556        egress_filter=None,
11557        healthy=None,
11558        id=None,
11559        identity_alias_healthcheck_username=None,
11560        identity_set_id=None,
11561        name=None,
11562        port_override=None,
11563        proxy_cluster_id=None,
11564        secret_store_id=None,
11565        session_expiry=None,
11566        subdomain=None,
11567        tags=None,
11568        workforce_pool_id=None,
11569        workforce_provider_id=None,
11570    ):
11571        self.bind_interface = bind_interface if bind_interface is not None else ''
11572        '''
11573         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11574        '''
11575        self.egress_filter = egress_filter if egress_filter is not None else ''
11576        '''
11577         A filter applied to the routing logic to pin datasource to nodes.
11578        '''
11579        self.healthy = healthy if healthy is not None else False
11580        '''
11581         True if the datasource is reachable and the credentials are valid.
11582        '''
11583        self.id = id if id is not None else ''
11584        '''
11585         Unique identifier of the Resource.
11586        '''
11587        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
11588        '''
11589         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
11590        '''
11591        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
11592        '''
11593         The ID of the identity set to use for identity connections.
11594        '''
11595        self.name = name if name is not None else ''
11596        '''
11597         Unique human-readable name of the Resource.
11598        '''
11599        self.port_override = port_override if port_override is not None else 0
11600        '''
11601         The local port used by clients to connect to this resource.
11602        '''
11603        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11604        '''
11605         ID of the proxy cluster for this resource, if any.
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.session_expiry = session_expiry if session_expiry is not None else 0
11612        '''
11613         The length of time in seconds console sessions will live before needing to reauthenticate.
11614        '''
11615        self.subdomain = subdomain if subdomain is not None else ''
11616        '''
11617         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11618        '''
11619        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11620        '''
11621         Tags is a map of key, value pairs.
11622        '''
11623        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
11624        '''
11625         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
11626        '''
11627        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
11628        '''
11629         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
11630        '''
11631
11632    def __repr__(self):
11633        return '<sdm.GCPConsole ' + \
11634            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11635            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11636            'healthy: ' + repr(self.healthy) + ' ' +\
11637            'id: ' + repr(self.id) + ' ' +\
11638            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
11639            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
11640            'name: ' + repr(self.name) + ' ' +\
11641            'port_override: ' + repr(self.port_override) + ' ' +\
11642            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11643            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11644            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
11645            'subdomain: ' + repr(self.subdomain) + ' ' +\
11646            'tags: ' + repr(self.tags) + ' ' +\
11647            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
11648            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
11649            '>'
11650
11651    def to_dict(self):
11652        return {
11653            'bind_interface': self.bind_interface,
11654            'egress_filter': self.egress_filter,
11655            'healthy': self.healthy,
11656            'id': self.id,
11657            'identity_alias_healthcheck_username':
11658            self.identity_alias_healthcheck_username,
11659            'identity_set_id': self.identity_set_id,
11660            'name': self.name,
11661            'port_override': self.port_override,
11662            'proxy_cluster_id': self.proxy_cluster_id,
11663            'secret_store_id': self.secret_store_id,
11664            'session_expiry': self.session_expiry,
11665            'subdomain': self.subdomain,
11666            'tags': self.tags,
11667            'workforce_pool_id': self.workforce_pool_id,
11668            'workforce_provider_id': self.workforce_provider_id,
11669        }
11670
11671    @classmethod
11672    def from_dict(cls, d):
11673        return cls(
11674            bind_interface=d.get('bind_interface'),
11675            egress_filter=d.get('egress_filter'),
11676            healthy=d.get('healthy'),
11677            id=d.get('id'),
11678            identity_alias_healthcheck_username=d.get(
11679                'identity_alias_healthcheck_username'),
11680            identity_set_id=d.get('identity_set_id'),
11681            name=d.get('name'),
11682            port_override=d.get('port_override'),
11683            proxy_cluster_id=d.get('proxy_cluster_id'),
11684            secret_store_id=d.get('secret_store_id'),
11685            session_expiry=d.get('session_expiry'),
11686            subdomain=d.get('subdomain'),
11687            tags=d.get('tags'),
11688            workforce_pool_id=d.get('workforce_pool_id'),
11689            workforce_provider_id=d.get('workforce_provider_id'),
11690        )
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)
11553    def __init__(
11554        self,
11555        bind_interface=None,
11556        egress_filter=None,
11557        healthy=None,
11558        id=None,
11559        identity_alias_healthcheck_username=None,
11560        identity_set_id=None,
11561        name=None,
11562        port_override=None,
11563        proxy_cluster_id=None,
11564        secret_store_id=None,
11565        session_expiry=None,
11566        subdomain=None,
11567        tags=None,
11568        workforce_pool_id=None,
11569        workforce_provider_id=None,
11570    ):
11571        self.bind_interface = bind_interface if bind_interface is not None else ''
11572        '''
11573         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11574        '''
11575        self.egress_filter = egress_filter if egress_filter is not None else ''
11576        '''
11577         A filter applied to the routing logic to pin datasource to nodes.
11578        '''
11579        self.healthy = healthy if healthy is not None else False
11580        '''
11581         True if the datasource is reachable and the credentials are valid.
11582        '''
11583        self.id = id if id is not None else ''
11584        '''
11585         Unique identifier of the Resource.
11586        '''
11587        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
11588        '''
11589         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
11590        '''
11591        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
11592        '''
11593         The ID of the identity set to use for identity connections.
11594        '''
11595        self.name = name if name is not None else ''
11596        '''
11597         Unique human-readable name of the Resource.
11598        '''
11599        self.port_override = port_override if port_override is not None else 0
11600        '''
11601         The local port used by clients to connect to this resource.
11602        '''
11603        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11604        '''
11605         ID of the proxy cluster for this resource, if any.
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.session_expiry = session_expiry if session_expiry is not None else 0
11612        '''
11613         The length of time in seconds console sessions will live before needing to reauthenticate.
11614        '''
11615        self.subdomain = subdomain if subdomain is not None else ''
11616        '''
11617         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11618        '''
11619        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11620        '''
11621         Tags is a map of key, value pairs.
11622        '''
11623        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
11624        '''
11625         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
11626        '''
11627        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
11628        '''
11629         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
11630        '''
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)
11651    def to_dict(self):
11652        return {
11653            'bind_interface': self.bind_interface,
11654            'egress_filter': self.egress_filter,
11655            'healthy': self.healthy,
11656            'id': self.id,
11657            'identity_alias_healthcheck_username':
11658            self.identity_alias_healthcheck_username,
11659            'identity_set_id': self.identity_set_id,
11660            'name': self.name,
11661            'port_override': self.port_override,
11662            'proxy_cluster_id': self.proxy_cluster_id,
11663            'secret_store_id': self.secret_store_id,
11664            'session_expiry': self.session_expiry,
11665            'subdomain': self.subdomain,
11666            'tags': self.tags,
11667            'workforce_pool_id': self.workforce_pool_id,
11668            'workforce_provider_id': self.workforce_provider_id,
11669        }
@classmethod
def from_dict(cls, d)
11671    @classmethod
11672    def from_dict(cls, d):
11673        return cls(
11674            bind_interface=d.get('bind_interface'),
11675            egress_filter=d.get('egress_filter'),
11676            healthy=d.get('healthy'),
11677            id=d.get('id'),
11678            identity_alias_healthcheck_username=d.get(
11679                'identity_alias_healthcheck_username'),
11680            identity_set_id=d.get('identity_set_id'),
11681            name=d.get('name'),
11682            port_override=d.get('port_override'),
11683            proxy_cluster_id=d.get('proxy_cluster_id'),
11684            secret_store_id=d.get('secret_store_id'),
11685            session_expiry=d.get('session_expiry'),
11686            subdomain=d.get('subdomain'),
11687            tags=d.get('tags'),
11688            workforce_pool_id=d.get('workforce_pool_id'),
11689            workforce_provider_id=d.get('workforce_provider_id'),
11690        )
class GCPStore:
11693class GCPStore:
11694    __slots__ = [
11695        'id',
11696        'name',
11697        'projectid',
11698        'tags',
11699    ]
11700
11701    def __init__(
11702        self,
11703        id=None,
11704        name=None,
11705        projectid=None,
11706        tags=None,
11707    ):
11708        self.id = id if id is not None else ''
11709        '''
11710         Unique identifier of the SecretStore.
11711        '''
11712        self.name = name if name is not None else ''
11713        '''
11714         Unique human-readable name of the SecretStore.
11715        '''
11716        self.projectid = projectid if projectid is not None else ''
11717        '''
11718         The GCP project ID to target.
11719        '''
11720        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11721        '''
11722         Tags is a map of key, value pairs.
11723        '''
11724
11725    def __repr__(self):
11726        return '<sdm.GCPStore ' + \
11727            'id: ' + repr(self.id) + ' ' +\
11728            'name: ' + repr(self.name) + ' ' +\
11729            'projectid: ' + repr(self.projectid) + ' ' +\
11730            'tags: ' + repr(self.tags) + ' ' +\
11731            '>'
11732
11733    def to_dict(self):
11734        return {
11735            'id': self.id,
11736            'name': self.name,
11737            'projectid': self.projectid,
11738            'tags': self.tags,
11739        }
11740
11741    @classmethod
11742    def from_dict(cls, d):
11743        return cls(
11744            id=d.get('id'),
11745            name=d.get('name'),
11746            projectid=d.get('projectid'),
11747            tags=d.get('tags'),
11748        )
GCPStore(id=None, name=None, projectid=None, tags=None)
11701    def __init__(
11702        self,
11703        id=None,
11704        name=None,
11705        projectid=None,
11706        tags=None,
11707    ):
11708        self.id = id if id is not None else ''
11709        '''
11710         Unique identifier of the SecretStore.
11711        '''
11712        self.name = name if name is not None else ''
11713        '''
11714         Unique human-readable name of the SecretStore.
11715        '''
11716        self.projectid = projectid if projectid is not None else ''
11717        '''
11718         The GCP project ID to target.
11719        '''
11720        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11721        '''
11722         Tags is a map of key, value pairs.
11723        '''
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)
11733    def to_dict(self):
11734        return {
11735            'id': self.id,
11736            'name': self.name,
11737            'projectid': self.projectid,
11738            'tags': self.tags,
11739        }
@classmethod
def from_dict(cls, d)
11741    @classmethod
11742    def from_dict(cls, d):
11743        return cls(
11744            id=d.get('id'),
11745            name=d.get('name'),
11746            projectid=d.get('projectid'),
11747            tags=d.get('tags'),
11748        )
class GCPWIF:
11751class GCPWIF:
11752    __slots__ = [
11753        'bind_interface',
11754        'egress_filter',
11755        'healthy',
11756        'id',
11757        'identity_alias_healthcheck_username',
11758        'identity_set_id',
11759        'name',
11760        'port_override',
11761        'project_id',
11762        'proxy_cluster_id',
11763        'scopes',
11764        'secret_store_id',
11765        'session_expiry',
11766        'subdomain',
11767        'tags',
11768        'workforce_pool_id',
11769        'workforce_provider_id',
11770    ]
11771
11772    def __init__(
11773        self,
11774        bind_interface=None,
11775        egress_filter=None,
11776        healthy=None,
11777        id=None,
11778        identity_alias_healthcheck_username=None,
11779        identity_set_id=None,
11780        name=None,
11781        port_override=None,
11782        project_id=None,
11783        proxy_cluster_id=None,
11784        scopes=None,
11785        secret_store_id=None,
11786        session_expiry=None,
11787        subdomain=None,
11788        tags=None,
11789        workforce_pool_id=None,
11790        workforce_provider_id=None,
11791    ):
11792        self.bind_interface = bind_interface if bind_interface is not None else ''
11793        '''
11794         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11795        '''
11796        self.egress_filter = egress_filter if egress_filter is not None else ''
11797        '''
11798         A filter applied to the routing logic to pin datasource to nodes.
11799        '''
11800        self.healthy = healthy if healthy is not None else False
11801        '''
11802         True if the datasource is reachable and the credentials are valid.
11803        '''
11804        self.id = id if id is not None else ''
11805        '''
11806         Unique identifier of the Resource.
11807        '''
11808        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
11809        '''
11810         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
11811        '''
11812        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
11813        '''
11814         The ID of the identity set to use for identity connections.
11815        '''
11816        self.name = name if name is not None else ''
11817        '''
11818         Unique human-readable name of the Resource.
11819        '''
11820        self.port_override = port_override if port_override is not None else 0
11821        '''
11822         The local port used by clients to connect to this resource.
11823        '''
11824        self.project_id = project_id if project_id is not None else ''
11825        '''
11826         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
11827        '''
11828        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11829        '''
11830         ID of the proxy cluster for this resource, if any.
11831        '''
11832        self.scopes = scopes if scopes is not None else ''
11833        '''
11834         Space separated scopes that this login should assume into when authenticating.
11835        '''
11836        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11837        '''
11838         ID of the secret store containing credentials for this resource, if any.
11839        '''
11840        self.session_expiry = session_expiry if session_expiry is not None else 0
11841        '''
11842         The length of time in seconds console sessions will live before needing to reauthenticate.
11843        '''
11844        self.subdomain = subdomain if subdomain is not None else ''
11845        '''
11846         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11847        '''
11848        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11849        '''
11850         Tags is a map of key, value pairs.
11851        '''
11852        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
11853        '''
11854         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
11855        '''
11856        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
11857        '''
11858         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
11859        '''
11860
11861    def __repr__(self):
11862        return '<sdm.GCPWIF ' + \
11863            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11864            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11865            'healthy: ' + repr(self.healthy) + ' ' +\
11866            'id: ' + repr(self.id) + ' ' +\
11867            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
11868            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
11869            'name: ' + repr(self.name) + ' ' +\
11870            'port_override: ' + repr(self.port_override) + ' ' +\
11871            'project_id: ' + repr(self.project_id) + ' ' +\
11872            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11873            'scopes: ' + repr(self.scopes) + ' ' +\
11874            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11875            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
11876            'subdomain: ' + repr(self.subdomain) + ' ' +\
11877            'tags: ' + repr(self.tags) + ' ' +\
11878            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
11879            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
11880            '>'
11881
11882    def to_dict(self):
11883        return {
11884            'bind_interface': self.bind_interface,
11885            'egress_filter': self.egress_filter,
11886            'healthy': self.healthy,
11887            'id': self.id,
11888            'identity_alias_healthcheck_username':
11889            self.identity_alias_healthcheck_username,
11890            'identity_set_id': self.identity_set_id,
11891            'name': self.name,
11892            'port_override': self.port_override,
11893            'project_id': self.project_id,
11894            'proxy_cluster_id': self.proxy_cluster_id,
11895            'scopes': self.scopes,
11896            'secret_store_id': self.secret_store_id,
11897            'session_expiry': self.session_expiry,
11898            'subdomain': self.subdomain,
11899            'tags': self.tags,
11900            'workforce_pool_id': self.workforce_pool_id,
11901            'workforce_provider_id': self.workforce_provider_id,
11902        }
11903
11904    @classmethod
11905    def from_dict(cls, d):
11906        return cls(
11907            bind_interface=d.get('bind_interface'),
11908            egress_filter=d.get('egress_filter'),
11909            healthy=d.get('healthy'),
11910            id=d.get('id'),
11911            identity_alias_healthcheck_username=d.get(
11912                'identity_alias_healthcheck_username'),
11913            identity_set_id=d.get('identity_set_id'),
11914            name=d.get('name'),
11915            port_override=d.get('port_override'),
11916            project_id=d.get('project_id'),
11917            proxy_cluster_id=d.get('proxy_cluster_id'),
11918            scopes=d.get('scopes'),
11919            secret_store_id=d.get('secret_store_id'),
11920            session_expiry=d.get('session_expiry'),
11921            subdomain=d.get('subdomain'),
11922            tags=d.get('tags'),
11923            workforce_pool_id=d.get('workforce_pool_id'),
11924            workforce_provider_id=d.get('workforce_provider_id'),
11925        )
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)
11772    def __init__(
11773        self,
11774        bind_interface=None,
11775        egress_filter=None,
11776        healthy=None,
11777        id=None,
11778        identity_alias_healthcheck_username=None,
11779        identity_set_id=None,
11780        name=None,
11781        port_override=None,
11782        project_id=None,
11783        proxy_cluster_id=None,
11784        scopes=None,
11785        secret_store_id=None,
11786        session_expiry=None,
11787        subdomain=None,
11788        tags=None,
11789        workforce_pool_id=None,
11790        workforce_provider_id=None,
11791    ):
11792        self.bind_interface = bind_interface if bind_interface is not None else ''
11793        '''
11794         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11795        '''
11796        self.egress_filter = egress_filter if egress_filter is not None else ''
11797        '''
11798         A filter applied to the routing logic to pin datasource to nodes.
11799        '''
11800        self.healthy = healthy if healthy is not None else False
11801        '''
11802         True if the datasource is reachable and the credentials are valid.
11803        '''
11804        self.id = id if id is not None else ''
11805        '''
11806         Unique identifier of the Resource.
11807        '''
11808        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
11809        '''
11810         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
11811        '''
11812        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
11813        '''
11814         The ID of the identity set to use for identity connections.
11815        '''
11816        self.name = name if name is not None else ''
11817        '''
11818         Unique human-readable name of the Resource.
11819        '''
11820        self.port_override = port_override if port_override is not None else 0
11821        '''
11822         The local port used by clients to connect to this resource.
11823        '''
11824        self.project_id = project_id if project_id is not None else ''
11825        '''
11826         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
11827        '''
11828        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11829        '''
11830         ID of the proxy cluster for this resource, if any.
11831        '''
11832        self.scopes = scopes if scopes is not None else ''
11833        '''
11834         Space separated scopes that this login should assume into when authenticating.
11835        '''
11836        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11837        '''
11838         ID of the secret store containing credentials for this resource, if any.
11839        '''
11840        self.session_expiry = session_expiry if session_expiry is not None else 0
11841        '''
11842         The length of time in seconds console sessions will live before needing to reauthenticate.
11843        '''
11844        self.subdomain = subdomain if subdomain is not None else ''
11845        '''
11846         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11847        '''
11848        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11849        '''
11850         Tags is a map of key, value pairs.
11851        '''
11852        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
11853        '''
11854         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
11855        '''
11856        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
11857        '''
11858         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
11859        '''
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)
11882    def to_dict(self):
11883        return {
11884            'bind_interface': self.bind_interface,
11885            'egress_filter': self.egress_filter,
11886            'healthy': self.healthy,
11887            'id': self.id,
11888            'identity_alias_healthcheck_username':
11889            self.identity_alias_healthcheck_username,
11890            'identity_set_id': self.identity_set_id,
11891            'name': self.name,
11892            'port_override': self.port_override,
11893            'project_id': self.project_id,
11894            'proxy_cluster_id': self.proxy_cluster_id,
11895            'scopes': self.scopes,
11896            'secret_store_id': self.secret_store_id,
11897            'session_expiry': self.session_expiry,
11898            'subdomain': self.subdomain,
11899            'tags': self.tags,
11900            'workforce_pool_id': self.workforce_pool_id,
11901            'workforce_provider_id': self.workforce_provider_id,
11902        }
@classmethod
def from_dict(cls, d)
11904    @classmethod
11905    def from_dict(cls, d):
11906        return cls(
11907            bind_interface=d.get('bind_interface'),
11908            egress_filter=d.get('egress_filter'),
11909            healthy=d.get('healthy'),
11910            id=d.get('id'),
11911            identity_alias_healthcheck_username=d.get(
11912                'identity_alias_healthcheck_username'),
11913            identity_set_id=d.get('identity_set_id'),
11914            name=d.get('name'),
11915            port_override=d.get('port_override'),
11916            project_id=d.get('project_id'),
11917            proxy_cluster_id=d.get('proxy_cluster_id'),
11918            scopes=d.get('scopes'),
11919            secret_store_id=d.get('secret_store_id'),
11920            session_expiry=d.get('session_expiry'),
11921            subdomain=d.get('subdomain'),
11922            tags=d.get('tags'),
11923            workforce_pool_id=d.get('workforce_pool_id'),
11924            workforce_provider_id=d.get('workforce_provider_id'),
11925        )
class Gateway:
11928class Gateway:
11929    '''
11930         Gateway represents a StrongDM CLI installation running in gateway mode.
11931    '''
11932    __slots__ = [
11933        'bind_address',
11934        'device',
11935        'gateway_filter',
11936        'id',
11937        'listen_address',
11938        'location',
11939        'maintenance_windows',
11940        'name',
11941        'state',
11942        'tags',
11943        'version',
11944    ]
11945
11946    def __init__(
11947        self,
11948        bind_address=None,
11949        device=None,
11950        gateway_filter=None,
11951        id=None,
11952        listen_address=None,
11953        location=None,
11954        maintenance_windows=None,
11955        name=None,
11956        state=None,
11957        tags=None,
11958        version=None,
11959    ):
11960        self.bind_address = bind_address if bind_address is not None else ''
11961        '''
11962         The hostname/port tuple which the gateway daemon will bind to.
11963         If not provided on create, set to "0.0.0.0:listen_address_port".
11964        '''
11965        self.device = device if device is not None else ''
11966        '''
11967         Device is a read only device name uploaded by the gateway process when
11968         it comes online.
11969        '''
11970        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
11971        '''
11972         GatewayFilter can be used to restrict the peering between relays and
11973         gateways. Deprecated.
11974        '''
11975        self.id = id if id is not None else ''
11976        '''
11977         Unique identifier of the Gateway.
11978        '''
11979        self.listen_address = listen_address if listen_address is not None else ''
11980        '''
11981         The public hostname/port tuple at which the gateway will be accessible to clients.
11982        '''
11983        self.location = location if location is not None else ''
11984        '''
11985         Location is a read only network location uploaded by the gateway process
11986         when it comes online.
11987        '''
11988        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
11989        '''
11990         Maintenance Windows define when this node is allowed to restart. If a node
11991         is requested to restart, it will check each window to determine if any of
11992         them permit it to restart, and if any do, it will. This check is repeated
11993         per window until the restart is successfully completed.
11994         
11995         If not set here, may be set on the command line or via an environment variable
11996         on the process itself; any server setting will take precedence over local
11997         settings. This setting is ineffective for nodes below version 38.44.0.
11998         
11999         If this setting is not applied via this remote configuration or via local
12000         configuration, the default setting is used: always allow restarts if serving
12001         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12002        '''
12003        self.name = name if name is not None else ''
12004        '''
12005         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.
12006        '''
12007        self.state = state if state is not None else ''
12008        '''
12009         The current state of the gateway. One of: "new", "verifying_restart",
12010         "restarting", "started", "stopped", "dead", "unknown"
12011        '''
12012        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12013        '''
12014         Tags is a map of key, value pairs.
12015        '''
12016        self.version = version if version is not None else ''
12017        '''
12018         Version is a read only sdm binary version uploaded by the gateway process
12019         when it comes online.
12020        '''
12021
12022    def __repr__(self):
12023        return '<sdm.Gateway ' + \
12024            'bind_address: ' + repr(self.bind_address) + ' ' +\
12025            'device: ' + repr(self.device) + ' ' +\
12026            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12027            'id: ' + repr(self.id) + ' ' +\
12028            'listen_address: ' + repr(self.listen_address) + ' ' +\
12029            'location: ' + repr(self.location) + ' ' +\
12030            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12031            'name: ' + repr(self.name) + ' ' +\
12032            'state: ' + repr(self.state) + ' ' +\
12033            'tags: ' + repr(self.tags) + ' ' +\
12034            'version: ' + repr(self.version) + ' ' +\
12035            '>'
12036
12037    def to_dict(self):
12038        return {
12039            'bind_address': self.bind_address,
12040            'device': self.device,
12041            'gateway_filter': self.gateway_filter,
12042            'id': self.id,
12043            'listen_address': self.listen_address,
12044            'location': self.location,
12045            'maintenance_windows': self.maintenance_windows,
12046            'name': self.name,
12047            'state': self.state,
12048            'tags': self.tags,
12049            'version': self.version,
12050        }
12051
12052    @classmethod
12053    def from_dict(cls, d):
12054        return cls(
12055            bind_address=d.get('bind_address'),
12056            device=d.get('device'),
12057            gateway_filter=d.get('gateway_filter'),
12058            id=d.get('id'),
12059            listen_address=d.get('listen_address'),
12060            location=d.get('location'),
12061            maintenance_windows=d.get('maintenance_windows'),
12062            name=d.get('name'),
12063            state=d.get('state'),
12064            tags=d.get('tags'),
12065            version=d.get('version'),
12066        )

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)
11946    def __init__(
11947        self,
11948        bind_address=None,
11949        device=None,
11950        gateway_filter=None,
11951        id=None,
11952        listen_address=None,
11953        location=None,
11954        maintenance_windows=None,
11955        name=None,
11956        state=None,
11957        tags=None,
11958        version=None,
11959    ):
11960        self.bind_address = bind_address if bind_address is not None else ''
11961        '''
11962         The hostname/port tuple which the gateway daemon will bind to.
11963         If not provided on create, set to "0.0.0.0:listen_address_port".
11964        '''
11965        self.device = device if device is not None else ''
11966        '''
11967         Device is a read only device name uploaded by the gateway process when
11968         it comes online.
11969        '''
11970        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
11971        '''
11972         GatewayFilter can be used to restrict the peering between relays and
11973         gateways. Deprecated.
11974        '''
11975        self.id = id if id is not None else ''
11976        '''
11977         Unique identifier of the Gateway.
11978        '''
11979        self.listen_address = listen_address if listen_address is not None else ''
11980        '''
11981         The public hostname/port tuple at which the gateway will be accessible to clients.
11982        '''
11983        self.location = location if location is not None else ''
11984        '''
11985         Location is a read only network location uploaded by the gateway process
11986         when it comes online.
11987        '''
11988        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
11989        '''
11990         Maintenance Windows define when this node is allowed to restart. If a node
11991         is requested to restart, it will check each window to determine if any of
11992         them permit it to restart, and if any do, it will. This check is repeated
11993         per window until the restart is successfully completed.
11994         
11995         If not set here, may be set on the command line or via an environment variable
11996         on the process itself; any server setting will take precedence over local
11997         settings. This setting is ineffective for nodes below version 38.44.0.
11998         
11999         If this setting is not applied via this remote configuration or via local
12000         configuration, the default setting is used: always allow restarts if serving
12001         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12002        '''
12003        self.name = name if name is not None else ''
12004        '''
12005         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.
12006        '''
12007        self.state = state if state is not None else ''
12008        '''
12009         The current state of the gateway. One of: "new", "verifying_restart",
12010         "restarting", "started", "stopped", "dead", "unknown"
12011        '''
12012        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12013        '''
12014         Tags is a map of key, value pairs.
12015        '''
12016        self.version = version if version is not None else ''
12017        '''
12018         Version is a read only sdm binary version uploaded by the gateway process
12019         when it comes online.
12020        '''
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)
12037    def to_dict(self):
12038        return {
12039            'bind_address': self.bind_address,
12040            'device': self.device,
12041            'gateway_filter': self.gateway_filter,
12042            'id': self.id,
12043            'listen_address': self.listen_address,
12044            'location': self.location,
12045            'maintenance_windows': self.maintenance_windows,
12046            'name': self.name,
12047            'state': self.state,
12048            'tags': self.tags,
12049            'version': self.version,
12050        }
@classmethod
def from_dict(cls, d)
12052    @classmethod
12053    def from_dict(cls, d):
12054        return cls(
12055            bind_address=d.get('bind_address'),
12056            device=d.get('device'),
12057            gateway_filter=d.get('gateway_filter'),
12058            id=d.get('id'),
12059            listen_address=d.get('listen_address'),
12060            location=d.get('location'),
12061            maintenance_windows=d.get('maintenance_windows'),
12062            name=d.get('name'),
12063            state=d.get('state'),
12064            tags=d.get('tags'),
12065            version=d.get('version'),
12066        )
class GenericResponseMetadata:
12069class GenericResponseMetadata:
12070    '''
12071         GenericResponseMetadata contains common headers for generic request
12072     responses.
12073    '''
12074    __slots__ = []
12075
12076    def __init__(self, ):
12077        pass
12078
12079    def __repr__(self):
12080        return '<sdm.GenericResponseMetadata ' + \
12081            '>'
12082
12083    def to_dict(self):
12084        return {}
12085
12086    @classmethod
12087    def from_dict(cls, d):
12088        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
12076    def __init__(self, ):
12077        pass
def to_dict(self)
12083    def to_dict(self):
12084        return {}
@classmethod
def from_dict(cls, d)
12086    @classmethod
12087    def from_dict(cls, d):
12088        return cls()
class GetResponseMetadata:
12091class GetResponseMetadata:
12092    '''
12093         GetResponseMetadata is reserved for future use.
12094    '''
12095    __slots__ = []
12096
12097    def __init__(self, ):
12098        pass
12099
12100    def __repr__(self):
12101        return '<sdm.GetResponseMetadata ' + \
12102            '>'
12103
12104    def to_dict(self):
12105        return {}
12106
12107    @classmethod
12108    def from_dict(cls, d):
12109        return cls()

GetResponseMetadata is reserved for future use.

GetResponseMetadata()
12097    def __init__(self, ):
12098        pass
def to_dict(self)
12104    def to_dict(self):
12105        return {}
@classmethod
def from_dict(cls, d)
12107    @classmethod
12108    def from_dict(cls, d):
12109        return cls()
class GoogleGKE:
12112class GoogleGKE:
12113    __slots__ = [
12114        'allow_resource_role_bypass',
12115        'bind_interface',
12116        'certificate_authority',
12117        'discovery_enabled',
12118        'discovery_username',
12119        'egress_filter',
12120        'endpoint',
12121        'healthcheck_namespace',
12122        'healthy',
12123        'id',
12124        'identity_alias_healthcheck_username',
12125        'identity_set_id',
12126        'name',
12127        'port_override',
12128        'proxy_cluster_id',
12129        'secret_store_id',
12130        'service_account_key',
12131        'subdomain',
12132        'tags',
12133    ]
12134
12135    def __init__(
12136        self,
12137        allow_resource_role_bypass=None,
12138        bind_interface=None,
12139        certificate_authority=None,
12140        discovery_enabled=None,
12141        discovery_username=None,
12142        egress_filter=None,
12143        endpoint=None,
12144        healthcheck_namespace=None,
12145        healthy=None,
12146        id=None,
12147        identity_alias_healthcheck_username=None,
12148        identity_set_id=None,
12149        name=None,
12150        port_override=None,
12151        proxy_cluster_id=None,
12152        secret_store_id=None,
12153        service_account_key=None,
12154        subdomain=None,
12155        tags=None,
12156    ):
12157        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12158        '''
12159         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12160         when a resource role is not provided.
12161        '''
12162        self.bind_interface = bind_interface if bind_interface is not None else ''
12163        '''
12164         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12165        '''
12166        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12167        '''
12168         The CA to authenticate TLS connections with.
12169        '''
12170        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12171        '''
12172         If true, configures discovery of a cluster to be run from a node.
12173        '''
12174        self.discovery_username = discovery_username if discovery_username is not None else ''
12175        '''
12176         If a cluster is configured for user impersonation, this is the user to impersonate when
12177         running discovery.
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.endpoint = endpoint if endpoint is not None else ''
12184        '''
12185         The endpoint to dial.
12186        '''
12187        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12188        '''
12189         The path used to check the health of your connection.  Defaults to `default`.
12190        '''
12191        self.healthy = healthy if healthy is not None else False
12192        '''
12193         True if the datasource is reachable and the credentials are valid.
12194        '''
12195        self.id = id if id is not None else ''
12196        '''
12197         Unique identifier of the Resource.
12198        '''
12199        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12200        '''
12201         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12202        '''
12203        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12204        '''
12205         The ID of the identity set to use for identity connections.
12206        '''
12207        self.name = name if name is not None else ''
12208        '''
12209         Unique human-readable name of the Resource.
12210        '''
12211        self.port_override = port_override if port_override is not None else 0
12212        '''
12213         The local port used by clients to connect to this resource.
12214        '''
12215        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12216        '''
12217         ID of the proxy cluster for this resource, if any.
12218        '''
12219        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12220        '''
12221         ID of the secret store containing credentials for this resource, if any.
12222        '''
12223        self.service_account_key = service_account_key if service_account_key is not None else ''
12224        '''
12225         The service account key to authenticate with.
12226        '''
12227        self.subdomain = subdomain if subdomain is not None else ''
12228        '''
12229         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12230        '''
12231        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12232        '''
12233         Tags is a map of key, value pairs.
12234        '''
12235
12236    def __repr__(self):
12237        return '<sdm.GoogleGKE ' + \
12238            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
12239            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12240            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
12241            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
12242            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
12243            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12244            'endpoint: ' + repr(self.endpoint) + ' ' +\
12245            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
12246            'healthy: ' + repr(self.healthy) + ' ' +\
12247            'id: ' + repr(self.id) + ' ' +\
12248            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12249            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12250            'name: ' + repr(self.name) + ' ' +\
12251            'port_override: ' + repr(self.port_override) + ' ' +\
12252            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12253            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12254            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
12255            'subdomain: ' + repr(self.subdomain) + ' ' +\
12256            'tags: ' + repr(self.tags) + ' ' +\
12257            '>'
12258
12259    def to_dict(self):
12260        return {
12261            'allow_resource_role_bypass': self.allow_resource_role_bypass,
12262            'bind_interface': self.bind_interface,
12263            'certificate_authority': self.certificate_authority,
12264            'discovery_enabled': self.discovery_enabled,
12265            'discovery_username': self.discovery_username,
12266            'egress_filter': self.egress_filter,
12267            'endpoint': self.endpoint,
12268            'healthcheck_namespace': self.healthcheck_namespace,
12269            'healthy': self.healthy,
12270            'id': self.id,
12271            'identity_alias_healthcheck_username':
12272            self.identity_alias_healthcheck_username,
12273            'identity_set_id': self.identity_set_id,
12274            'name': self.name,
12275            'port_override': self.port_override,
12276            'proxy_cluster_id': self.proxy_cluster_id,
12277            'secret_store_id': self.secret_store_id,
12278            'service_account_key': self.service_account_key,
12279            'subdomain': self.subdomain,
12280            'tags': self.tags,
12281        }
12282
12283    @classmethod
12284    def from_dict(cls, d):
12285        return cls(
12286            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
12287            bind_interface=d.get('bind_interface'),
12288            certificate_authority=d.get('certificate_authority'),
12289            discovery_enabled=d.get('discovery_enabled'),
12290            discovery_username=d.get('discovery_username'),
12291            egress_filter=d.get('egress_filter'),
12292            endpoint=d.get('endpoint'),
12293            healthcheck_namespace=d.get('healthcheck_namespace'),
12294            healthy=d.get('healthy'),
12295            id=d.get('id'),
12296            identity_alias_healthcheck_username=d.get(
12297                'identity_alias_healthcheck_username'),
12298            identity_set_id=d.get('identity_set_id'),
12299            name=d.get('name'),
12300            port_override=d.get('port_override'),
12301            proxy_cluster_id=d.get('proxy_cluster_id'),
12302            secret_store_id=d.get('secret_store_id'),
12303            service_account_key=d.get('service_account_key'),
12304            subdomain=d.get('subdomain'),
12305            tags=d.get('tags'),
12306        )
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)
12135    def __init__(
12136        self,
12137        allow_resource_role_bypass=None,
12138        bind_interface=None,
12139        certificate_authority=None,
12140        discovery_enabled=None,
12141        discovery_username=None,
12142        egress_filter=None,
12143        endpoint=None,
12144        healthcheck_namespace=None,
12145        healthy=None,
12146        id=None,
12147        identity_alias_healthcheck_username=None,
12148        identity_set_id=None,
12149        name=None,
12150        port_override=None,
12151        proxy_cluster_id=None,
12152        secret_store_id=None,
12153        service_account_key=None,
12154        subdomain=None,
12155        tags=None,
12156    ):
12157        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12158        '''
12159         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12160         when a resource role is not provided.
12161        '''
12162        self.bind_interface = bind_interface if bind_interface is not None else ''
12163        '''
12164         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12165        '''
12166        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12167        '''
12168         The CA to authenticate TLS connections with.
12169        '''
12170        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12171        '''
12172         If true, configures discovery of a cluster to be run from a node.
12173        '''
12174        self.discovery_username = discovery_username if discovery_username is not None else ''
12175        '''
12176         If a cluster is configured for user impersonation, this is the user to impersonate when
12177         running discovery.
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.endpoint = endpoint if endpoint is not None else ''
12184        '''
12185         The endpoint to dial.
12186        '''
12187        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12188        '''
12189         The path used to check the health of your connection.  Defaults to `default`.
12190        '''
12191        self.healthy = healthy if healthy is not None else False
12192        '''
12193         True if the datasource is reachable and the credentials are valid.
12194        '''
12195        self.id = id if id is not None else ''
12196        '''
12197         Unique identifier of the Resource.
12198        '''
12199        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12200        '''
12201         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12202        '''
12203        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12204        '''
12205         The ID of the identity set to use for identity connections.
12206        '''
12207        self.name = name if name is not None else ''
12208        '''
12209         Unique human-readable name of the Resource.
12210        '''
12211        self.port_override = port_override if port_override is not None else 0
12212        '''
12213         The local port used by clients to connect to this resource.
12214        '''
12215        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12216        '''
12217         ID of the proxy cluster for this resource, if any.
12218        '''
12219        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12220        '''
12221         ID of the secret store containing credentials for this resource, if any.
12222        '''
12223        self.service_account_key = service_account_key if service_account_key is not None else ''
12224        '''
12225         The service account key to authenticate with.
12226        '''
12227        self.subdomain = subdomain if subdomain is not None else ''
12228        '''
12229         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12230        '''
12231        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12232        '''
12233         Tags is a map of key, value pairs.
12234        '''
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)
12259    def to_dict(self):
12260        return {
12261            'allow_resource_role_bypass': self.allow_resource_role_bypass,
12262            'bind_interface': self.bind_interface,
12263            'certificate_authority': self.certificate_authority,
12264            'discovery_enabled': self.discovery_enabled,
12265            'discovery_username': self.discovery_username,
12266            'egress_filter': self.egress_filter,
12267            'endpoint': self.endpoint,
12268            'healthcheck_namespace': self.healthcheck_namespace,
12269            'healthy': self.healthy,
12270            'id': self.id,
12271            'identity_alias_healthcheck_username':
12272            self.identity_alias_healthcheck_username,
12273            'identity_set_id': self.identity_set_id,
12274            'name': self.name,
12275            'port_override': self.port_override,
12276            'proxy_cluster_id': self.proxy_cluster_id,
12277            'secret_store_id': self.secret_store_id,
12278            'service_account_key': self.service_account_key,
12279            'subdomain': self.subdomain,
12280            'tags': self.tags,
12281        }
@classmethod
def from_dict(cls, d)
12283    @classmethod
12284    def from_dict(cls, d):
12285        return cls(
12286            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
12287            bind_interface=d.get('bind_interface'),
12288            certificate_authority=d.get('certificate_authority'),
12289            discovery_enabled=d.get('discovery_enabled'),
12290            discovery_username=d.get('discovery_username'),
12291            egress_filter=d.get('egress_filter'),
12292            endpoint=d.get('endpoint'),
12293            healthcheck_namespace=d.get('healthcheck_namespace'),
12294            healthy=d.get('healthy'),
12295            id=d.get('id'),
12296            identity_alias_healthcheck_username=d.get(
12297                'identity_alias_healthcheck_username'),
12298            identity_set_id=d.get('identity_set_id'),
12299            name=d.get('name'),
12300            port_override=d.get('port_override'),
12301            proxy_cluster_id=d.get('proxy_cluster_id'),
12302            secret_store_id=d.get('secret_store_id'),
12303            service_account_key=d.get('service_account_key'),
12304            subdomain=d.get('subdomain'),
12305            tags=d.get('tags'),
12306        )
class GoogleGKEUserImpersonation:
12309class GoogleGKEUserImpersonation:
12310    __slots__ = [
12311        'bind_interface',
12312        'certificate_authority',
12313        'egress_filter',
12314        'endpoint',
12315        'healthcheck_namespace',
12316        'healthy',
12317        'id',
12318        'name',
12319        'port_override',
12320        'proxy_cluster_id',
12321        'secret_store_id',
12322        'service_account_key',
12323        'subdomain',
12324        'tags',
12325    ]
12326
12327    def __init__(
12328        self,
12329        bind_interface=None,
12330        certificate_authority=None,
12331        egress_filter=None,
12332        endpoint=None,
12333        healthcheck_namespace=None,
12334        healthy=None,
12335        id=None,
12336        name=None,
12337        port_override=None,
12338        proxy_cluster_id=None,
12339        secret_store_id=None,
12340        service_account_key=None,
12341        subdomain=None,
12342        tags=None,
12343    ):
12344        self.bind_interface = bind_interface if bind_interface is not None else ''
12345        '''
12346         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12347        '''
12348        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12349        '''
12350         The CA to authenticate TLS connections with.
12351        '''
12352        self.egress_filter = egress_filter if egress_filter is not None else ''
12353        '''
12354         A filter applied to the routing logic to pin datasource to nodes.
12355        '''
12356        self.endpoint = endpoint if endpoint is not None else ''
12357        '''
12358         The endpoint to dial.
12359        '''
12360        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12361        '''
12362         The path used to check the health of your connection.  Defaults to `default`.
12363        '''
12364        self.healthy = healthy if healthy is not None else False
12365        '''
12366         True if the datasource is reachable and the credentials are valid.
12367        '''
12368        self.id = id if id is not None else ''
12369        '''
12370         Unique identifier of the Resource.
12371        '''
12372        self.name = name if name is not None else ''
12373        '''
12374         Unique human-readable name of the Resource.
12375        '''
12376        self.port_override = port_override if port_override is not None else 0
12377        '''
12378         The local port used by clients to connect to this resource.
12379        '''
12380        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12381        '''
12382         ID of the proxy cluster for this resource, if any.
12383        '''
12384        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12385        '''
12386         ID of the secret store containing credentials for this resource, if any.
12387        '''
12388        self.service_account_key = service_account_key if service_account_key is not None else ''
12389        '''
12390         The service account key to authenticate with.
12391        '''
12392        self.subdomain = subdomain if subdomain is not None else ''
12393        '''
12394         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12395        '''
12396        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12397        '''
12398         Tags is a map of key, value pairs.
12399        '''
12400
12401    def __repr__(self):
12402        return '<sdm.GoogleGKEUserImpersonation ' + \
12403            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12404            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
12405            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12406            'endpoint: ' + repr(self.endpoint) + ' ' +\
12407            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
12408            'healthy: ' + repr(self.healthy) + ' ' +\
12409            'id: ' + repr(self.id) + ' ' +\
12410            'name: ' + repr(self.name) + ' ' +\
12411            'port_override: ' + repr(self.port_override) + ' ' +\
12412            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12413            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12414            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
12415            'subdomain: ' + repr(self.subdomain) + ' ' +\
12416            'tags: ' + repr(self.tags) + ' ' +\
12417            '>'
12418
12419    def to_dict(self):
12420        return {
12421            'bind_interface': self.bind_interface,
12422            'certificate_authority': self.certificate_authority,
12423            'egress_filter': self.egress_filter,
12424            'endpoint': self.endpoint,
12425            'healthcheck_namespace': self.healthcheck_namespace,
12426            'healthy': self.healthy,
12427            'id': self.id,
12428            'name': self.name,
12429            'port_override': self.port_override,
12430            'proxy_cluster_id': self.proxy_cluster_id,
12431            'secret_store_id': self.secret_store_id,
12432            'service_account_key': self.service_account_key,
12433            'subdomain': self.subdomain,
12434            'tags': self.tags,
12435        }
12436
12437    @classmethod
12438    def from_dict(cls, d):
12439        return cls(
12440            bind_interface=d.get('bind_interface'),
12441            certificate_authority=d.get('certificate_authority'),
12442            egress_filter=d.get('egress_filter'),
12443            endpoint=d.get('endpoint'),
12444            healthcheck_namespace=d.get('healthcheck_namespace'),
12445            healthy=d.get('healthy'),
12446            id=d.get('id'),
12447            name=d.get('name'),
12448            port_override=d.get('port_override'),
12449            proxy_cluster_id=d.get('proxy_cluster_id'),
12450            secret_store_id=d.get('secret_store_id'),
12451            service_account_key=d.get('service_account_key'),
12452            subdomain=d.get('subdomain'),
12453            tags=d.get('tags'),
12454        )
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)
12327    def __init__(
12328        self,
12329        bind_interface=None,
12330        certificate_authority=None,
12331        egress_filter=None,
12332        endpoint=None,
12333        healthcheck_namespace=None,
12334        healthy=None,
12335        id=None,
12336        name=None,
12337        port_override=None,
12338        proxy_cluster_id=None,
12339        secret_store_id=None,
12340        service_account_key=None,
12341        subdomain=None,
12342        tags=None,
12343    ):
12344        self.bind_interface = bind_interface if bind_interface is not None else ''
12345        '''
12346         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12347        '''
12348        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12349        '''
12350         The CA to authenticate TLS connections with.
12351        '''
12352        self.egress_filter = egress_filter if egress_filter is not None else ''
12353        '''
12354         A filter applied to the routing logic to pin datasource to nodes.
12355        '''
12356        self.endpoint = endpoint if endpoint is not None else ''
12357        '''
12358         The endpoint to dial.
12359        '''
12360        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12361        '''
12362         The path used to check the health of your connection.  Defaults to `default`.
12363        '''
12364        self.healthy = healthy if healthy is not None else False
12365        '''
12366         True if the datasource is reachable and the credentials are valid.
12367        '''
12368        self.id = id if id is not None else ''
12369        '''
12370         Unique identifier of the Resource.
12371        '''
12372        self.name = name if name is not None else ''
12373        '''
12374         Unique human-readable name of the Resource.
12375        '''
12376        self.port_override = port_override if port_override is not None else 0
12377        '''
12378         The local port used by clients to connect to this resource.
12379        '''
12380        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12381        '''
12382         ID of the proxy cluster for this resource, if any.
12383        '''
12384        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12385        '''
12386         ID of the secret store containing credentials for this resource, if any.
12387        '''
12388        self.service_account_key = service_account_key if service_account_key is not None else ''
12389        '''
12390         The service account key to authenticate with.
12391        '''
12392        self.subdomain = subdomain if subdomain is not None else ''
12393        '''
12394         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12395        '''
12396        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12397        '''
12398         Tags is a map of key, value pairs.
12399        '''
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)
12419    def to_dict(self):
12420        return {
12421            'bind_interface': self.bind_interface,
12422            'certificate_authority': self.certificate_authority,
12423            'egress_filter': self.egress_filter,
12424            'endpoint': self.endpoint,
12425            'healthcheck_namespace': self.healthcheck_namespace,
12426            'healthy': self.healthy,
12427            'id': self.id,
12428            'name': self.name,
12429            'port_override': self.port_override,
12430            'proxy_cluster_id': self.proxy_cluster_id,
12431            'secret_store_id': self.secret_store_id,
12432            'service_account_key': self.service_account_key,
12433            'subdomain': self.subdomain,
12434            'tags': self.tags,
12435        }
@classmethod
def from_dict(cls, d)
12437    @classmethod
12438    def from_dict(cls, d):
12439        return cls(
12440            bind_interface=d.get('bind_interface'),
12441            certificate_authority=d.get('certificate_authority'),
12442            egress_filter=d.get('egress_filter'),
12443            endpoint=d.get('endpoint'),
12444            healthcheck_namespace=d.get('healthcheck_namespace'),
12445            healthy=d.get('healthy'),
12446            id=d.get('id'),
12447            name=d.get('name'),
12448            port_override=d.get('port_override'),
12449            proxy_cluster_id=d.get('proxy_cluster_id'),
12450            secret_store_id=d.get('secret_store_id'),
12451            service_account_key=d.get('service_account_key'),
12452            subdomain=d.get('subdomain'),
12453            tags=d.get('tags'),
12454        )
class Greenplum:
12457class Greenplum:
12458    __slots__ = [
12459        'bind_interface',
12460        'database',
12461        'egress_filter',
12462        'healthy',
12463        'hostname',
12464        'id',
12465        'name',
12466        'override_database',
12467        'password',
12468        'port',
12469        'port_override',
12470        'proxy_cluster_id',
12471        'secret_store_id',
12472        'subdomain',
12473        'tags',
12474        'username',
12475    ]
12476
12477    def __init__(
12478        self,
12479        bind_interface=None,
12480        database=None,
12481        egress_filter=None,
12482        healthy=None,
12483        hostname=None,
12484        id=None,
12485        name=None,
12486        override_database=None,
12487        password=None,
12488        port=None,
12489        port_override=None,
12490        proxy_cluster_id=None,
12491        secret_store_id=None,
12492        subdomain=None,
12493        tags=None,
12494        username=None,
12495    ):
12496        self.bind_interface = bind_interface if bind_interface is not None else ''
12497        '''
12498         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12499        '''
12500        self.database = database if database is not None else ''
12501        '''
12502         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
12503        '''
12504        self.egress_filter = egress_filter if egress_filter is not None else ''
12505        '''
12506         A filter applied to the routing logic to pin datasource to nodes.
12507        '''
12508        self.healthy = healthy if healthy is not None else False
12509        '''
12510         True if the datasource is reachable and the credentials are valid.
12511        '''
12512        self.hostname = hostname if hostname is not None else ''
12513        '''
12514         The host to dial to initiate a connection from the egress node to this resource.
12515        '''
12516        self.id = id if id is not None else ''
12517        '''
12518         Unique identifier of the Resource.
12519        '''
12520        self.name = name if name is not None else ''
12521        '''
12522         Unique human-readable name of the Resource.
12523        '''
12524        self.override_database = override_database if override_database is not None else False
12525        '''
12526         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.
12527        '''
12528        self.password = password if password is not None else ''
12529        '''
12530         The password to authenticate with.
12531        '''
12532        self.port = port if port is not None else 0
12533        '''
12534         The port to dial to initiate a connection from the egress node to this resource.
12535        '''
12536        self.port_override = port_override if port_override is not None else 0
12537        '''
12538         The local port used by clients to connect to this resource.
12539        '''
12540        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12541        '''
12542         ID of the proxy cluster for this resource, if any.
12543        '''
12544        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12545        '''
12546         ID of the secret store containing credentials for this resource, if any.
12547        '''
12548        self.subdomain = subdomain if subdomain is not None else ''
12549        '''
12550         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12551        '''
12552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12553        '''
12554         Tags is a map of key, value pairs.
12555        '''
12556        self.username = username if username is not None else ''
12557        '''
12558         The username to authenticate with.
12559        '''
12560
12561    def __repr__(self):
12562        return '<sdm.Greenplum ' + \
12563            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12564            'database: ' + repr(self.database) + ' ' +\
12565            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12566            'healthy: ' + repr(self.healthy) + ' ' +\
12567            'hostname: ' + repr(self.hostname) + ' ' +\
12568            'id: ' + repr(self.id) + ' ' +\
12569            'name: ' + repr(self.name) + ' ' +\
12570            'override_database: ' + repr(self.override_database) + ' ' +\
12571            'password: ' + repr(self.password) + ' ' +\
12572            'port: ' + repr(self.port) + ' ' +\
12573            'port_override: ' + repr(self.port_override) + ' ' +\
12574            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12575            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12576            'subdomain: ' + repr(self.subdomain) + ' ' +\
12577            'tags: ' + repr(self.tags) + ' ' +\
12578            'username: ' + repr(self.username) + ' ' +\
12579            '>'
12580
12581    def to_dict(self):
12582        return {
12583            'bind_interface': self.bind_interface,
12584            'database': self.database,
12585            'egress_filter': self.egress_filter,
12586            'healthy': self.healthy,
12587            'hostname': self.hostname,
12588            'id': self.id,
12589            'name': self.name,
12590            'override_database': self.override_database,
12591            'password': self.password,
12592            'port': self.port,
12593            'port_override': self.port_override,
12594            'proxy_cluster_id': self.proxy_cluster_id,
12595            'secret_store_id': self.secret_store_id,
12596            'subdomain': self.subdomain,
12597            'tags': self.tags,
12598            'username': self.username,
12599        }
12600
12601    @classmethod
12602    def from_dict(cls, d):
12603        return cls(
12604            bind_interface=d.get('bind_interface'),
12605            database=d.get('database'),
12606            egress_filter=d.get('egress_filter'),
12607            healthy=d.get('healthy'),
12608            hostname=d.get('hostname'),
12609            id=d.get('id'),
12610            name=d.get('name'),
12611            override_database=d.get('override_database'),
12612            password=d.get('password'),
12613            port=d.get('port'),
12614            port_override=d.get('port_override'),
12615            proxy_cluster_id=d.get('proxy_cluster_id'),
12616            secret_store_id=d.get('secret_store_id'),
12617            subdomain=d.get('subdomain'),
12618            tags=d.get('tags'),
12619            username=d.get('username'),
12620        )
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)
12477    def __init__(
12478        self,
12479        bind_interface=None,
12480        database=None,
12481        egress_filter=None,
12482        healthy=None,
12483        hostname=None,
12484        id=None,
12485        name=None,
12486        override_database=None,
12487        password=None,
12488        port=None,
12489        port_override=None,
12490        proxy_cluster_id=None,
12491        secret_store_id=None,
12492        subdomain=None,
12493        tags=None,
12494        username=None,
12495    ):
12496        self.bind_interface = bind_interface if bind_interface is not None else ''
12497        '''
12498         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12499        '''
12500        self.database = database if database is not None else ''
12501        '''
12502         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
12503        '''
12504        self.egress_filter = egress_filter if egress_filter is not None else ''
12505        '''
12506         A filter applied to the routing logic to pin datasource to nodes.
12507        '''
12508        self.healthy = healthy if healthy is not None else False
12509        '''
12510         True if the datasource is reachable and the credentials are valid.
12511        '''
12512        self.hostname = hostname if hostname is not None else ''
12513        '''
12514         The host to dial to initiate a connection from the egress node to this resource.
12515        '''
12516        self.id = id if id is not None else ''
12517        '''
12518         Unique identifier of the Resource.
12519        '''
12520        self.name = name if name is not None else ''
12521        '''
12522         Unique human-readable name of the Resource.
12523        '''
12524        self.override_database = override_database if override_database is not None else False
12525        '''
12526         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.
12527        '''
12528        self.password = password if password is not None else ''
12529        '''
12530         The password to authenticate with.
12531        '''
12532        self.port = port if port is not None else 0
12533        '''
12534         The port to dial to initiate a connection from the egress node to this resource.
12535        '''
12536        self.port_override = port_override if port_override is not None else 0
12537        '''
12538         The local port used by clients to connect to this resource.
12539        '''
12540        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12541        '''
12542         ID of the proxy cluster for this resource, if any.
12543        '''
12544        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12545        '''
12546         ID of the secret store containing credentials for this resource, if any.
12547        '''
12548        self.subdomain = subdomain if subdomain is not None else ''
12549        '''
12550         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12551        '''
12552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12553        '''
12554         Tags is a map of key, value pairs.
12555        '''
12556        self.username = username if username is not None else ''
12557        '''
12558         The username to authenticate with.
12559        '''
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)
12581    def to_dict(self):
12582        return {
12583            'bind_interface': self.bind_interface,
12584            'database': self.database,
12585            'egress_filter': self.egress_filter,
12586            'healthy': self.healthy,
12587            'hostname': self.hostname,
12588            'id': self.id,
12589            'name': self.name,
12590            'override_database': self.override_database,
12591            'password': self.password,
12592            'port': self.port,
12593            'port_override': self.port_override,
12594            'proxy_cluster_id': self.proxy_cluster_id,
12595            'secret_store_id': self.secret_store_id,
12596            'subdomain': self.subdomain,
12597            'tags': self.tags,
12598            'username': self.username,
12599        }
@classmethod
def from_dict(cls, d)
12601    @classmethod
12602    def from_dict(cls, d):
12603        return cls(
12604            bind_interface=d.get('bind_interface'),
12605            database=d.get('database'),
12606            egress_filter=d.get('egress_filter'),
12607            healthy=d.get('healthy'),
12608            hostname=d.get('hostname'),
12609            id=d.get('id'),
12610            name=d.get('name'),
12611            override_database=d.get('override_database'),
12612            password=d.get('password'),
12613            port=d.get('port'),
12614            port_override=d.get('port_override'),
12615            proxy_cluster_id=d.get('proxy_cluster_id'),
12616            secret_store_id=d.get('secret_store_id'),
12617            subdomain=d.get('subdomain'),
12618            tags=d.get('tags'),
12619            username=d.get('username'),
12620        )
class HTTPAuth:
12623class HTTPAuth:
12624    __slots__ = [
12625        'auth_header',
12626        'bind_interface',
12627        'default_path',
12628        'egress_filter',
12629        'headers_blacklist',
12630        'healthcheck_path',
12631        'healthy',
12632        'host_override',
12633        'id',
12634        'name',
12635        'proxy_cluster_id',
12636        'secret_store_id',
12637        'subdomain',
12638        'tags',
12639        'url',
12640    ]
12641
12642    def __init__(
12643        self,
12644        auth_header=None,
12645        bind_interface=None,
12646        default_path=None,
12647        egress_filter=None,
12648        headers_blacklist=None,
12649        healthcheck_path=None,
12650        healthy=None,
12651        host_override=None,
12652        id=None,
12653        name=None,
12654        proxy_cluster_id=None,
12655        secret_store_id=None,
12656        subdomain=None,
12657        tags=None,
12658        url=None,
12659    ):
12660        self.auth_header = auth_header if auth_header is not None else ''
12661        '''
12662         The content to set as the authorization header.
12663        '''
12664        self.bind_interface = bind_interface if bind_interface is not None else ''
12665        '''
12666         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12667        '''
12668        self.default_path = default_path if default_path is not None else ''
12669        '''
12670         Automatically redirect to this path upon connecting.
12671        '''
12672        self.egress_filter = egress_filter if egress_filter is not None else ''
12673        '''
12674         A filter applied to the routing logic to pin datasource to nodes.
12675        '''
12676        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12677        '''
12678         Header names (e.g. Authorization), to omit from logs.
12679        '''
12680        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12681        '''
12682         This path will be used to check the health of your site.
12683        '''
12684        self.healthy = healthy if healthy is not None else False
12685        '''
12686         True if the datasource is reachable and the credentials are valid.
12687        '''
12688        self.host_override = host_override if host_override is not None else ''
12689        '''
12690         The host header will be overwritten with this field if provided.
12691        '''
12692        self.id = id if id is not None else ''
12693        '''
12694         Unique identifier of the Resource.
12695        '''
12696        self.name = name if name is not None else ''
12697        '''
12698         Unique human-readable name of the Resource.
12699        '''
12700        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12701        '''
12702         ID of the proxy cluster for this resource, if any.
12703        '''
12704        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12705        '''
12706         ID of the secret store containing credentials for this resource, if any.
12707        '''
12708        self.subdomain = subdomain if subdomain is not None else ''
12709        '''
12710         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12711        '''
12712        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12713        '''
12714         Tags is a map of key, value pairs.
12715        '''
12716        self.url = url if url is not None else ''
12717        '''
12718         The base address of your website without the path.
12719        '''
12720
12721    def __repr__(self):
12722        return '<sdm.HTTPAuth ' + \
12723            'auth_header: ' + repr(self.auth_header) + ' ' +\
12724            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12725            'default_path: ' + repr(self.default_path) + ' ' +\
12726            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12727            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
12728            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
12729            'healthy: ' + repr(self.healthy) + ' ' +\
12730            'host_override: ' + repr(self.host_override) + ' ' +\
12731            'id: ' + repr(self.id) + ' ' +\
12732            'name: ' + repr(self.name) + ' ' +\
12733            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12734            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12735            'subdomain: ' + repr(self.subdomain) + ' ' +\
12736            'tags: ' + repr(self.tags) + ' ' +\
12737            'url: ' + repr(self.url) + ' ' +\
12738            '>'
12739
12740    def to_dict(self):
12741        return {
12742            'auth_header': self.auth_header,
12743            'bind_interface': self.bind_interface,
12744            'default_path': self.default_path,
12745            'egress_filter': self.egress_filter,
12746            'headers_blacklist': self.headers_blacklist,
12747            'healthcheck_path': self.healthcheck_path,
12748            'healthy': self.healthy,
12749            'host_override': self.host_override,
12750            'id': self.id,
12751            'name': self.name,
12752            'proxy_cluster_id': self.proxy_cluster_id,
12753            'secret_store_id': self.secret_store_id,
12754            'subdomain': self.subdomain,
12755            'tags': self.tags,
12756            'url': self.url,
12757        }
12758
12759    @classmethod
12760    def from_dict(cls, d):
12761        return cls(
12762            auth_header=d.get('auth_header'),
12763            bind_interface=d.get('bind_interface'),
12764            default_path=d.get('default_path'),
12765            egress_filter=d.get('egress_filter'),
12766            headers_blacklist=d.get('headers_blacklist'),
12767            healthcheck_path=d.get('healthcheck_path'),
12768            healthy=d.get('healthy'),
12769            host_override=d.get('host_override'),
12770            id=d.get('id'),
12771            name=d.get('name'),
12772            proxy_cluster_id=d.get('proxy_cluster_id'),
12773            secret_store_id=d.get('secret_store_id'),
12774            subdomain=d.get('subdomain'),
12775            tags=d.get('tags'),
12776            url=d.get('url'),
12777        )
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, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
12642    def __init__(
12643        self,
12644        auth_header=None,
12645        bind_interface=None,
12646        default_path=None,
12647        egress_filter=None,
12648        headers_blacklist=None,
12649        healthcheck_path=None,
12650        healthy=None,
12651        host_override=None,
12652        id=None,
12653        name=None,
12654        proxy_cluster_id=None,
12655        secret_store_id=None,
12656        subdomain=None,
12657        tags=None,
12658        url=None,
12659    ):
12660        self.auth_header = auth_header if auth_header is not None else ''
12661        '''
12662         The content to set as the authorization header.
12663        '''
12664        self.bind_interface = bind_interface if bind_interface is not None else ''
12665        '''
12666         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12667        '''
12668        self.default_path = default_path if default_path is not None else ''
12669        '''
12670         Automatically redirect to this path upon connecting.
12671        '''
12672        self.egress_filter = egress_filter if egress_filter is not None else ''
12673        '''
12674         A filter applied to the routing logic to pin datasource to nodes.
12675        '''
12676        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12677        '''
12678         Header names (e.g. Authorization), to omit from logs.
12679        '''
12680        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12681        '''
12682         This path will be used to check the health of your site.
12683        '''
12684        self.healthy = healthy if healthy is not None else False
12685        '''
12686         True if the datasource is reachable and the credentials are valid.
12687        '''
12688        self.host_override = host_override if host_override is not None else ''
12689        '''
12690         The host header will be overwritten with this field if provided.
12691        '''
12692        self.id = id if id is not None else ''
12693        '''
12694         Unique identifier of the Resource.
12695        '''
12696        self.name = name if name is not None else ''
12697        '''
12698         Unique human-readable name of the Resource.
12699        '''
12700        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12701        '''
12702         ID of the proxy cluster for this resource, if any.
12703        '''
12704        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12705        '''
12706         ID of the secret store containing credentials for this resource, if any.
12707        '''
12708        self.subdomain = subdomain if subdomain is not None else ''
12709        '''
12710         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12711        '''
12712        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12713        '''
12714         Tags is a map of key, value pairs.
12715        '''
12716        self.url = url if url is not None else ''
12717        '''
12718         The base address of your website without the path.
12719        '''
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.

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)
12740    def to_dict(self):
12741        return {
12742            'auth_header': self.auth_header,
12743            'bind_interface': self.bind_interface,
12744            'default_path': self.default_path,
12745            'egress_filter': self.egress_filter,
12746            'headers_blacklist': self.headers_blacklist,
12747            'healthcheck_path': self.healthcheck_path,
12748            'healthy': self.healthy,
12749            'host_override': self.host_override,
12750            'id': self.id,
12751            'name': self.name,
12752            'proxy_cluster_id': self.proxy_cluster_id,
12753            'secret_store_id': self.secret_store_id,
12754            'subdomain': self.subdomain,
12755            'tags': self.tags,
12756            'url': self.url,
12757        }
@classmethod
def from_dict(cls, d)
12759    @classmethod
12760    def from_dict(cls, d):
12761        return cls(
12762            auth_header=d.get('auth_header'),
12763            bind_interface=d.get('bind_interface'),
12764            default_path=d.get('default_path'),
12765            egress_filter=d.get('egress_filter'),
12766            headers_blacklist=d.get('headers_blacklist'),
12767            healthcheck_path=d.get('healthcheck_path'),
12768            healthy=d.get('healthy'),
12769            host_override=d.get('host_override'),
12770            id=d.get('id'),
12771            name=d.get('name'),
12772            proxy_cluster_id=d.get('proxy_cluster_id'),
12773            secret_store_id=d.get('secret_store_id'),
12774            subdomain=d.get('subdomain'),
12775            tags=d.get('tags'),
12776            url=d.get('url'),
12777        )
class HTTPBasicAuth:
12780class HTTPBasicAuth:
12781    __slots__ = [
12782        'bind_interface',
12783        'default_path',
12784        'egress_filter',
12785        'headers_blacklist',
12786        'healthcheck_path',
12787        'healthy',
12788        'host_override',
12789        'id',
12790        'name',
12791        'password',
12792        'proxy_cluster_id',
12793        'secret_store_id',
12794        'subdomain',
12795        'tags',
12796        'url',
12797        'username',
12798    ]
12799
12800    def __init__(
12801        self,
12802        bind_interface=None,
12803        default_path=None,
12804        egress_filter=None,
12805        headers_blacklist=None,
12806        healthcheck_path=None,
12807        healthy=None,
12808        host_override=None,
12809        id=None,
12810        name=None,
12811        password=None,
12812        proxy_cluster_id=None,
12813        secret_store_id=None,
12814        subdomain=None,
12815        tags=None,
12816        url=None,
12817        username=None,
12818    ):
12819        self.bind_interface = bind_interface if bind_interface is not None else ''
12820        '''
12821         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12822        '''
12823        self.default_path = default_path if default_path is not None else ''
12824        '''
12825         Automatically redirect to this path upon connecting.
12826        '''
12827        self.egress_filter = egress_filter if egress_filter is not None else ''
12828        '''
12829         A filter applied to the routing logic to pin datasource to nodes.
12830        '''
12831        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12832        '''
12833         Header names (e.g. Authorization), to omit from logs.
12834        '''
12835        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12836        '''
12837         This path will be used to check the health of your site.
12838        '''
12839        self.healthy = healthy if healthy is not None else False
12840        '''
12841         True if the datasource is reachable and the credentials are valid.
12842        '''
12843        self.host_override = host_override if host_override is not None else ''
12844        '''
12845         The host header will be overwritten with this field if provided.
12846        '''
12847        self.id = id if id is not None else ''
12848        '''
12849         Unique identifier of the Resource.
12850        '''
12851        self.name = name if name is not None else ''
12852        '''
12853         Unique human-readable name of the Resource.
12854        '''
12855        self.password = password if password is not None else ''
12856        '''
12857         The password to authenticate with.
12858        '''
12859        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12860        '''
12861         ID of the proxy cluster for this resource, if any.
12862        '''
12863        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12864        '''
12865         ID of the secret store containing credentials for this resource, if any.
12866        '''
12867        self.subdomain = subdomain if subdomain is not None else ''
12868        '''
12869         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12870        '''
12871        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12872        '''
12873         Tags is a map of key, value pairs.
12874        '''
12875        self.url = url if url is not None else ''
12876        '''
12877         The base address of your website without the path.
12878        '''
12879        self.username = username if username is not None else ''
12880        '''
12881         The username to authenticate with.
12882        '''
12883
12884    def __repr__(self):
12885        return '<sdm.HTTPBasicAuth ' + \
12886            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12887            'default_path: ' + repr(self.default_path) + ' ' +\
12888            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12889            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
12890            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
12891            'healthy: ' + repr(self.healthy) + ' ' +\
12892            'host_override: ' + repr(self.host_override) + ' ' +\
12893            'id: ' + repr(self.id) + ' ' +\
12894            'name: ' + repr(self.name) + ' ' +\
12895            'password: ' + repr(self.password) + ' ' +\
12896            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12897            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12898            'subdomain: ' + repr(self.subdomain) + ' ' +\
12899            'tags: ' + repr(self.tags) + ' ' +\
12900            'url: ' + repr(self.url) + ' ' +\
12901            'username: ' + repr(self.username) + ' ' +\
12902            '>'
12903
12904    def to_dict(self):
12905        return {
12906            'bind_interface': self.bind_interface,
12907            'default_path': self.default_path,
12908            'egress_filter': self.egress_filter,
12909            'headers_blacklist': self.headers_blacklist,
12910            'healthcheck_path': self.healthcheck_path,
12911            'healthy': self.healthy,
12912            'host_override': self.host_override,
12913            'id': self.id,
12914            'name': self.name,
12915            'password': self.password,
12916            'proxy_cluster_id': self.proxy_cluster_id,
12917            'secret_store_id': self.secret_store_id,
12918            'subdomain': self.subdomain,
12919            'tags': self.tags,
12920            'url': self.url,
12921            'username': self.username,
12922        }
12923
12924    @classmethod
12925    def from_dict(cls, d):
12926        return cls(
12927            bind_interface=d.get('bind_interface'),
12928            default_path=d.get('default_path'),
12929            egress_filter=d.get('egress_filter'),
12930            headers_blacklist=d.get('headers_blacklist'),
12931            healthcheck_path=d.get('healthcheck_path'),
12932            healthy=d.get('healthy'),
12933            host_override=d.get('host_override'),
12934            id=d.get('id'),
12935            name=d.get('name'),
12936            password=d.get('password'),
12937            proxy_cluster_id=d.get('proxy_cluster_id'),
12938            secret_store_id=d.get('secret_store_id'),
12939            subdomain=d.get('subdomain'),
12940            tags=d.get('tags'),
12941            url=d.get('url'),
12942            username=d.get('username'),
12943        )
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, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None, username=None)
12800    def __init__(
12801        self,
12802        bind_interface=None,
12803        default_path=None,
12804        egress_filter=None,
12805        headers_blacklist=None,
12806        healthcheck_path=None,
12807        healthy=None,
12808        host_override=None,
12809        id=None,
12810        name=None,
12811        password=None,
12812        proxy_cluster_id=None,
12813        secret_store_id=None,
12814        subdomain=None,
12815        tags=None,
12816        url=None,
12817        username=None,
12818    ):
12819        self.bind_interface = bind_interface if bind_interface is not None else ''
12820        '''
12821         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12822        '''
12823        self.default_path = default_path if default_path is not None else ''
12824        '''
12825         Automatically redirect to this path upon connecting.
12826        '''
12827        self.egress_filter = egress_filter if egress_filter is not None else ''
12828        '''
12829         A filter applied to the routing logic to pin datasource to nodes.
12830        '''
12831        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12832        '''
12833         Header names (e.g. Authorization), to omit from logs.
12834        '''
12835        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12836        '''
12837         This path will be used to check the health of your site.
12838        '''
12839        self.healthy = healthy if healthy is not None else False
12840        '''
12841         True if the datasource is reachable and the credentials are valid.
12842        '''
12843        self.host_override = host_override if host_override is not None else ''
12844        '''
12845         The host header will be overwritten with this field if provided.
12846        '''
12847        self.id = id if id is not None else ''
12848        '''
12849         Unique identifier of the Resource.
12850        '''
12851        self.name = name if name is not None else ''
12852        '''
12853         Unique human-readable name of the Resource.
12854        '''
12855        self.password = password if password is not None else ''
12856        '''
12857         The password to authenticate with.
12858        '''
12859        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12860        '''
12861         ID of the proxy cluster for this resource, if any.
12862        '''
12863        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12864        '''
12865         ID of the secret store containing credentials for this resource, if any.
12866        '''
12867        self.subdomain = subdomain if subdomain is not None else ''
12868        '''
12869         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12870        '''
12871        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12872        '''
12873         Tags is a map of key, value pairs.
12874        '''
12875        self.url = url if url is not None else ''
12876        '''
12877         The base address of your website without the path.
12878        '''
12879        self.username = username if username is not None else ''
12880        '''
12881         The username to authenticate with.
12882        '''
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.

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)
12904    def to_dict(self):
12905        return {
12906            'bind_interface': self.bind_interface,
12907            'default_path': self.default_path,
12908            'egress_filter': self.egress_filter,
12909            'headers_blacklist': self.headers_blacklist,
12910            'healthcheck_path': self.healthcheck_path,
12911            'healthy': self.healthy,
12912            'host_override': self.host_override,
12913            'id': self.id,
12914            'name': self.name,
12915            'password': self.password,
12916            'proxy_cluster_id': self.proxy_cluster_id,
12917            'secret_store_id': self.secret_store_id,
12918            'subdomain': self.subdomain,
12919            'tags': self.tags,
12920            'url': self.url,
12921            'username': self.username,
12922        }
@classmethod
def from_dict(cls, d)
12924    @classmethod
12925    def from_dict(cls, d):
12926        return cls(
12927            bind_interface=d.get('bind_interface'),
12928            default_path=d.get('default_path'),
12929            egress_filter=d.get('egress_filter'),
12930            headers_blacklist=d.get('headers_blacklist'),
12931            healthcheck_path=d.get('healthcheck_path'),
12932            healthy=d.get('healthy'),
12933            host_override=d.get('host_override'),
12934            id=d.get('id'),
12935            name=d.get('name'),
12936            password=d.get('password'),
12937            proxy_cluster_id=d.get('proxy_cluster_id'),
12938            secret_store_id=d.get('secret_store_id'),
12939            subdomain=d.get('subdomain'),
12940            tags=d.get('tags'),
12941            url=d.get('url'),
12942            username=d.get('username'),
12943        )
class HTTPNoAuth:
12946class HTTPNoAuth:
12947    __slots__ = [
12948        'bind_interface',
12949        'default_path',
12950        'egress_filter',
12951        'headers_blacklist',
12952        'healthcheck_path',
12953        'healthy',
12954        'host_override',
12955        'id',
12956        'name',
12957        'proxy_cluster_id',
12958        'secret_store_id',
12959        'subdomain',
12960        'tags',
12961        'url',
12962    ]
12963
12964    def __init__(
12965        self,
12966        bind_interface=None,
12967        default_path=None,
12968        egress_filter=None,
12969        headers_blacklist=None,
12970        healthcheck_path=None,
12971        healthy=None,
12972        host_override=None,
12973        id=None,
12974        name=None,
12975        proxy_cluster_id=None,
12976        secret_store_id=None,
12977        subdomain=None,
12978        tags=None,
12979        url=None,
12980    ):
12981        self.bind_interface = bind_interface if bind_interface is not None else ''
12982        '''
12983         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12984        '''
12985        self.default_path = default_path if default_path is not None else ''
12986        '''
12987         Automatically redirect to this path upon connecting.
12988        '''
12989        self.egress_filter = egress_filter if egress_filter is not None else ''
12990        '''
12991         A filter applied to the routing logic to pin datasource to nodes.
12992        '''
12993        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12994        '''
12995         Header names (e.g. Authorization), to omit from logs.
12996        '''
12997        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12998        '''
12999         This path will be used to check the health of your site.
13000        '''
13001        self.healthy = healthy if healthy is not None else False
13002        '''
13003         True if the datasource is reachable and the credentials are valid.
13004        '''
13005        self.host_override = host_override if host_override is not None else ''
13006        '''
13007         The host header will be overwritten with this field if provided.
13008        '''
13009        self.id = id if id is not None else ''
13010        '''
13011         Unique identifier of the Resource.
13012        '''
13013        self.name = name if name is not None else ''
13014        '''
13015         Unique human-readable name of the Resource.
13016        '''
13017        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13018        '''
13019         ID of the proxy cluster for this resource, if any.
13020        '''
13021        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13022        '''
13023         ID of the secret store containing credentials for this resource, if any.
13024        '''
13025        self.subdomain = subdomain if subdomain is not None else ''
13026        '''
13027         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13028        '''
13029        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13030        '''
13031         Tags is a map of key, value pairs.
13032        '''
13033        self.url = url if url is not None else ''
13034        '''
13035         The base address of your website without the path.
13036        '''
13037
13038    def __repr__(self):
13039        return '<sdm.HTTPNoAuth ' + \
13040            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13041            'default_path: ' + repr(self.default_path) + ' ' +\
13042            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13043            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13044            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13045            'healthy: ' + repr(self.healthy) + ' ' +\
13046            'host_override: ' + repr(self.host_override) + ' ' +\
13047            'id: ' + repr(self.id) + ' ' +\
13048            'name: ' + repr(self.name) + ' ' +\
13049            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13050            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13051            'subdomain: ' + repr(self.subdomain) + ' ' +\
13052            'tags: ' + repr(self.tags) + ' ' +\
13053            'url: ' + repr(self.url) + ' ' +\
13054            '>'
13055
13056    def to_dict(self):
13057        return {
13058            'bind_interface': self.bind_interface,
13059            'default_path': self.default_path,
13060            'egress_filter': self.egress_filter,
13061            'headers_blacklist': self.headers_blacklist,
13062            'healthcheck_path': self.healthcheck_path,
13063            'healthy': self.healthy,
13064            'host_override': self.host_override,
13065            'id': self.id,
13066            'name': self.name,
13067            'proxy_cluster_id': self.proxy_cluster_id,
13068            'secret_store_id': self.secret_store_id,
13069            'subdomain': self.subdomain,
13070            'tags': self.tags,
13071            'url': self.url,
13072        }
13073
13074    @classmethod
13075    def from_dict(cls, d):
13076        return cls(
13077            bind_interface=d.get('bind_interface'),
13078            default_path=d.get('default_path'),
13079            egress_filter=d.get('egress_filter'),
13080            headers_blacklist=d.get('headers_blacklist'),
13081            healthcheck_path=d.get('healthcheck_path'),
13082            healthy=d.get('healthy'),
13083            host_override=d.get('host_override'),
13084            id=d.get('id'),
13085            name=d.get('name'),
13086            proxy_cluster_id=d.get('proxy_cluster_id'),
13087            secret_store_id=d.get('secret_store_id'),
13088            subdomain=d.get('subdomain'),
13089            tags=d.get('tags'),
13090            url=d.get('url'),
13091        )
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, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
12964    def __init__(
12965        self,
12966        bind_interface=None,
12967        default_path=None,
12968        egress_filter=None,
12969        headers_blacklist=None,
12970        healthcheck_path=None,
12971        healthy=None,
12972        host_override=None,
12973        id=None,
12974        name=None,
12975        proxy_cluster_id=None,
12976        secret_store_id=None,
12977        subdomain=None,
12978        tags=None,
12979        url=None,
12980    ):
12981        self.bind_interface = bind_interface if bind_interface is not None else ''
12982        '''
12983         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12984        '''
12985        self.default_path = default_path if default_path is not None else ''
12986        '''
12987         Automatically redirect to this path upon connecting.
12988        '''
12989        self.egress_filter = egress_filter if egress_filter is not None else ''
12990        '''
12991         A filter applied to the routing logic to pin datasource to nodes.
12992        '''
12993        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
12994        '''
12995         Header names (e.g. Authorization), to omit from logs.
12996        '''
12997        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
12998        '''
12999         This path will be used to check the health of your site.
13000        '''
13001        self.healthy = healthy if healthy is not None else False
13002        '''
13003         True if the datasource is reachable and the credentials are valid.
13004        '''
13005        self.host_override = host_override if host_override is not None else ''
13006        '''
13007         The host header will be overwritten with this field if provided.
13008        '''
13009        self.id = id if id is not None else ''
13010        '''
13011         Unique identifier of the Resource.
13012        '''
13013        self.name = name if name is not None else ''
13014        '''
13015         Unique human-readable name of the Resource.
13016        '''
13017        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13018        '''
13019         ID of the proxy cluster for this resource, if any.
13020        '''
13021        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13022        '''
13023         ID of the secret store containing credentials for this resource, if any.
13024        '''
13025        self.subdomain = subdomain if subdomain is not None else ''
13026        '''
13027         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13028        '''
13029        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13030        '''
13031         Tags is a map of key, value pairs.
13032        '''
13033        self.url = url if url is not None else ''
13034        '''
13035         The base address of your website without the path.
13036        '''
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.

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)
13056    def to_dict(self):
13057        return {
13058            'bind_interface': self.bind_interface,
13059            'default_path': self.default_path,
13060            'egress_filter': self.egress_filter,
13061            'headers_blacklist': self.headers_blacklist,
13062            'healthcheck_path': self.healthcheck_path,
13063            'healthy': self.healthy,
13064            'host_override': self.host_override,
13065            'id': self.id,
13066            'name': self.name,
13067            'proxy_cluster_id': self.proxy_cluster_id,
13068            'secret_store_id': self.secret_store_id,
13069            'subdomain': self.subdomain,
13070            'tags': self.tags,
13071            'url': self.url,
13072        }
@classmethod
def from_dict(cls, d)
13074    @classmethod
13075    def from_dict(cls, d):
13076        return cls(
13077            bind_interface=d.get('bind_interface'),
13078            default_path=d.get('default_path'),
13079            egress_filter=d.get('egress_filter'),
13080            headers_blacklist=d.get('headers_blacklist'),
13081            healthcheck_path=d.get('healthcheck_path'),
13082            healthy=d.get('healthy'),
13083            host_override=d.get('host_override'),
13084            id=d.get('id'),
13085            name=d.get('name'),
13086            proxy_cluster_id=d.get('proxy_cluster_id'),
13087            secret_store_id=d.get('secret_store_id'),
13088            subdomain=d.get('subdomain'),
13089            tags=d.get('tags'),
13090            url=d.get('url'),
13091        )
class Healthcheck:
13094class Healthcheck:
13095    '''
13096         Healthcheck defines the status of the link between a node and a resource
13097    '''
13098    __slots__ = [
13099        'error_msg',
13100        'healthy',
13101        'id',
13102        'node_id',
13103        'node_name',
13104        'resource_id',
13105        'resource_name',
13106        'timestamp',
13107    ]
13108
13109    def __init__(
13110        self,
13111        error_msg=None,
13112        healthy=None,
13113        id=None,
13114        node_id=None,
13115        node_name=None,
13116        resource_id=None,
13117        resource_name=None,
13118        timestamp=None,
13119    ):
13120        self.error_msg = error_msg if error_msg is not None else ''
13121        '''
13122         The error if unhealthy
13123        '''
13124        self.healthy = healthy if healthy is not None else False
13125        '''
13126         Whether the healthcheck succeeded.
13127        '''
13128        self.id = id if id is not None else ''
13129        '''
13130         Unique identifier of the healthcheck.
13131        '''
13132        self.node_id = node_id if node_id is not None else ''
13133        '''
13134         Unique identifier of the healthcheck node.
13135        '''
13136        self.node_name = node_name if node_name is not None else ''
13137        '''
13138         The name of the node.
13139        '''
13140        self.resource_id = resource_id if resource_id is not None else ''
13141        '''
13142         Unique identifier of the healthcheck resource.
13143        '''
13144        self.resource_name = resource_name if resource_name is not None else ''
13145        '''
13146         The name of the resource.
13147        '''
13148        self.timestamp = timestamp if timestamp is not None else None
13149        '''
13150         The time at which the healthcheck state was recorded.
13151        '''
13152
13153    def __repr__(self):
13154        return '<sdm.Healthcheck ' + \
13155            'error_msg: ' + repr(self.error_msg) + ' ' +\
13156            'healthy: ' + repr(self.healthy) + ' ' +\
13157            'id: ' + repr(self.id) + ' ' +\
13158            'node_id: ' + repr(self.node_id) + ' ' +\
13159            'node_name: ' + repr(self.node_name) + ' ' +\
13160            'resource_id: ' + repr(self.resource_id) + ' ' +\
13161            'resource_name: ' + repr(self.resource_name) + ' ' +\
13162            'timestamp: ' + repr(self.timestamp) + ' ' +\
13163            '>'
13164
13165    def to_dict(self):
13166        return {
13167            'error_msg': self.error_msg,
13168            'healthy': self.healthy,
13169            'id': self.id,
13170            'node_id': self.node_id,
13171            'node_name': self.node_name,
13172            'resource_id': self.resource_id,
13173            'resource_name': self.resource_name,
13174            'timestamp': self.timestamp,
13175        }
13176
13177    @classmethod
13178    def from_dict(cls, d):
13179        return cls(
13180            error_msg=d.get('error_msg'),
13181            healthy=d.get('healthy'),
13182            id=d.get('id'),
13183            node_id=d.get('node_id'),
13184            node_name=d.get('node_name'),
13185            resource_id=d.get('resource_id'),
13186            resource_name=d.get('resource_name'),
13187            timestamp=d.get('timestamp'),
13188        )

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)
13109    def __init__(
13110        self,
13111        error_msg=None,
13112        healthy=None,
13113        id=None,
13114        node_id=None,
13115        node_name=None,
13116        resource_id=None,
13117        resource_name=None,
13118        timestamp=None,
13119    ):
13120        self.error_msg = error_msg if error_msg is not None else ''
13121        '''
13122         The error if unhealthy
13123        '''
13124        self.healthy = healthy if healthy is not None else False
13125        '''
13126         Whether the healthcheck succeeded.
13127        '''
13128        self.id = id if id is not None else ''
13129        '''
13130         Unique identifier of the healthcheck.
13131        '''
13132        self.node_id = node_id if node_id is not None else ''
13133        '''
13134         Unique identifier of the healthcheck node.
13135        '''
13136        self.node_name = node_name if node_name is not None else ''
13137        '''
13138         The name of the node.
13139        '''
13140        self.resource_id = resource_id if resource_id is not None else ''
13141        '''
13142         Unique identifier of the healthcheck resource.
13143        '''
13144        self.resource_name = resource_name if resource_name is not None else ''
13145        '''
13146         The name of the resource.
13147        '''
13148        self.timestamp = timestamp if timestamp is not None else None
13149        '''
13150         The time at which the healthcheck state was recorded.
13151        '''
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)
13165    def to_dict(self):
13166        return {
13167            'error_msg': self.error_msg,
13168            'healthy': self.healthy,
13169            'id': self.id,
13170            'node_id': self.node_id,
13171            'node_name': self.node_name,
13172            'resource_id': self.resource_id,
13173            'resource_name': self.resource_name,
13174            'timestamp': self.timestamp,
13175        }
@classmethod
def from_dict(cls, d)
13177    @classmethod
13178    def from_dict(cls, d):
13179        return cls(
13180            error_msg=d.get('error_msg'),
13181            healthy=d.get('healthy'),
13182            id=d.get('id'),
13183            node_id=d.get('node_id'),
13184            node_name=d.get('node_name'),
13185            resource_id=d.get('resource_id'),
13186            resource_name=d.get('resource_name'),
13187            timestamp=d.get('timestamp'),
13188        )
class HealthcheckListResponse:
13191class HealthcheckListResponse:
13192    '''
13193         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
13194     HealthcheckListRequest.
13195    '''
13196    __slots__ = [
13197        'rate_limit',
13198    ]
13199
13200    def __init__(
13201        self,
13202        rate_limit=None,
13203    ):
13204        self.rate_limit = rate_limit if rate_limit is not None else None
13205        '''
13206         Rate limit information.
13207        '''
13208
13209    def __repr__(self):
13210        return '<sdm.HealthcheckListResponse ' + \
13211            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13212            '>'
13213
13214    def to_dict(self):
13215        return {
13216            'rate_limit': self.rate_limit,
13217        }
13218
13219    @classmethod
13220    def from_dict(cls, d):
13221        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)
13200    def __init__(
13201        self,
13202        rate_limit=None,
13203    ):
13204        self.rate_limit = rate_limit if rate_limit is not None else None
13205        '''
13206         Rate limit information.
13207        '''
rate_limit

Rate limit information.

def to_dict(self)
13214    def to_dict(self):
13215        return {
13216            'rate_limit': self.rate_limit,
13217        }
@classmethod
def from_dict(cls, d)
13219    @classmethod
13220    def from_dict(cls, d):
13221        return cls(rate_limit=d.get('rate_limit'), )
class IdentityAlias:
13224class IdentityAlias:
13225    '''
13226         IdentityAliases define the username to be used for a specific account
13227     when connecting to a remote resource using that identity set.
13228    '''
13229    __slots__ = [
13230        'account_id',
13231        'id',
13232        'identity_set_id',
13233        'username',
13234    ]
13235
13236    def __init__(
13237        self,
13238        account_id=None,
13239        id=None,
13240        identity_set_id=None,
13241        username=None,
13242    ):
13243        self.account_id = account_id if account_id is not None else ''
13244        '''
13245         The account for this identity alias.
13246        '''
13247        self.id = id if id is not None else ''
13248        '''
13249         Unique identifier of the IdentityAlias.
13250        '''
13251        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13252        '''
13253         The identity set.
13254        '''
13255        self.username = username if username is not None else ''
13256        '''
13257         The username to be used as the identity alias for this account.
13258        '''
13259
13260    def __repr__(self):
13261        return '<sdm.IdentityAlias ' + \
13262            'account_id: ' + repr(self.account_id) + ' ' +\
13263            'id: ' + repr(self.id) + ' ' +\
13264            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13265            'username: ' + repr(self.username) + ' ' +\
13266            '>'
13267
13268    def to_dict(self):
13269        return {
13270            'account_id': self.account_id,
13271            'id': self.id,
13272            'identity_set_id': self.identity_set_id,
13273            'username': self.username,
13274        }
13275
13276    @classmethod
13277    def from_dict(cls, d):
13278        return cls(
13279            account_id=d.get('account_id'),
13280            id=d.get('id'),
13281            identity_set_id=d.get('identity_set_id'),
13282            username=d.get('username'),
13283        )

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)
13236    def __init__(
13237        self,
13238        account_id=None,
13239        id=None,
13240        identity_set_id=None,
13241        username=None,
13242    ):
13243        self.account_id = account_id if account_id is not None else ''
13244        '''
13245         The account for this identity alias.
13246        '''
13247        self.id = id if id is not None else ''
13248        '''
13249         Unique identifier of the IdentityAlias.
13250        '''
13251        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13252        '''
13253         The identity set.
13254        '''
13255        self.username = username if username is not None else ''
13256        '''
13257         The username to be used as the identity alias for this account.
13258        '''
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)
13268    def to_dict(self):
13269        return {
13270            'account_id': self.account_id,
13271            'id': self.id,
13272            'identity_set_id': self.identity_set_id,
13273            'username': self.username,
13274        }
@classmethod
def from_dict(cls, d)
13276    @classmethod
13277    def from_dict(cls, d):
13278        return cls(
13279            account_id=d.get('account_id'),
13280            id=d.get('id'),
13281            identity_set_id=d.get('identity_set_id'),
13282            username=d.get('username'),
13283        )
class IdentityAliasCreateResponse:
13286class IdentityAliasCreateResponse:
13287    '''
13288         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
13289    '''
13290    __slots__ = [
13291        'identity_alias',
13292        'meta',
13293        'rate_limit',
13294    ]
13295
13296    def __init__(
13297        self,
13298        identity_alias=None,
13299        meta=None,
13300        rate_limit=None,
13301    ):
13302        self.identity_alias = identity_alias if identity_alias is not None else None
13303        '''
13304         The created IdentityAlias.
13305        '''
13306        self.meta = meta if meta is not None else None
13307        '''
13308         Reserved for future use.
13309        '''
13310        self.rate_limit = rate_limit if rate_limit is not None else None
13311        '''
13312         Rate limit information.
13313        '''
13314
13315    def __repr__(self):
13316        return '<sdm.IdentityAliasCreateResponse ' + \
13317            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13318            'meta: ' + repr(self.meta) + ' ' +\
13319            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13320            '>'
13321
13322    def to_dict(self):
13323        return {
13324            'identity_alias': self.identity_alias,
13325            'meta': self.meta,
13326            'rate_limit': self.rate_limit,
13327        }
13328
13329    @classmethod
13330    def from_dict(cls, d):
13331        return cls(
13332            identity_alias=d.get('identity_alias'),
13333            meta=d.get('meta'),
13334            rate_limit=d.get('rate_limit'),
13335        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
13296    def __init__(
13297        self,
13298        identity_alias=None,
13299        meta=None,
13300        rate_limit=None,
13301    ):
13302        self.identity_alias = identity_alias if identity_alias is not None else None
13303        '''
13304         The created IdentityAlias.
13305        '''
13306        self.meta = meta if meta is not None else None
13307        '''
13308         Reserved for future use.
13309        '''
13310        self.rate_limit = rate_limit if rate_limit is not None else None
13311        '''
13312         Rate limit information.
13313        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13322    def to_dict(self):
13323        return {
13324            'identity_alias': self.identity_alias,
13325            'meta': self.meta,
13326            'rate_limit': self.rate_limit,
13327        }
@classmethod
def from_dict(cls, d)
13329    @classmethod
13330    def from_dict(cls, d):
13331        return cls(
13332            identity_alias=d.get('identity_alias'),
13333            meta=d.get('meta'),
13334            rate_limit=d.get('rate_limit'),
13335        )
class IdentityAliasDeleteResponse:
13338class IdentityAliasDeleteResponse:
13339    '''
13340         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
13341    '''
13342    __slots__ = [
13343        'meta',
13344        'rate_limit',
13345    ]
13346
13347    def __init__(
13348        self,
13349        meta=None,
13350        rate_limit=None,
13351    ):
13352        self.meta = meta if meta is not None else None
13353        '''
13354         Reserved for future use.
13355        '''
13356        self.rate_limit = rate_limit if rate_limit is not None else None
13357        '''
13358         Rate limit information.
13359        '''
13360
13361    def __repr__(self):
13362        return '<sdm.IdentityAliasDeleteResponse ' + \
13363            'meta: ' + repr(self.meta) + ' ' +\
13364            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13365            '>'
13366
13367    def to_dict(self):
13368        return {
13369            'meta': self.meta,
13370            'rate_limit': self.rate_limit,
13371        }
13372
13373    @classmethod
13374    def from_dict(cls, d):
13375        return cls(
13376            meta=d.get('meta'),
13377            rate_limit=d.get('rate_limit'),
13378        )

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
13347    def __init__(
13348        self,
13349        meta=None,
13350        rate_limit=None,
13351    ):
13352        self.meta = meta if meta is not None else None
13353        '''
13354         Reserved for future use.
13355        '''
13356        self.rate_limit = rate_limit if rate_limit is not None else None
13357        '''
13358         Rate limit information.
13359        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13367    def to_dict(self):
13368        return {
13369            'meta': self.meta,
13370            'rate_limit': self.rate_limit,
13371        }
@classmethod
def from_dict(cls, d)
13373    @classmethod
13374    def from_dict(cls, d):
13375        return cls(
13376            meta=d.get('meta'),
13377            rate_limit=d.get('rate_limit'),
13378        )
class IdentityAliasGetResponse:
13381class IdentityAliasGetResponse:
13382    '''
13383         IdentityAliasGetResponse returns a requested IdentityAlias.
13384    '''
13385    __slots__ = [
13386        'identity_alias',
13387        'meta',
13388        'rate_limit',
13389    ]
13390
13391    def __init__(
13392        self,
13393        identity_alias=None,
13394        meta=None,
13395        rate_limit=None,
13396    ):
13397        self.identity_alias = identity_alias if identity_alias is not None else None
13398        '''
13399         The requested IdentityAlias.
13400        '''
13401        self.meta = meta if meta is not None else None
13402        '''
13403         Reserved for future use.
13404        '''
13405        self.rate_limit = rate_limit if rate_limit is not None else None
13406        '''
13407         Rate limit information.
13408        '''
13409
13410    def __repr__(self):
13411        return '<sdm.IdentityAliasGetResponse ' + \
13412            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13413            'meta: ' + repr(self.meta) + ' ' +\
13414            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13415            '>'
13416
13417    def to_dict(self):
13418        return {
13419            'identity_alias': self.identity_alias,
13420            'meta': self.meta,
13421            'rate_limit': self.rate_limit,
13422        }
13423
13424    @classmethod
13425    def from_dict(cls, d):
13426        return cls(
13427            identity_alias=d.get('identity_alias'),
13428            meta=d.get('meta'),
13429            rate_limit=d.get('rate_limit'),
13430        )

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
13391    def __init__(
13392        self,
13393        identity_alias=None,
13394        meta=None,
13395        rate_limit=None,
13396    ):
13397        self.identity_alias = identity_alias if identity_alias is not None else None
13398        '''
13399         The requested IdentityAlias.
13400        '''
13401        self.meta = meta if meta is not None else None
13402        '''
13403         Reserved for future use.
13404        '''
13405        self.rate_limit = rate_limit if rate_limit is not None else None
13406        '''
13407         Rate limit information.
13408        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13417    def to_dict(self):
13418        return {
13419            'identity_alias': self.identity_alias,
13420            'meta': self.meta,
13421            'rate_limit': self.rate_limit,
13422        }
@classmethod
def from_dict(cls, d)
13424    @classmethod
13425    def from_dict(cls, d):
13426        return cls(
13427            identity_alias=d.get('identity_alias'),
13428            meta=d.get('meta'),
13429            rate_limit=d.get('rate_limit'),
13430        )
class IdentityAliasHistory:
13433class IdentityAliasHistory:
13434    '''
13435         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
13436     where every change (create, update and delete) to a IdentityAlias produces an
13437     IdentityAliasHistory record.
13438    '''
13439    __slots__ = [
13440        'activity_id',
13441        'deleted_at',
13442        'identity_alias',
13443        'timestamp',
13444    ]
13445
13446    def __init__(
13447        self,
13448        activity_id=None,
13449        deleted_at=None,
13450        identity_alias=None,
13451        timestamp=None,
13452    ):
13453        self.activity_id = activity_id if activity_id is not None else ''
13454        '''
13455         The unique identifier of the Activity that produced this change to the IdentityAlias.
13456         May be empty for some system-initiated updates.
13457        '''
13458        self.deleted_at = deleted_at if deleted_at is not None else None
13459        '''
13460         If this IdentityAlias was deleted, the time it was deleted.
13461        '''
13462        self.identity_alias = identity_alias if identity_alias is not None else None
13463        '''
13464         The complete IdentityAlias state at this time.
13465        '''
13466        self.timestamp = timestamp if timestamp is not None else None
13467        '''
13468         The time at which the IdentityAlias state was recorded.
13469        '''
13470
13471    def __repr__(self):
13472        return '<sdm.IdentityAliasHistory ' + \
13473            'activity_id: ' + repr(self.activity_id) + ' ' +\
13474            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
13475            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13476            'timestamp: ' + repr(self.timestamp) + ' ' +\
13477            '>'
13478
13479    def to_dict(self):
13480        return {
13481            'activity_id': self.activity_id,
13482            'deleted_at': self.deleted_at,
13483            'identity_alias': self.identity_alias,
13484            'timestamp': self.timestamp,
13485        }
13486
13487    @classmethod
13488    def from_dict(cls, d):
13489        return cls(
13490            activity_id=d.get('activity_id'),
13491            deleted_at=d.get('deleted_at'),
13492            identity_alias=d.get('identity_alias'),
13493            timestamp=d.get('timestamp'),
13494        )

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)
13446    def __init__(
13447        self,
13448        activity_id=None,
13449        deleted_at=None,
13450        identity_alias=None,
13451        timestamp=None,
13452    ):
13453        self.activity_id = activity_id if activity_id is not None else ''
13454        '''
13455         The unique identifier of the Activity that produced this change to the IdentityAlias.
13456         May be empty for some system-initiated updates.
13457        '''
13458        self.deleted_at = deleted_at if deleted_at is not None else None
13459        '''
13460         If this IdentityAlias was deleted, the time it was deleted.
13461        '''
13462        self.identity_alias = identity_alias if identity_alias is not None else None
13463        '''
13464         The complete IdentityAlias state at this time.
13465        '''
13466        self.timestamp = timestamp if timestamp is not None else None
13467        '''
13468         The time at which the IdentityAlias state was recorded.
13469        '''
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)
13479    def to_dict(self):
13480        return {
13481            'activity_id': self.activity_id,
13482            'deleted_at': self.deleted_at,
13483            'identity_alias': self.identity_alias,
13484            'timestamp': self.timestamp,
13485        }
@classmethod
def from_dict(cls, d)
13487    @classmethod
13488    def from_dict(cls, d):
13489        return cls(
13490            activity_id=d.get('activity_id'),
13491            deleted_at=d.get('deleted_at'),
13492            identity_alias=d.get('identity_alias'),
13493            timestamp=d.get('timestamp'),
13494        )
class IdentityAliasUpdateResponse:
13497class IdentityAliasUpdateResponse:
13498    '''
13499         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
13500     a IdentityAliasUpdateRequest.
13501    '''
13502    __slots__ = [
13503        'identity_alias',
13504        'meta',
13505        'rate_limit',
13506    ]
13507
13508    def __init__(
13509        self,
13510        identity_alias=None,
13511        meta=None,
13512        rate_limit=None,
13513    ):
13514        self.identity_alias = identity_alias if identity_alias is not None else None
13515        '''
13516         The updated IdentityAlias.
13517        '''
13518        self.meta = meta if meta is not None else None
13519        '''
13520         Reserved for future use.
13521        '''
13522        self.rate_limit = rate_limit if rate_limit is not None else None
13523        '''
13524         Rate limit information.
13525        '''
13526
13527    def __repr__(self):
13528        return '<sdm.IdentityAliasUpdateResponse ' + \
13529            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
13530            'meta: ' + repr(self.meta) + ' ' +\
13531            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13532            '>'
13533
13534    def to_dict(self):
13535        return {
13536            'identity_alias': self.identity_alias,
13537            'meta': self.meta,
13538            'rate_limit': self.rate_limit,
13539        }
13540
13541    @classmethod
13542    def from_dict(cls, d):
13543        return cls(
13544            identity_alias=d.get('identity_alias'),
13545            meta=d.get('meta'),
13546            rate_limit=d.get('rate_limit'),
13547        )

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

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
13508    def __init__(
13509        self,
13510        identity_alias=None,
13511        meta=None,
13512        rate_limit=None,
13513    ):
13514        self.identity_alias = identity_alias if identity_alias is not None else None
13515        '''
13516         The updated IdentityAlias.
13517        '''
13518        self.meta = meta if meta is not None else None
13519        '''
13520         Reserved for future use.
13521        '''
13522        self.rate_limit = rate_limit if rate_limit is not None else None
13523        '''
13524         Rate limit information.
13525        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13534    def to_dict(self):
13535        return {
13536            'identity_alias': self.identity_alias,
13537            'meta': self.meta,
13538            'rate_limit': self.rate_limit,
13539        }
@classmethod
def from_dict(cls, d)
13541    @classmethod
13542    def from_dict(cls, d):
13543        return cls(
13544            identity_alias=d.get('identity_alias'),
13545            meta=d.get('meta'),
13546            rate_limit=d.get('rate_limit'),
13547        )
class IdentitySet:
13550class IdentitySet:
13551    '''
13552         A IdentitySet defines a group of identity aliases.
13553    '''
13554    __slots__ = [
13555        'id',
13556        'name',
13557    ]
13558
13559    def __init__(
13560        self,
13561        id=None,
13562        name=None,
13563    ):
13564        self.id = id if id is not None else ''
13565        '''
13566         Unique identifier of the IdentitySet.
13567        '''
13568        self.name = name if name is not None else ''
13569        '''
13570         Unique human-readable name of the IdentitySet.
13571        '''
13572
13573    def __repr__(self):
13574        return '<sdm.IdentitySet ' + \
13575            'id: ' + repr(self.id) + ' ' +\
13576            'name: ' + repr(self.name) + ' ' +\
13577            '>'
13578
13579    def to_dict(self):
13580        return {
13581            'id': self.id,
13582            'name': self.name,
13583        }
13584
13585    @classmethod
13586    def from_dict(cls, d):
13587        return cls(
13588            id=d.get('id'),
13589            name=d.get('name'),
13590        )

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
13559    def __init__(
13560        self,
13561        id=None,
13562        name=None,
13563    ):
13564        self.id = id if id is not None else ''
13565        '''
13566         Unique identifier of the IdentitySet.
13567        '''
13568        self.name = name if name is not None else ''
13569        '''
13570         Unique human-readable name of the IdentitySet.
13571        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

def to_dict(self)
13579    def to_dict(self):
13580        return {
13581            'id': self.id,
13582            'name': self.name,
13583        }
@classmethod
def from_dict(cls, d)
13585    @classmethod
13586    def from_dict(cls, d):
13587        return cls(
13588            id=d.get('id'),
13589            name=d.get('name'),
13590        )
class IdentitySetCreateResponse:
13593class IdentitySetCreateResponse:
13594    '''
13595         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
13596     communicate partial successes or failures.
13597    '''
13598    __slots__ = [
13599        'identity_set',
13600        'meta',
13601        'rate_limit',
13602    ]
13603
13604    def __init__(
13605        self,
13606        identity_set=None,
13607        meta=None,
13608        rate_limit=None,
13609    ):
13610        self.identity_set = identity_set if identity_set is not None else None
13611        '''
13612         The created IdentitySet.
13613        '''
13614        self.meta = meta if meta is not None else None
13615        '''
13616         Reserved for future use.
13617        '''
13618        self.rate_limit = rate_limit if rate_limit is not None else None
13619        '''
13620         Rate limit information.
13621        '''
13622
13623    def __repr__(self):
13624        return '<sdm.IdentitySetCreateResponse ' + \
13625            'identity_set: ' + repr(self.identity_set) + ' ' +\
13626            'meta: ' + repr(self.meta) + ' ' +\
13627            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13628            '>'
13629
13630    def to_dict(self):
13631        return {
13632            'identity_set': self.identity_set,
13633            'meta': self.meta,
13634            'rate_limit': self.rate_limit,
13635        }
13636
13637    @classmethod
13638    def from_dict(cls, d):
13639        return cls(
13640            identity_set=d.get('identity_set'),
13641            meta=d.get('meta'),
13642            rate_limit=d.get('rate_limit'),
13643        )

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)
13604    def __init__(
13605        self,
13606        identity_set=None,
13607        meta=None,
13608        rate_limit=None,
13609    ):
13610        self.identity_set = identity_set if identity_set is not None else None
13611        '''
13612         The created IdentitySet.
13613        '''
13614        self.meta = meta if meta is not None else None
13615        '''
13616         Reserved for future use.
13617        '''
13618        self.rate_limit = rate_limit if rate_limit is not None else None
13619        '''
13620         Rate limit information.
13621        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13630    def to_dict(self):
13631        return {
13632            'identity_set': self.identity_set,
13633            'meta': self.meta,
13634            'rate_limit': self.rate_limit,
13635        }
@classmethod
def from_dict(cls, d)
13637    @classmethod
13638    def from_dict(cls, d):
13639        return cls(
13640            identity_set=d.get('identity_set'),
13641            meta=d.get('meta'),
13642            rate_limit=d.get('rate_limit'),
13643        )
class IdentitySetDeleteResponse:
13646class IdentitySetDeleteResponse:
13647    '''
13648         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
13649    '''
13650    __slots__ = [
13651        'meta',
13652        'rate_limit',
13653    ]
13654
13655    def __init__(
13656        self,
13657        meta=None,
13658        rate_limit=None,
13659    ):
13660        self.meta = meta if meta is not None else None
13661        '''
13662         Reserved for future use.
13663        '''
13664        self.rate_limit = rate_limit if rate_limit is not None else None
13665        '''
13666         Rate limit information.
13667        '''
13668
13669    def __repr__(self):
13670        return '<sdm.IdentitySetDeleteResponse ' + \
13671            'meta: ' + repr(self.meta) + ' ' +\
13672            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13673            '>'
13674
13675    def to_dict(self):
13676        return {
13677            'meta': self.meta,
13678            'rate_limit': self.rate_limit,
13679        }
13680
13681    @classmethod
13682    def from_dict(cls, d):
13683        return cls(
13684            meta=d.get('meta'),
13685            rate_limit=d.get('rate_limit'),
13686        )

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
13655    def __init__(
13656        self,
13657        meta=None,
13658        rate_limit=None,
13659    ):
13660        self.meta = meta if meta is not None else None
13661        '''
13662         Reserved for future use.
13663        '''
13664        self.rate_limit = rate_limit if rate_limit is not None else None
13665        '''
13666         Rate limit information.
13667        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13675    def to_dict(self):
13676        return {
13677            'meta': self.meta,
13678            'rate_limit': self.rate_limit,
13679        }
@classmethod
def from_dict(cls, d)
13681    @classmethod
13682    def from_dict(cls, d):
13683        return cls(
13684            meta=d.get('meta'),
13685            rate_limit=d.get('rate_limit'),
13686        )
class IdentitySetGetResponse:
13689class IdentitySetGetResponse:
13690    '''
13691         IdentitySetGetResponse returns a requested IdentitySet.
13692    '''
13693    __slots__ = [
13694        'identity_set',
13695        'meta',
13696        'rate_limit',
13697    ]
13698
13699    def __init__(
13700        self,
13701        identity_set=None,
13702        meta=None,
13703        rate_limit=None,
13704    ):
13705        self.identity_set = identity_set if identity_set is not None else None
13706        '''
13707         The requested IdentitySet.
13708        '''
13709        self.meta = meta if meta is not None else None
13710        '''
13711         Reserved for future use.
13712        '''
13713        self.rate_limit = rate_limit if rate_limit is not None else None
13714        '''
13715         Rate limit information.
13716        '''
13717
13718    def __repr__(self):
13719        return '<sdm.IdentitySetGetResponse ' + \
13720            'identity_set: ' + repr(self.identity_set) + ' ' +\
13721            'meta: ' + repr(self.meta) + ' ' +\
13722            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13723            '>'
13724
13725    def to_dict(self):
13726        return {
13727            'identity_set': self.identity_set,
13728            'meta': self.meta,
13729            'rate_limit': self.rate_limit,
13730        }
13731
13732    @classmethod
13733    def from_dict(cls, d):
13734        return cls(
13735            identity_set=d.get('identity_set'),
13736            meta=d.get('meta'),
13737            rate_limit=d.get('rate_limit'),
13738        )

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
13699    def __init__(
13700        self,
13701        identity_set=None,
13702        meta=None,
13703        rate_limit=None,
13704    ):
13705        self.identity_set = identity_set if identity_set is not None else None
13706        '''
13707         The requested IdentitySet.
13708        '''
13709        self.meta = meta if meta is not None else None
13710        '''
13711         Reserved for future use.
13712        '''
13713        self.rate_limit = rate_limit if rate_limit is not None else None
13714        '''
13715         Rate limit information.
13716        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13725    def to_dict(self):
13726        return {
13727            'identity_set': self.identity_set,
13728            'meta': self.meta,
13729            'rate_limit': self.rate_limit,
13730        }
@classmethod
def from_dict(cls, d)
13732    @classmethod
13733    def from_dict(cls, d):
13734        return cls(
13735            identity_set=d.get('identity_set'),
13736            meta=d.get('meta'),
13737            rate_limit=d.get('rate_limit'),
13738        )
class IdentitySetHistory:
13741class IdentitySetHistory:
13742    '''
13743         IdentitySetHistory records the state of a IdentitySet at a given point in time,
13744     where every change (create, update and delete) to a IdentitySet produces an
13745     IdentitySetHistory record.
13746    '''
13747    __slots__ = [
13748        'activity_id',
13749        'deleted_at',
13750        'identity_set',
13751        'timestamp',
13752    ]
13753
13754    def __init__(
13755        self,
13756        activity_id=None,
13757        deleted_at=None,
13758        identity_set=None,
13759        timestamp=None,
13760    ):
13761        self.activity_id = activity_id if activity_id is not None else ''
13762        '''
13763         The unique identifier of the Activity that produced this change to the IdentitySet.
13764         May be empty for some system-initiated updates.
13765        '''
13766        self.deleted_at = deleted_at if deleted_at is not None else None
13767        '''
13768         If this IdentitySet was deleted, the time it was deleted.
13769        '''
13770        self.identity_set = identity_set if identity_set is not None else None
13771        '''
13772         The complete IdentitySet state at this time.
13773        '''
13774        self.timestamp = timestamp if timestamp is not None else None
13775        '''
13776         The time at which the IdentitySet state was recorded.
13777        '''
13778
13779    def __repr__(self):
13780        return '<sdm.IdentitySetHistory ' + \
13781            'activity_id: ' + repr(self.activity_id) + ' ' +\
13782            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
13783            'identity_set: ' + repr(self.identity_set) + ' ' +\
13784            'timestamp: ' + repr(self.timestamp) + ' ' +\
13785            '>'
13786
13787    def to_dict(self):
13788        return {
13789            'activity_id': self.activity_id,
13790            'deleted_at': self.deleted_at,
13791            'identity_set': self.identity_set,
13792            'timestamp': self.timestamp,
13793        }
13794
13795    @classmethod
13796    def from_dict(cls, d):
13797        return cls(
13798            activity_id=d.get('activity_id'),
13799            deleted_at=d.get('deleted_at'),
13800            identity_set=d.get('identity_set'),
13801            timestamp=d.get('timestamp'),
13802        )

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)
13754    def __init__(
13755        self,
13756        activity_id=None,
13757        deleted_at=None,
13758        identity_set=None,
13759        timestamp=None,
13760    ):
13761        self.activity_id = activity_id if activity_id is not None else ''
13762        '''
13763         The unique identifier of the Activity that produced this change to the IdentitySet.
13764         May be empty for some system-initiated updates.
13765        '''
13766        self.deleted_at = deleted_at if deleted_at is not None else None
13767        '''
13768         If this IdentitySet was deleted, the time it was deleted.
13769        '''
13770        self.identity_set = identity_set if identity_set is not None else None
13771        '''
13772         The complete IdentitySet state at this time.
13773        '''
13774        self.timestamp = timestamp if timestamp is not None else None
13775        '''
13776         The time at which the IdentitySet state was recorded.
13777        '''
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)
13787    def to_dict(self):
13788        return {
13789            'activity_id': self.activity_id,
13790            'deleted_at': self.deleted_at,
13791            'identity_set': self.identity_set,
13792            'timestamp': self.timestamp,
13793        }
@classmethod
def from_dict(cls, d)
13795    @classmethod
13796    def from_dict(cls, d):
13797        return cls(
13798            activity_id=d.get('activity_id'),
13799            deleted_at=d.get('deleted_at'),
13800            identity_set=d.get('identity_set'),
13801            timestamp=d.get('timestamp'),
13802        )
class IdentitySetUpdateResponse:
13805class IdentitySetUpdateResponse:
13806    '''
13807         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
13808     a IdentitySetUpdateRequest.
13809    '''
13810    __slots__ = [
13811        'identity_set',
13812        'meta',
13813        'rate_limit',
13814    ]
13815
13816    def __init__(
13817        self,
13818        identity_set=None,
13819        meta=None,
13820        rate_limit=None,
13821    ):
13822        self.identity_set = identity_set if identity_set is not None else None
13823        '''
13824         The updated IdentitySet.
13825        '''
13826        self.meta = meta if meta is not None else None
13827        '''
13828         Reserved for future use.
13829        '''
13830        self.rate_limit = rate_limit if rate_limit is not None else None
13831        '''
13832         Rate limit information.
13833        '''
13834
13835    def __repr__(self):
13836        return '<sdm.IdentitySetUpdateResponse ' + \
13837            'identity_set: ' + repr(self.identity_set) + ' ' +\
13838            'meta: ' + repr(self.meta) + ' ' +\
13839            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13840            '>'
13841
13842    def to_dict(self):
13843        return {
13844            'identity_set': self.identity_set,
13845            'meta': self.meta,
13846            'rate_limit': self.rate_limit,
13847        }
13848
13849    @classmethod
13850    def from_dict(cls, d):
13851        return cls(
13852            identity_set=d.get('identity_set'),
13853            meta=d.get('meta'),
13854            rate_limit=d.get('rate_limit'),
13855        )

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

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
13816    def __init__(
13817        self,
13818        identity_set=None,
13819        meta=None,
13820        rate_limit=None,
13821    ):
13822        self.identity_set = identity_set if identity_set is not None else None
13823        '''
13824         The updated IdentitySet.
13825        '''
13826        self.meta = meta if meta is not None else None
13827        '''
13828         Reserved for future use.
13829        '''
13830        self.rate_limit = rate_limit if rate_limit is not None else None
13831        '''
13832         Rate limit information.
13833        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
13842    def to_dict(self):
13843        return {
13844            'identity_set': self.identity_set,
13845            'meta': self.meta,
13846            'rate_limit': self.rate_limit,
13847        }
@classmethod
def from_dict(cls, d)
13849    @classmethod
13850    def from_dict(cls, d):
13851        return cls(
13852            identity_set=d.get('identity_set'),
13853            meta=d.get('meta'),
13854            rate_limit=d.get('rate_limit'),
13855        )
class KeyfactorSSHStore:
13858class KeyfactorSSHStore:
13859    __slots__ = [
13860        'ca_file_path',
13861        'certificate_file_path',
13862        'default_certificate_authority_name',
13863        'default_certificate_profile_name',
13864        'default_end_entity_profile_name',
13865        'enrollment_code_env_var',
13866        'enrollment_username_env_var',
13867        'id',
13868        'key_file_path',
13869        'name',
13870        'server_address',
13871        'tags',
13872    ]
13873
13874    def __init__(
13875        self,
13876        ca_file_path=None,
13877        certificate_file_path=None,
13878        default_certificate_authority_name=None,
13879        default_certificate_profile_name=None,
13880        default_end_entity_profile_name=None,
13881        enrollment_code_env_var=None,
13882        enrollment_username_env_var=None,
13883        id=None,
13884        key_file_path=None,
13885        name=None,
13886        server_address=None,
13887        tags=None,
13888    ):
13889        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
13890        '''
13891         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
13892         This is not required if the CA is trusted by the host operating system. This should be a PEM
13893         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
13894        '''
13895        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
13896        '''
13897         Path to client certificate in PEM format. This certificate must contain a client certificate that
13898         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
13899         key associated with the certificate, but KeyFile can also be set to configure the private key.
13900        '''
13901        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
13902        '''
13903         Name of EJBCA certificate authority that will enroll CSR.
13904        '''
13905        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
13906        '''
13907         Certificate profile name that EJBCA will enroll the CSR with.
13908        '''
13909        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
13910        '''
13911         End entity profile that EJBCA will enroll the CSR with.
13912        '''
13913        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
13914        '''
13915         code used by EJBCA during enrollment. May be left blank if no code is required.
13916        '''
13917        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
13918        '''
13919         username that used by the EJBCA during enrollment. This can be left out. 
13920         If so, the username must be auto-generated on the Keyfactor side.
13921        '''
13922        self.id = id if id is not None else ''
13923        '''
13924         Unique identifier of the SecretStore.
13925        '''
13926        self.key_file_path = key_file_path if key_file_path is not None else ''
13927        '''
13928         Path to private key in PEM format. This file should contain the private key associated with the
13929         client certificate configured in CertificateFile.
13930        '''
13931        self.name = name if name is not None else ''
13932        '''
13933         Unique human-readable name of the SecretStore.
13934        '''
13935        self.server_address = server_address if server_address is not None else ''
13936        '''
13937         the host of the Key Factor CA
13938        '''
13939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13940        '''
13941         Tags is a map of key, value pairs.
13942        '''
13943
13944    def __repr__(self):
13945        return '<sdm.KeyfactorSSHStore ' + \
13946            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
13947            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
13948            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
13949            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
13950            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
13951            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
13952            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
13953            'id: ' + repr(self.id) + ' ' +\
13954            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
13955            'name: ' + repr(self.name) + ' ' +\
13956            'server_address: ' + repr(self.server_address) + ' ' +\
13957            'tags: ' + repr(self.tags) + ' ' +\
13958            '>'
13959
13960    def to_dict(self):
13961        return {
13962            'ca_file_path': self.ca_file_path,
13963            'certificate_file_path': self.certificate_file_path,
13964            'default_certificate_authority_name':
13965            self.default_certificate_authority_name,
13966            'default_certificate_profile_name':
13967            self.default_certificate_profile_name,
13968            'default_end_entity_profile_name':
13969            self.default_end_entity_profile_name,
13970            'enrollment_code_env_var': self.enrollment_code_env_var,
13971            'enrollment_username_env_var': self.enrollment_username_env_var,
13972            'id': self.id,
13973            'key_file_path': self.key_file_path,
13974            'name': self.name,
13975            'server_address': self.server_address,
13976            'tags': self.tags,
13977        }
13978
13979    @classmethod
13980    def from_dict(cls, d):
13981        return cls(
13982            ca_file_path=d.get('ca_file_path'),
13983            certificate_file_path=d.get('certificate_file_path'),
13984            default_certificate_authority_name=d.get(
13985                'default_certificate_authority_name'),
13986            default_certificate_profile_name=d.get(
13987                'default_certificate_profile_name'),
13988            default_end_entity_profile_name=d.get(
13989                'default_end_entity_profile_name'),
13990            enrollment_code_env_var=d.get('enrollment_code_env_var'),
13991            enrollment_username_env_var=d.get('enrollment_username_env_var'),
13992            id=d.get('id'),
13993            key_file_path=d.get('key_file_path'),
13994            name=d.get('name'),
13995            server_address=d.get('server_address'),
13996            tags=d.get('tags'),
13997        )
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)
13874    def __init__(
13875        self,
13876        ca_file_path=None,
13877        certificate_file_path=None,
13878        default_certificate_authority_name=None,
13879        default_certificate_profile_name=None,
13880        default_end_entity_profile_name=None,
13881        enrollment_code_env_var=None,
13882        enrollment_username_env_var=None,
13883        id=None,
13884        key_file_path=None,
13885        name=None,
13886        server_address=None,
13887        tags=None,
13888    ):
13889        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
13890        '''
13891         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
13892         This is not required if the CA is trusted by the host operating system. This should be a PEM
13893         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
13894        '''
13895        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
13896        '''
13897         Path to client certificate in PEM format. This certificate must contain a client certificate that
13898         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
13899         key associated with the certificate, but KeyFile can also be set to configure the private key.
13900        '''
13901        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
13902        '''
13903         Name of EJBCA certificate authority that will enroll CSR.
13904        '''
13905        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
13906        '''
13907         Certificate profile name that EJBCA will enroll the CSR with.
13908        '''
13909        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
13910        '''
13911         End entity profile that EJBCA will enroll the CSR with.
13912        '''
13913        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
13914        '''
13915         code used by EJBCA during enrollment. May be left blank if no code is required.
13916        '''
13917        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
13918        '''
13919         username that used by the EJBCA during enrollment. This can be left out. 
13920         If so, the username must be auto-generated on the Keyfactor side.
13921        '''
13922        self.id = id if id is not None else ''
13923        '''
13924         Unique identifier of the SecretStore.
13925        '''
13926        self.key_file_path = key_file_path if key_file_path is not None else ''
13927        '''
13928         Path to private key in PEM format. This file should contain the private key associated with the
13929         client certificate configured in CertificateFile.
13930        '''
13931        self.name = name if name is not None else ''
13932        '''
13933         Unique human-readable name of the SecretStore.
13934        '''
13935        self.server_address = server_address if server_address is not None else ''
13936        '''
13937         the host of the Key Factor CA
13938        '''
13939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13940        '''
13941         Tags is a map of key, value pairs.
13942        '''
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)
13960    def to_dict(self):
13961        return {
13962            'ca_file_path': self.ca_file_path,
13963            'certificate_file_path': self.certificate_file_path,
13964            'default_certificate_authority_name':
13965            self.default_certificate_authority_name,
13966            'default_certificate_profile_name':
13967            self.default_certificate_profile_name,
13968            'default_end_entity_profile_name':
13969            self.default_end_entity_profile_name,
13970            'enrollment_code_env_var': self.enrollment_code_env_var,
13971            'enrollment_username_env_var': self.enrollment_username_env_var,
13972            'id': self.id,
13973            'key_file_path': self.key_file_path,
13974            'name': self.name,
13975            'server_address': self.server_address,
13976            'tags': self.tags,
13977        }
@classmethod
def from_dict(cls, d)
13979    @classmethod
13980    def from_dict(cls, d):
13981        return cls(
13982            ca_file_path=d.get('ca_file_path'),
13983            certificate_file_path=d.get('certificate_file_path'),
13984            default_certificate_authority_name=d.get(
13985                'default_certificate_authority_name'),
13986            default_certificate_profile_name=d.get(
13987                'default_certificate_profile_name'),
13988            default_end_entity_profile_name=d.get(
13989                'default_end_entity_profile_name'),
13990            enrollment_code_env_var=d.get('enrollment_code_env_var'),
13991            enrollment_username_env_var=d.get('enrollment_username_env_var'),
13992            id=d.get('id'),
13993            key_file_path=d.get('key_file_path'),
13994            name=d.get('name'),
13995            server_address=d.get('server_address'),
13996            tags=d.get('tags'),
13997        )
class KeyfactorX509Store:
14000class KeyfactorX509Store:
14001    __slots__ = [
14002        'ca_file_path',
14003        'certificate_file_path',
14004        'default_certificate_authority_name',
14005        'default_certificate_profile_name',
14006        'default_end_entity_profile_name',
14007        'enrollment_code_env_var',
14008        'enrollment_username_env_var',
14009        'id',
14010        'key_file_path',
14011        'name',
14012        'server_address',
14013        'tags',
14014    ]
14015
14016    def __init__(
14017        self,
14018        ca_file_path=None,
14019        certificate_file_path=None,
14020        default_certificate_authority_name=None,
14021        default_certificate_profile_name=None,
14022        default_end_entity_profile_name=None,
14023        enrollment_code_env_var=None,
14024        enrollment_username_env_var=None,
14025        id=None,
14026        key_file_path=None,
14027        name=None,
14028        server_address=None,
14029        tags=None,
14030    ):
14031        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14032        '''
14033         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14034         This is not required if the CA is trusted by the host operating system. This should be a PEM
14035         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14036        '''
14037        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14038        '''
14039         Path to client certificate in PEM format. This certificate must contain a client certificate that
14040         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14041         key associated with the certificate, but KeyFile can also be set to configure the private key.
14042        '''
14043        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14044        '''
14045         Name of EJBCA certificate authority that will enroll CSR.
14046        '''
14047        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14048        '''
14049         Certificate profile name that EJBCA will enroll the CSR with.
14050        '''
14051        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14052        '''
14053         End entity profile that EJBCA will enroll the CSR with.
14054        '''
14055        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14056        '''
14057         code used by EJBCA during enrollment. May be left blank if no code is required.
14058        '''
14059        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14060        '''
14061         username that used by the EJBCA during enrollment. This can be left out. 
14062         If so, the username must be auto-generated on the Keyfactor side.
14063        '''
14064        self.id = id if id is not None else ''
14065        '''
14066         Unique identifier of the SecretStore.
14067        '''
14068        self.key_file_path = key_file_path if key_file_path is not None else ''
14069        '''
14070         Path to private key in PEM format. This file should contain the private key associated with the
14071         client certificate configured in CertificateFile.
14072        '''
14073        self.name = name if name is not None else ''
14074        '''
14075         Unique human-readable name of the SecretStore.
14076        '''
14077        self.server_address = server_address if server_address is not None else ''
14078        '''
14079         the host of the Key Factor CA
14080        '''
14081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14082        '''
14083         Tags is a map of key, value pairs.
14084        '''
14085
14086    def __repr__(self):
14087        return '<sdm.KeyfactorX509Store ' + \
14088            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
14089            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
14090            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
14091            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
14092            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
14093            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
14094            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
14095            'id: ' + repr(self.id) + ' ' +\
14096            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
14097            'name: ' + repr(self.name) + ' ' +\
14098            'server_address: ' + repr(self.server_address) + ' ' +\
14099            'tags: ' + repr(self.tags) + ' ' +\
14100            '>'
14101
14102    def to_dict(self):
14103        return {
14104            'ca_file_path': self.ca_file_path,
14105            'certificate_file_path': self.certificate_file_path,
14106            'default_certificate_authority_name':
14107            self.default_certificate_authority_name,
14108            'default_certificate_profile_name':
14109            self.default_certificate_profile_name,
14110            'default_end_entity_profile_name':
14111            self.default_end_entity_profile_name,
14112            'enrollment_code_env_var': self.enrollment_code_env_var,
14113            'enrollment_username_env_var': self.enrollment_username_env_var,
14114            'id': self.id,
14115            'key_file_path': self.key_file_path,
14116            'name': self.name,
14117            'server_address': self.server_address,
14118            'tags': self.tags,
14119        }
14120
14121    @classmethod
14122    def from_dict(cls, d):
14123        return cls(
14124            ca_file_path=d.get('ca_file_path'),
14125            certificate_file_path=d.get('certificate_file_path'),
14126            default_certificate_authority_name=d.get(
14127                'default_certificate_authority_name'),
14128            default_certificate_profile_name=d.get(
14129                'default_certificate_profile_name'),
14130            default_end_entity_profile_name=d.get(
14131                'default_end_entity_profile_name'),
14132            enrollment_code_env_var=d.get('enrollment_code_env_var'),
14133            enrollment_username_env_var=d.get('enrollment_username_env_var'),
14134            id=d.get('id'),
14135            key_file_path=d.get('key_file_path'),
14136            name=d.get('name'),
14137            server_address=d.get('server_address'),
14138            tags=d.get('tags'),
14139        )
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)
14016    def __init__(
14017        self,
14018        ca_file_path=None,
14019        certificate_file_path=None,
14020        default_certificate_authority_name=None,
14021        default_certificate_profile_name=None,
14022        default_end_entity_profile_name=None,
14023        enrollment_code_env_var=None,
14024        enrollment_username_env_var=None,
14025        id=None,
14026        key_file_path=None,
14027        name=None,
14028        server_address=None,
14029        tags=None,
14030    ):
14031        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14032        '''
14033         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14034         This is not required if the CA is trusted by the host operating system. This should be a PEM
14035         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14036        '''
14037        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14038        '''
14039         Path to client certificate in PEM format. This certificate must contain a client certificate that
14040         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14041         key associated with the certificate, but KeyFile can also be set to configure the private key.
14042        '''
14043        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14044        '''
14045         Name of EJBCA certificate authority that will enroll CSR.
14046        '''
14047        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14048        '''
14049         Certificate profile name that EJBCA will enroll the CSR with.
14050        '''
14051        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14052        '''
14053         End entity profile that EJBCA will enroll the CSR with.
14054        '''
14055        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14056        '''
14057         code used by EJBCA during enrollment. May be left blank if no code is required.
14058        '''
14059        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14060        '''
14061         username that used by the EJBCA during enrollment. This can be left out. 
14062         If so, the username must be auto-generated on the Keyfactor side.
14063        '''
14064        self.id = id if id is not None else ''
14065        '''
14066         Unique identifier of the SecretStore.
14067        '''
14068        self.key_file_path = key_file_path if key_file_path is not None else ''
14069        '''
14070         Path to private key in PEM format. This file should contain the private key associated with the
14071         client certificate configured in CertificateFile.
14072        '''
14073        self.name = name if name is not None else ''
14074        '''
14075         Unique human-readable name of the SecretStore.
14076        '''
14077        self.server_address = server_address if server_address is not None else ''
14078        '''
14079         the host of the Key Factor CA
14080        '''
14081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14082        '''
14083         Tags is a map of key, value pairs.
14084        '''
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)
14102    def to_dict(self):
14103        return {
14104            'ca_file_path': self.ca_file_path,
14105            'certificate_file_path': self.certificate_file_path,
14106            'default_certificate_authority_name':
14107            self.default_certificate_authority_name,
14108            'default_certificate_profile_name':
14109            self.default_certificate_profile_name,
14110            'default_end_entity_profile_name':
14111            self.default_end_entity_profile_name,
14112            'enrollment_code_env_var': self.enrollment_code_env_var,
14113            'enrollment_username_env_var': self.enrollment_username_env_var,
14114            'id': self.id,
14115            'key_file_path': self.key_file_path,
14116            'name': self.name,
14117            'server_address': self.server_address,
14118            'tags': self.tags,
14119        }
@classmethod
def from_dict(cls, d)
14121    @classmethod
14122    def from_dict(cls, d):
14123        return cls(
14124            ca_file_path=d.get('ca_file_path'),
14125            certificate_file_path=d.get('certificate_file_path'),
14126            default_certificate_authority_name=d.get(
14127                'default_certificate_authority_name'),
14128            default_certificate_profile_name=d.get(
14129                'default_certificate_profile_name'),
14130            default_end_entity_profile_name=d.get(
14131                'default_end_entity_profile_name'),
14132            enrollment_code_env_var=d.get('enrollment_code_env_var'),
14133            enrollment_username_env_var=d.get('enrollment_username_env_var'),
14134            id=d.get('id'),
14135            key_file_path=d.get('key_file_path'),
14136            name=d.get('name'),
14137            server_address=d.get('server_address'),
14138            tags=d.get('tags'),
14139        )
class Kubernetes:
14142class Kubernetes:
14143    __slots__ = [
14144        'allow_resource_role_bypass',
14145        'bind_interface',
14146        'certificate_authority',
14147        'client_certificate',
14148        'client_key',
14149        'discovery_enabled',
14150        'discovery_username',
14151        'egress_filter',
14152        'healthcheck_namespace',
14153        'healthy',
14154        'hostname',
14155        'id',
14156        'identity_alias_healthcheck_username',
14157        'identity_set_id',
14158        'name',
14159        'port',
14160        'port_override',
14161        'proxy_cluster_id',
14162        'secret_store_id',
14163        'subdomain',
14164        'tags',
14165    ]
14166
14167    def __init__(
14168        self,
14169        allow_resource_role_bypass=None,
14170        bind_interface=None,
14171        certificate_authority=None,
14172        client_certificate=None,
14173        client_key=None,
14174        discovery_enabled=None,
14175        discovery_username=None,
14176        egress_filter=None,
14177        healthcheck_namespace=None,
14178        healthy=None,
14179        hostname=None,
14180        id=None,
14181        identity_alias_healthcheck_username=None,
14182        identity_set_id=None,
14183        name=None,
14184        port=None,
14185        port_override=None,
14186        proxy_cluster_id=None,
14187        secret_store_id=None,
14188        subdomain=None,
14189        tags=None,
14190    ):
14191        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14192        '''
14193         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14194         when a resource role is not provided.
14195        '''
14196        self.bind_interface = bind_interface if bind_interface is not None else ''
14197        '''
14198         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14199        '''
14200        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14201        '''
14202         The CA to authenticate TLS connections with.
14203        '''
14204        self.client_certificate = client_certificate if client_certificate is not None else ''
14205        '''
14206         The certificate to authenticate TLS connections with.
14207        '''
14208        self.client_key = client_key if client_key is not None else ''
14209        '''
14210         The key to authenticate TLS connections with.
14211        '''
14212        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14213        '''
14214         If true, configures discovery of a cluster to be run from a node.
14215        '''
14216        self.discovery_username = discovery_username if discovery_username is not None else ''
14217        '''
14218         If a cluster is configured for user impersonation, this is the user to impersonate when
14219         running discovery.
14220        '''
14221        self.egress_filter = egress_filter if egress_filter is not None else ''
14222        '''
14223         A filter applied to the routing logic to pin datasource to nodes.
14224        '''
14225        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14226        '''
14227         The path used to check the health of your connection.  Defaults to `default`.
14228        '''
14229        self.healthy = healthy if healthy is not None else False
14230        '''
14231         True if the datasource is reachable and the credentials are valid.
14232        '''
14233        self.hostname = hostname if hostname is not None else ''
14234        '''
14235         The host to dial to initiate a connection from the egress node to this resource.
14236        '''
14237        self.id = id if id is not None else ''
14238        '''
14239         Unique identifier of the Resource.
14240        '''
14241        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14242        '''
14243         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14244        '''
14245        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14246        '''
14247         The ID of the identity set to use for identity connections.
14248        '''
14249        self.name = name if name is not None else ''
14250        '''
14251         Unique human-readable name of the Resource.
14252        '''
14253        self.port = port if port is not None else 0
14254        '''
14255         The port to dial to initiate a connection from the egress node to this resource.
14256        '''
14257        self.port_override = port_override if port_override is not None else 0
14258        '''
14259         The local port used by clients to connect to this resource.
14260        '''
14261        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14262        '''
14263         ID of the proxy cluster for this resource, if any.
14264        '''
14265        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14266        '''
14267         ID of the secret store containing credentials for this resource, if any.
14268        '''
14269        self.subdomain = subdomain if subdomain is not None else ''
14270        '''
14271         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14272        '''
14273        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14274        '''
14275         Tags is a map of key, value pairs.
14276        '''
14277
14278    def __repr__(self):
14279        return '<sdm.Kubernetes ' + \
14280            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
14281            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14282            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14283            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
14284            'client_key: ' + repr(self.client_key) + ' ' +\
14285            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
14286            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
14287            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14288            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14289            'healthy: ' + repr(self.healthy) + ' ' +\
14290            'hostname: ' + repr(self.hostname) + ' ' +\
14291            'id: ' + repr(self.id) + ' ' +\
14292            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14293            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14294            'name: ' + repr(self.name) + ' ' +\
14295            'port: ' + repr(self.port) + ' ' +\
14296            'port_override: ' + repr(self.port_override) + ' ' +\
14297            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14298            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14299            'subdomain: ' + repr(self.subdomain) + ' ' +\
14300            'tags: ' + repr(self.tags) + ' ' +\
14301            '>'
14302
14303    def to_dict(self):
14304        return {
14305            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14306            'bind_interface': self.bind_interface,
14307            'certificate_authority': self.certificate_authority,
14308            'client_certificate': self.client_certificate,
14309            'client_key': self.client_key,
14310            'discovery_enabled': self.discovery_enabled,
14311            'discovery_username': self.discovery_username,
14312            'egress_filter': self.egress_filter,
14313            'healthcheck_namespace': self.healthcheck_namespace,
14314            'healthy': self.healthy,
14315            'hostname': self.hostname,
14316            'id': self.id,
14317            'identity_alias_healthcheck_username':
14318            self.identity_alias_healthcheck_username,
14319            'identity_set_id': self.identity_set_id,
14320            'name': self.name,
14321            'port': self.port,
14322            'port_override': self.port_override,
14323            'proxy_cluster_id': self.proxy_cluster_id,
14324            'secret_store_id': self.secret_store_id,
14325            'subdomain': self.subdomain,
14326            'tags': self.tags,
14327        }
14328
14329    @classmethod
14330    def from_dict(cls, d):
14331        return cls(
14332            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14333            bind_interface=d.get('bind_interface'),
14334            certificate_authority=d.get('certificate_authority'),
14335            client_certificate=d.get('client_certificate'),
14336            client_key=d.get('client_key'),
14337            discovery_enabled=d.get('discovery_enabled'),
14338            discovery_username=d.get('discovery_username'),
14339            egress_filter=d.get('egress_filter'),
14340            healthcheck_namespace=d.get('healthcheck_namespace'),
14341            healthy=d.get('healthy'),
14342            hostname=d.get('hostname'),
14343            id=d.get('id'),
14344            identity_alias_healthcheck_username=d.get(
14345                'identity_alias_healthcheck_username'),
14346            identity_set_id=d.get('identity_set_id'),
14347            name=d.get('name'),
14348            port=d.get('port'),
14349            port_override=d.get('port_override'),
14350            proxy_cluster_id=d.get('proxy_cluster_id'),
14351            secret_store_id=d.get('secret_store_id'),
14352            subdomain=d.get('subdomain'),
14353            tags=d.get('tags'),
14354        )
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)
14167    def __init__(
14168        self,
14169        allow_resource_role_bypass=None,
14170        bind_interface=None,
14171        certificate_authority=None,
14172        client_certificate=None,
14173        client_key=None,
14174        discovery_enabled=None,
14175        discovery_username=None,
14176        egress_filter=None,
14177        healthcheck_namespace=None,
14178        healthy=None,
14179        hostname=None,
14180        id=None,
14181        identity_alias_healthcheck_username=None,
14182        identity_set_id=None,
14183        name=None,
14184        port=None,
14185        port_override=None,
14186        proxy_cluster_id=None,
14187        secret_store_id=None,
14188        subdomain=None,
14189        tags=None,
14190    ):
14191        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14192        '''
14193         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14194         when a resource role is not provided.
14195        '''
14196        self.bind_interface = bind_interface if bind_interface is not None else ''
14197        '''
14198         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14199        '''
14200        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14201        '''
14202         The CA to authenticate TLS connections with.
14203        '''
14204        self.client_certificate = client_certificate if client_certificate is not None else ''
14205        '''
14206         The certificate to authenticate TLS connections with.
14207        '''
14208        self.client_key = client_key if client_key is not None else ''
14209        '''
14210         The key to authenticate TLS connections with.
14211        '''
14212        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14213        '''
14214         If true, configures discovery of a cluster to be run from a node.
14215        '''
14216        self.discovery_username = discovery_username if discovery_username is not None else ''
14217        '''
14218         If a cluster is configured for user impersonation, this is the user to impersonate when
14219         running discovery.
14220        '''
14221        self.egress_filter = egress_filter if egress_filter is not None else ''
14222        '''
14223         A filter applied to the routing logic to pin datasource to nodes.
14224        '''
14225        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14226        '''
14227         The path used to check the health of your connection.  Defaults to `default`.
14228        '''
14229        self.healthy = healthy if healthy is not None else False
14230        '''
14231         True if the datasource is reachable and the credentials are valid.
14232        '''
14233        self.hostname = hostname if hostname is not None else ''
14234        '''
14235         The host to dial to initiate a connection from the egress node to this resource.
14236        '''
14237        self.id = id if id is not None else ''
14238        '''
14239         Unique identifier of the Resource.
14240        '''
14241        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14242        '''
14243         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14244        '''
14245        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14246        '''
14247         The ID of the identity set to use for identity connections.
14248        '''
14249        self.name = name if name is not None else ''
14250        '''
14251         Unique human-readable name of the Resource.
14252        '''
14253        self.port = port if port is not None else 0
14254        '''
14255         The port to dial to initiate a connection from the egress node to this resource.
14256        '''
14257        self.port_override = port_override if port_override is not None else 0
14258        '''
14259         The local port used by clients to connect to this resource.
14260        '''
14261        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14262        '''
14263         ID of the proxy cluster for this resource, if any.
14264        '''
14265        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14266        '''
14267         ID of the secret store containing credentials for this resource, if any.
14268        '''
14269        self.subdomain = subdomain if subdomain is not None else ''
14270        '''
14271         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14272        '''
14273        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14274        '''
14275         Tags is a map of key, value pairs.
14276        '''
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)
14303    def to_dict(self):
14304        return {
14305            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14306            'bind_interface': self.bind_interface,
14307            'certificate_authority': self.certificate_authority,
14308            'client_certificate': self.client_certificate,
14309            'client_key': self.client_key,
14310            'discovery_enabled': self.discovery_enabled,
14311            'discovery_username': self.discovery_username,
14312            'egress_filter': self.egress_filter,
14313            'healthcheck_namespace': self.healthcheck_namespace,
14314            'healthy': self.healthy,
14315            'hostname': self.hostname,
14316            'id': self.id,
14317            'identity_alias_healthcheck_username':
14318            self.identity_alias_healthcheck_username,
14319            'identity_set_id': self.identity_set_id,
14320            'name': self.name,
14321            'port': self.port,
14322            'port_override': self.port_override,
14323            'proxy_cluster_id': self.proxy_cluster_id,
14324            'secret_store_id': self.secret_store_id,
14325            'subdomain': self.subdomain,
14326            'tags': self.tags,
14327        }
@classmethod
def from_dict(cls, d)
14329    @classmethod
14330    def from_dict(cls, d):
14331        return cls(
14332            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14333            bind_interface=d.get('bind_interface'),
14334            certificate_authority=d.get('certificate_authority'),
14335            client_certificate=d.get('client_certificate'),
14336            client_key=d.get('client_key'),
14337            discovery_enabled=d.get('discovery_enabled'),
14338            discovery_username=d.get('discovery_username'),
14339            egress_filter=d.get('egress_filter'),
14340            healthcheck_namespace=d.get('healthcheck_namespace'),
14341            healthy=d.get('healthy'),
14342            hostname=d.get('hostname'),
14343            id=d.get('id'),
14344            identity_alias_healthcheck_username=d.get(
14345                'identity_alias_healthcheck_username'),
14346            identity_set_id=d.get('identity_set_id'),
14347            name=d.get('name'),
14348            port=d.get('port'),
14349            port_override=d.get('port_override'),
14350            proxy_cluster_id=d.get('proxy_cluster_id'),
14351            secret_store_id=d.get('secret_store_id'),
14352            subdomain=d.get('subdomain'),
14353            tags=d.get('tags'),
14354        )
class KubernetesBasicAuth:
14357class KubernetesBasicAuth:
14358    '''
14359    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
14360    without a major version bump.
14361    '''
14362    __slots__ = [
14363        'bind_interface',
14364        'egress_filter',
14365        'healthcheck_namespace',
14366        'healthy',
14367        'hostname',
14368        'id',
14369        'name',
14370        'password',
14371        'port',
14372        'port_override',
14373        'proxy_cluster_id',
14374        'secret_store_id',
14375        'subdomain',
14376        'tags',
14377        'username',
14378    ]
14379
14380    def __init__(
14381        self,
14382        bind_interface=None,
14383        egress_filter=None,
14384        healthcheck_namespace=None,
14385        healthy=None,
14386        hostname=None,
14387        id=None,
14388        name=None,
14389        password=None,
14390        port=None,
14391        port_override=None,
14392        proxy_cluster_id=None,
14393        secret_store_id=None,
14394        subdomain=None,
14395        tags=None,
14396        username=None,
14397    ):
14398        self.bind_interface = bind_interface if bind_interface is not None else ''
14399        '''
14400         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14401        '''
14402        self.egress_filter = egress_filter if egress_filter is not None else ''
14403        '''
14404         A filter applied to the routing logic to pin datasource to nodes.
14405        '''
14406        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14407        '''
14408         The path used to check the health of your connection.  Defaults to `default`.
14409        '''
14410        self.healthy = healthy if healthy is not None else False
14411        '''
14412         True if the datasource is reachable and the credentials are valid.
14413        '''
14414        self.hostname = hostname if hostname is not None else ''
14415        '''
14416         The host to dial to initiate a connection from the egress node to this resource.
14417        '''
14418        self.id = id if id is not None else ''
14419        '''
14420         Unique identifier of the Resource.
14421        '''
14422        self.name = name if name is not None else ''
14423        '''
14424         Unique human-readable name of the Resource.
14425        '''
14426        self.password = password if password is not None else ''
14427        '''
14428         The password to authenticate with.
14429        '''
14430        self.port = port if port is not None else 0
14431        '''
14432         The port to dial to initiate a connection from the egress node to this resource.
14433        '''
14434        self.port_override = port_override if port_override is not None else 0
14435        '''
14436         The local port used by clients to connect to this resource.
14437        '''
14438        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14439        '''
14440         ID of the proxy cluster for this resource, if any.
14441        '''
14442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14443        '''
14444         ID of the secret store containing credentials for this resource, if any.
14445        '''
14446        self.subdomain = subdomain if subdomain is not None else ''
14447        '''
14448         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14449        '''
14450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14451        '''
14452         Tags is a map of key, value pairs.
14453        '''
14454        self.username = username if username is not None else ''
14455        '''
14456         The username to authenticate with.
14457        '''
14458
14459    def __repr__(self):
14460        return '<sdm.KubernetesBasicAuth ' + \
14461            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14462            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14463            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14464            'healthy: ' + repr(self.healthy) + ' ' +\
14465            'hostname: ' + repr(self.hostname) + ' ' +\
14466            'id: ' + repr(self.id) + ' ' +\
14467            'name: ' + repr(self.name) + ' ' +\
14468            'password: ' + repr(self.password) + ' ' +\
14469            'port: ' + repr(self.port) + ' ' +\
14470            'port_override: ' + repr(self.port_override) + ' ' +\
14471            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14472            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14473            'subdomain: ' + repr(self.subdomain) + ' ' +\
14474            'tags: ' + repr(self.tags) + ' ' +\
14475            'username: ' + repr(self.username) + ' ' +\
14476            '>'
14477
14478    def to_dict(self):
14479        return {
14480            'bind_interface': self.bind_interface,
14481            'egress_filter': self.egress_filter,
14482            'healthcheck_namespace': self.healthcheck_namespace,
14483            'healthy': self.healthy,
14484            'hostname': self.hostname,
14485            'id': self.id,
14486            'name': self.name,
14487            'password': self.password,
14488            'port': self.port,
14489            'port_override': self.port_override,
14490            'proxy_cluster_id': self.proxy_cluster_id,
14491            'secret_store_id': self.secret_store_id,
14492            'subdomain': self.subdomain,
14493            'tags': self.tags,
14494            'username': self.username,
14495        }
14496
14497    @classmethod
14498    def from_dict(cls, d):
14499        return cls(
14500            bind_interface=d.get('bind_interface'),
14501            egress_filter=d.get('egress_filter'),
14502            healthcheck_namespace=d.get('healthcheck_namespace'),
14503            healthy=d.get('healthy'),
14504            hostname=d.get('hostname'),
14505            id=d.get('id'),
14506            name=d.get('name'),
14507            password=d.get('password'),
14508            port=d.get('port'),
14509            port_override=d.get('port_override'),
14510            proxy_cluster_id=d.get('proxy_cluster_id'),
14511            secret_store_id=d.get('secret_store_id'),
14512            subdomain=d.get('subdomain'),
14513            tags=d.get('tags'),
14514            username=d.get('username'),
14515        )

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)
14380    def __init__(
14381        self,
14382        bind_interface=None,
14383        egress_filter=None,
14384        healthcheck_namespace=None,
14385        healthy=None,
14386        hostname=None,
14387        id=None,
14388        name=None,
14389        password=None,
14390        port=None,
14391        port_override=None,
14392        proxy_cluster_id=None,
14393        secret_store_id=None,
14394        subdomain=None,
14395        tags=None,
14396        username=None,
14397    ):
14398        self.bind_interface = bind_interface if bind_interface is not None else ''
14399        '''
14400         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14401        '''
14402        self.egress_filter = egress_filter if egress_filter is not None else ''
14403        '''
14404         A filter applied to the routing logic to pin datasource to nodes.
14405        '''
14406        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14407        '''
14408         The path used to check the health of your connection.  Defaults to `default`.
14409        '''
14410        self.healthy = healthy if healthy is not None else False
14411        '''
14412         True if the datasource is reachable and the credentials are valid.
14413        '''
14414        self.hostname = hostname if hostname is not None else ''
14415        '''
14416         The host to dial to initiate a connection from the egress node to this resource.
14417        '''
14418        self.id = id if id is not None else ''
14419        '''
14420         Unique identifier of the Resource.
14421        '''
14422        self.name = name if name is not None else ''
14423        '''
14424         Unique human-readable name of the Resource.
14425        '''
14426        self.password = password if password is not None else ''
14427        '''
14428         The password to authenticate with.
14429        '''
14430        self.port = port if port is not None else 0
14431        '''
14432         The port to dial to initiate a connection from the egress node to this resource.
14433        '''
14434        self.port_override = port_override if port_override is not None else 0
14435        '''
14436         The local port used by clients to connect to this resource.
14437        '''
14438        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14439        '''
14440         ID of the proxy cluster for this resource, if any.
14441        '''
14442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14443        '''
14444         ID of the secret store containing credentials for this resource, if any.
14445        '''
14446        self.subdomain = subdomain if subdomain is not None else ''
14447        '''
14448         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14449        '''
14450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14451        '''
14452         Tags is a map of key, value pairs.
14453        '''
14454        self.username = username if username is not None else ''
14455        '''
14456         The username to authenticate with.
14457        '''
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)
14478    def to_dict(self):
14479        return {
14480            'bind_interface': self.bind_interface,
14481            'egress_filter': self.egress_filter,
14482            'healthcheck_namespace': self.healthcheck_namespace,
14483            'healthy': self.healthy,
14484            'hostname': self.hostname,
14485            'id': self.id,
14486            'name': self.name,
14487            'password': self.password,
14488            'port': self.port,
14489            'port_override': self.port_override,
14490            'proxy_cluster_id': self.proxy_cluster_id,
14491            'secret_store_id': self.secret_store_id,
14492            'subdomain': self.subdomain,
14493            'tags': self.tags,
14494            'username': self.username,
14495        }
@classmethod
def from_dict(cls, d)
14497    @classmethod
14498    def from_dict(cls, d):
14499        return cls(
14500            bind_interface=d.get('bind_interface'),
14501            egress_filter=d.get('egress_filter'),
14502            healthcheck_namespace=d.get('healthcheck_namespace'),
14503            healthy=d.get('healthy'),
14504            hostname=d.get('hostname'),
14505            id=d.get('id'),
14506            name=d.get('name'),
14507            password=d.get('password'),
14508            port=d.get('port'),
14509            port_override=d.get('port_override'),
14510            proxy_cluster_id=d.get('proxy_cluster_id'),
14511            secret_store_id=d.get('secret_store_id'),
14512            subdomain=d.get('subdomain'),
14513            tags=d.get('tags'),
14514            username=d.get('username'),
14515        )
class KubernetesPodIdentity:
14518class KubernetesPodIdentity:
14519    __slots__ = [
14520        'allow_resource_role_bypass',
14521        'bind_interface',
14522        'certificate_authority',
14523        'egress_filter',
14524        'healthcheck_namespace',
14525        'healthy',
14526        'id',
14527        'identity_alias_healthcheck_username',
14528        'identity_set_id',
14529        'name',
14530        'port_override',
14531        'proxy_cluster_id',
14532        'secret_store_id',
14533        'subdomain',
14534        'tags',
14535    ]
14536
14537    def __init__(
14538        self,
14539        allow_resource_role_bypass=None,
14540        bind_interface=None,
14541        certificate_authority=None,
14542        egress_filter=None,
14543        healthcheck_namespace=None,
14544        healthy=None,
14545        id=None,
14546        identity_alias_healthcheck_username=None,
14547        identity_set_id=None,
14548        name=None,
14549        port_override=None,
14550        proxy_cluster_id=None,
14551        secret_store_id=None,
14552        subdomain=None,
14553        tags=None,
14554    ):
14555        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14556        '''
14557         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14558         when a resource role is not provided.
14559        '''
14560        self.bind_interface = bind_interface if bind_interface is not None else ''
14561        '''
14562         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14563        '''
14564        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14565        '''
14566         The CA to authenticate TLS connections with.
14567        '''
14568        self.egress_filter = egress_filter if egress_filter is not None else ''
14569        '''
14570         A filter applied to the routing logic to pin datasource to nodes.
14571        '''
14572        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14573        '''
14574         The path used to check the health of your connection.  Defaults to `default`.
14575        '''
14576        self.healthy = healthy if healthy is not None else False
14577        '''
14578         True if the datasource is reachable and the credentials are valid.
14579        '''
14580        self.id = id if id is not None else ''
14581        '''
14582         Unique identifier of the Resource.
14583        '''
14584        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14585        '''
14586         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14587        '''
14588        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14589        '''
14590         The ID of the identity set to use for identity connections.
14591        '''
14592        self.name = name if name is not None else ''
14593        '''
14594         Unique human-readable name of the Resource.
14595        '''
14596        self.port_override = port_override if port_override is not None else 0
14597        '''
14598         The local port used by clients to connect to this resource.
14599        '''
14600        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14601        '''
14602         ID of the proxy cluster for this resource, if any.
14603        '''
14604        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14605        '''
14606         ID of the secret store containing credentials for this resource, if any.
14607        '''
14608        self.subdomain = subdomain if subdomain is not None else ''
14609        '''
14610         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14611        '''
14612        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14613        '''
14614         Tags is a map of key, value pairs.
14615        '''
14616
14617    def __repr__(self):
14618        return '<sdm.KubernetesPodIdentity ' + \
14619            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
14620            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14621            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14622            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14623            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14624            'healthy: ' + repr(self.healthy) + ' ' +\
14625            'id: ' + repr(self.id) + ' ' +\
14626            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14627            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14628            'name: ' + repr(self.name) + ' ' +\
14629            'port_override: ' + repr(self.port_override) + ' ' +\
14630            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14631            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14632            'subdomain: ' + repr(self.subdomain) + ' ' +\
14633            'tags: ' + repr(self.tags) + ' ' +\
14634            '>'
14635
14636    def to_dict(self):
14637        return {
14638            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14639            'bind_interface': self.bind_interface,
14640            'certificate_authority': self.certificate_authority,
14641            'egress_filter': self.egress_filter,
14642            'healthcheck_namespace': self.healthcheck_namespace,
14643            'healthy': self.healthy,
14644            'id': self.id,
14645            'identity_alias_healthcheck_username':
14646            self.identity_alias_healthcheck_username,
14647            'identity_set_id': self.identity_set_id,
14648            'name': self.name,
14649            'port_override': self.port_override,
14650            'proxy_cluster_id': self.proxy_cluster_id,
14651            'secret_store_id': self.secret_store_id,
14652            'subdomain': self.subdomain,
14653            'tags': self.tags,
14654        }
14655
14656    @classmethod
14657    def from_dict(cls, d):
14658        return cls(
14659            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14660            bind_interface=d.get('bind_interface'),
14661            certificate_authority=d.get('certificate_authority'),
14662            egress_filter=d.get('egress_filter'),
14663            healthcheck_namespace=d.get('healthcheck_namespace'),
14664            healthy=d.get('healthy'),
14665            id=d.get('id'),
14666            identity_alias_healthcheck_username=d.get(
14667                'identity_alias_healthcheck_username'),
14668            identity_set_id=d.get('identity_set_id'),
14669            name=d.get('name'),
14670            port_override=d.get('port_override'),
14671            proxy_cluster_id=d.get('proxy_cluster_id'),
14672            secret_store_id=d.get('secret_store_id'),
14673            subdomain=d.get('subdomain'),
14674            tags=d.get('tags'),
14675        )
KubernetesPodIdentity( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=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)
14537    def __init__(
14538        self,
14539        allow_resource_role_bypass=None,
14540        bind_interface=None,
14541        certificate_authority=None,
14542        egress_filter=None,
14543        healthcheck_namespace=None,
14544        healthy=None,
14545        id=None,
14546        identity_alias_healthcheck_username=None,
14547        identity_set_id=None,
14548        name=None,
14549        port_override=None,
14550        proxy_cluster_id=None,
14551        secret_store_id=None,
14552        subdomain=None,
14553        tags=None,
14554    ):
14555        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14556        '''
14557         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14558         when a resource role is not provided.
14559        '''
14560        self.bind_interface = bind_interface if bind_interface is not None else ''
14561        '''
14562         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14563        '''
14564        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14565        '''
14566         The CA to authenticate TLS connections with.
14567        '''
14568        self.egress_filter = egress_filter if egress_filter is not None else ''
14569        '''
14570         A filter applied to the routing logic to pin datasource to nodes.
14571        '''
14572        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14573        '''
14574         The path used to check the health of your connection.  Defaults to `default`.
14575        '''
14576        self.healthy = healthy if healthy is not None else False
14577        '''
14578         True if the datasource is reachable and the credentials are valid.
14579        '''
14580        self.id = id if id is not None else ''
14581        '''
14582         Unique identifier of the Resource.
14583        '''
14584        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14585        '''
14586         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14587        '''
14588        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14589        '''
14590         The ID of the identity set to use for identity connections.
14591        '''
14592        self.name = name if name is not None else ''
14593        '''
14594         Unique human-readable name of the Resource.
14595        '''
14596        self.port_override = port_override if port_override is not None else 0
14597        '''
14598         The local port used by clients to connect to this resource.
14599        '''
14600        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14601        '''
14602         ID of the proxy cluster for this resource, if any.
14603        '''
14604        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14605        '''
14606         ID of the secret store containing credentials for this resource, if any.
14607        '''
14608        self.subdomain = subdomain if subdomain is not None else ''
14609        '''
14610         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14611        '''
14612        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14613        '''
14614         Tags is a map of key, value pairs.
14615        '''
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.

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)
14636    def to_dict(self):
14637        return {
14638            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14639            'bind_interface': self.bind_interface,
14640            'certificate_authority': self.certificate_authority,
14641            'egress_filter': self.egress_filter,
14642            'healthcheck_namespace': self.healthcheck_namespace,
14643            'healthy': self.healthy,
14644            'id': self.id,
14645            'identity_alias_healthcheck_username':
14646            self.identity_alias_healthcheck_username,
14647            'identity_set_id': self.identity_set_id,
14648            'name': self.name,
14649            'port_override': self.port_override,
14650            'proxy_cluster_id': self.proxy_cluster_id,
14651            'secret_store_id': self.secret_store_id,
14652            'subdomain': self.subdomain,
14653            'tags': self.tags,
14654        }
@classmethod
def from_dict(cls, d)
14656    @classmethod
14657    def from_dict(cls, d):
14658        return cls(
14659            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14660            bind_interface=d.get('bind_interface'),
14661            certificate_authority=d.get('certificate_authority'),
14662            egress_filter=d.get('egress_filter'),
14663            healthcheck_namespace=d.get('healthcheck_namespace'),
14664            healthy=d.get('healthy'),
14665            id=d.get('id'),
14666            identity_alias_healthcheck_username=d.get(
14667                'identity_alias_healthcheck_username'),
14668            identity_set_id=d.get('identity_set_id'),
14669            name=d.get('name'),
14670            port_override=d.get('port_override'),
14671            proxy_cluster_id=d.get('proxy_cluster_id'),
14672            secret_store_id=d.get('secret_store_id'),
14673            subdomain=d.get('subdomain'),
14674            tags=d.get('tags'),
14675        )
class KubernetesServiceAccount:
14678class KubernetesServiceAccount:
14679    __slots__ = [
14680        'allow_resource_role_bypass',
14681        'bind_interface',
14682        'discovery_enabled',
14683        'discovery_username',
14684        'egress_filter',
14685        'healthcheck_namespace',
14686        'healthy',
14687        'hostname',
14688        'id',
14689        'identity_alias_healthcheck_username',
14690        'identity_set_id',
14691        'name',
14692        'port',
14693        'port_override',
14694        'proxy_cluster_id',
14695        'secret_store_id',
14696        'subdomain',
14697        'tags',
14698        'token',
14699    ]
14700
14701    def __init__(
14702        self,
14703        allow_resource_role_bypass=None,
14704        bind_interface=None,
14705        discovery_enabled=None,
14706        discovery_username=None,
14707        egress_filter=None,
14708        healthcheck_namespace=None,
14709        healthy=None,
14710        hostname=None,
14711        id=None,
14712        identity_alias_healthcheck_username=None,
14713        identity_set_id=None,
14714        name=None,
14715        port=None,
14716        port_override=None,
14717        proxy_cluster_id=None,
14718        secret_store_id=None,
14719        subdomain=None,
14720        tags=None,
14721        token=None,
14722    ):
14723        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14724        '''
14725         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14726         when a resource role is not provided.
14727        '''
14728        self.bind_interface = bind_interface if bind_interface is not None else ''
14729        '''
14730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14731        '''
14732        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14733        '''
14734         If true, configures discovery of a cluster to be run from a node.
14735        '''
14736        self.discovery_username = discovery_username if discovery_username is not None else ''
14737        '''
14738         If a cluster is configured for user impersonation, this is the user to impersonate when
14739         running discovery.
14740        '''
14741        self.egress_filter = egress_filter if egress_filter is not None else ''
14742        '''
14743         A filter applied to the routing logic to pin datasource to nodes.
14744        '''
14745        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14746        '''
14747         The path used to check the health of your connection.  Defaults to `default`.
14748        '''
14749        self.healthy = healthy if healthy is not None else False
14750        '''
14751         True if the datasource is reachable and the credentials are valid.
14752        '''
14753        self.hostname = hostname if hostname is not None else ''
14754        '''
14755         The host to dial to initiate a connection from the egress node to this resource.
14756        '''
14757        self.id = id if id is not None else ''
14758        '''
14759         Unique identifier of the Resource.
14760        '''
14761        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14762        '''
14763         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14764        '''
14765        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14766        '''
14767         The ID of the identity set to use for identity connections.
14768        '''
14769        self.name = name if name is not None else ''
14770        '''
14771         Unique human-readable name of the Resource.
14772        '''
14773        self.port = port if port is not None else 0
14774        '''
14775         The port to dial to initiate a connection from the egress node to this resource.
14776        '''
14777        self.port_override = port_override if port_override is not None else 0
14778        '''
14779         The local port used by clients to connect to this resource.
14780        '''
14781        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14782        '''
14783         ID of the proxy cluster for this resource, if any.
14784        '''
14785        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14786        '''
14787         ID of the secret store containing credentials for this resource, if any.
14788        '''
14789        self.subdomain = subdomain if subdomain is not None else ''
14790        '''
14791         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14792        '''
14793        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14794        '''
14795         Tags is a map of key, value pairs.
14796        '''
14797        self.token = token if token is not None else ''
14798        '''
14799         The API token to authenticate with.
14800        '''
14801
14802    def __repr__(self):
14803        return '<sdm.KubernetesServiceAccount ' + \
14804            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
14805            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14806            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
14807            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
14808            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14809            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14810            'healthy: ' + repr(self.healthy) + ' ' +\
14811            'hostname: ' + repr(self.hostname) + ' ' +\
14812            'id: ' + repr(self.id) + ' ' +\
14813            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14814            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14815            'name: ' + repr(self.name) + ' ' +\
14816            'port: ' + repr(self.port) + ' ' +\
14817            'port_override: ' + repr(self.port_override) + ' ' +\
14818            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14819            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14820            'subdomain: ' + repr(self.subdomain) + ' ' +\
14821            'tags: ' + repr(self.tags) + ' ' +\
14822            'token: ' + repr(self.token) + ' ' +\
14823            '>'
14824
14825    def to_dict(self):
14826        return {
14827            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14828            'bind_interface': self.bind_interface,
14829            'discovery_enabled': self.discovery_enabled,
14830            'discovery_username': self.discovery_username,
14831            'egress_filter': self.egress_filter,
14832            'healthcheck_namespace': self.healthcheck_namespace,
14833            'healthy': self.healthy,
14834            'hostname': self.hostname,
14835            'id': self.id,
14836            'identity_alias_healthcheck_username':
14837            self.identity_alias_healthcheck_username,
14838            'identity_set_id': self.identity_set_id,
14839            'name': self.name,
14840            'port': self.port,
14841            'port_override': self.port_override,
14842            'proxy_cluster_id': self.proxy_cluster_id,
14843            'secret_store_id': self.secret_store_id,
14844            'subdomain': self.subdomain,
14845            'tags': self.tags,
14846            'token': self.token,
14847        }
14848
14849    @classmethod
14850    def from_dict(cls, d):
14851        return cls(
14852            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14853            bind_interface=d.get('bind_interface'),
14854            discovery_enabled=d.get('discovery_enabled'),
14855            discovery_username=d.get('discovery_username'),
14856            egress_filter=d.get('egress_filter'),
14857            healthcheck_namespace=d.get('healthcheck_namespace'),
14858            healthy=d.get('healthy'),
14859            hostname=d.get('hostname'),
14860            id=d.get('id'),
14861            identity_alias_healthcheck_username=d.get(
14862                'identity_alias_healthcheck_username'),
14863            identity_set_id=d.get('identity_set_id'),
14864            name=d.get('name'),
14865            port=d.get('port'),
14866            port_override=d.get('port_override'),
14867            proxy_cluster_id=d.get('proxy_cluster_id'),
14868            secret_store_id=d.get('secret_store_id'),
14869            subdomain=d.get('subdomain'),
14870            tags=d.get('tags'),
14871            token=d.get('token'),
14872        )
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)
14701    def __init__(
14702        self,
14703        allow_resource_role_bypass=None,
14704        bind_interface=None,
14705        discovery_enabled=None,
14706        discovery_username=None,
14707        egress_filter=None,
14708        healthcheck_namespace=None,
14709        healthy=None,
14710        hostname=None,
14711        id=None,
14712        identity_alias_healthcheck_username=None,
14713        identity_set_id=None,
14714        name=None,
14715        port=None,
14716        port_override=None,
14717        proxy_cluster_id=None,
14718        secret_store_id=None,
14719        subdomain=None,
14720        tags=None,
14721        token=None,
14722    ):
14723        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
14724        '''
14725         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
14726         when a resource role is not provided.
14727        '''
14728        self.bind_interface = bind_interface if bind_interface is not None else ''
14729        '''
14730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14731        '''
14732        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14733        '''
14734         If true, configures discovery of a cluster to be run from a node.
14735        '''
14736        self.discovery_username = discovery_username if discovery_username is not None else ''
14737        '''
14738         If a cluster is configured for user impersonation, this is the user to impersonate when
14739         running discovery.
14740        '''
14741        self.egress_filter = egress_filter if egress_filter is not None else ''
14742        '''
14743         A filter applied to the routing logic to pin datasource to nodes.
14744        '''
14745        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14746        '''
14747         The path used to check the health of your connection.  Defaults to `default`.
14748        '''
14749        self.healthy = healthy if healthy is not None else False
14750        '''
14751         True if the datasource is reachable and the credentials are valid.
14752        '''
14753        self.hostname = hostname if hostname is not None else ''
14754        '''
14755         The host to dial to initiate a connection from the egress node to this resource.
14756        '''
14757        self.id = id if id is not None else ''
14758        '''
14759         Unique identifier of the Resource.
14760        '''
14761        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14762        '''
14763         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14764        '''
14765        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14766        '''
14767         The ID of the identity set to use for identity connections.
14768        '''
14769        self.name = name if name is not None else ''
14770        '''
14771         Unique human-readable name of the Resource.
14772        '''
14773        self.port = port if port is not None else 0
14774        '''
14775         The port to dial to initiate a connection from the egress node to this resource.
14776        '''
14777        self.port_override = port_override if port_override is not None else 0
14778        '''
14779         The local port used by clients to connect to this resource.
14780        '''
14781        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14782        '''
14783         ID of the proxy cluster for this resource, if any.
14784        '''
14785        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14786        '''
14787         ID of the secret store containing credentials for this resource, if any.
14788        '''
14789        self.subdomain = subdomain if subdomain is not None else ''
14790        '''
14791         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14792        '''
14793        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14794        '''
14795         Tags is a map of key, value pairs.
14796        '''
14797        self.token = token if token is not None else ''
14798        '''
14799         The API token to authenticate with.
14800        '''
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)
14825    def to_dict(self):
14826        return {
14827            'allow_resource_role_bypass': self.allow_resource_role_bypass,
14828            'bind_interface': self.bind_interface,
14829            'discovery_enabled': self.discovery_enabled,
14830            'discovery_username': self.discovery_username,
14831            'egress_filter': self.egress_filter,
14832            'healthcheck_namespace': self.healthcheck_namespace,
14833            'healthy': self.healthy,
14834            'hostname': self.hostname,
14835            'id': self.id,
14836            'identity_alias_healthcheck_username':
14837            self.identity_alias_healthcheck_username,
14838            'identity_set_id': self.identity_set_id,
14839            'name': self.name,
14840            'port': self.port,
14841            'port_override': self.port_override,
14842            'proxy_cluster_id': self.proxy_cluster_id,
14843            'secret_store_id': self.secret_store_id,
14844            'subdomain': self.subdomain,
14845            'tags': self.tags,
14846            'token': self.token,
14847        }
@classmethod
def from_dict(cls, d)
14849    @classmethod
14850    def from_dict(cls, d):
14851        return cls(
14852            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
14853            bind_interface=d.get('bind_interface'),
14854            discovery_enabled=d.get('discovery_enabled'),
14855            discovery_username=d.get('discovery_username'),
14856            egress_filter=d.get('egress_filter'),
14857            healthcheck_namespace=d.get('healthcheck_namespace'),
14858            healthy=d.get('healthy'),
14859            hostname=d.get('hostname'),
14860            id=d.get('id'),
14861            identity_alias_healthcheck_username=d.get(
14862                'identity_alias_healthcheck_username'),
14863            identity_set_id=d.get('identity_set_id'),
14864            name=d.get('name'),
14865            port=d.get('port'),
14866            port_override=d.get('port_override'),
14867            proxy_cluster_id=d.get('proxy_cluster_id'),
14868            secret_store_id=d.get('secret_store_id'),
14869            subdomain=d.get('subdomain'),
14870            tags=d.get('tags'),
14871            token=d.get('token'),
14872        )
class KubernetesServiceAccountUserImpersonation:
14875class KubernetesServiceAccountUserImpersonation:
14876    __slots__ = [
14877        'bind_interface',
14878        'egress_filter',
14879        'healthcheck_namespace',
14880        'healthy',
14881        'hostname',
14882        'id',
14883        'name',
14884        'port',
14885        'port_override',
14886        'proxy_cluster_id',
14887        'secret_store_id',
14888        'subdomain',
14889        'tags',
14890        'token',
14891    ]
14892
14893    def __init__(
14894        self,
14895        bind_interface=None,
14896        egress_filter=None,
14897        healthcheck_namespace=None,
14898        healthy=None,
14899        hostname=None,
14900        id=None,
14901        name=None,
14902        port=None,
14903        port_override=None,
14904        proxy_cluster_id=None,
14905        secret_store_id=None,
14906        subdomain=None,
14907        tags=None,
14908        token=None,
14909    ):
14910        self.bind_interface = bind_interface if bind_interface is not None else ''
14911        '''
14912         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14913        '''
14914        self.egress_filter = egress_filter if egress_filter is not None else ''
14915        '''
14916         A filter applied to the routing logic to pin datasource to nodes.
14917        '''
14918        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14919        '''
14920         The path used to check the health of your connection.  Defaults to `default`.
14921        '''
14922        self.healthy = healthy if healthy is not None else False
14923        '''
14924         True if the datasource is reachable and the credentials are valid.
14925        '''
14926        self.hostname = hostname if hostname is not None else ''
14927        '''
14928         The host to dial to initiate a connection from the egress node to this resource.
14929        '''
14930        self.id = id if id is not None else ''
14931        '''
14932         Unique identifier of the Resource.
14933        '''
14934        self.name = name if name is not None else ''
14935        '''
14936         Unique human-readable name of the Resource.
14937        '''
14938        self.port = port if port is not None else 0
14939        '''
14940         The port to dial to initiate a connection from the egress node to this resource.
14941        '''
14942        self.port_override = port_override if port_override is not None else 0
14943        '''
14944         The local port used by clients to connect to this resource.
14945        '''
14946        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14947        '''
14948         ID of the proxy cluster for this resource, if any.
14949        '''
14950        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14951        '''
14952         ID of the secret store containing credentials for this resource, if any.
14953        '''
14954        self.subdomain = subdomain if subdomain is not None else ''
14955        '''
14956         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14957        '''
14958        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14959        '''
14960         Tags is a map of key, value pairs.
14961        '''
14962        self.token = token if token is not None else ''
14963        '''
14964         The API token to authenticate with.
14965        '''
14966
14967    def __repr__(self):
14968        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
14969            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14970            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14971            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14972            'healthy: ' + repr(self.healthy) + ' ' +\
14973            'hostname: ' + repr(self.hostname) + ' ' +\
14974            'id: ' + repr(self.id) + ' ' +\
14975            'name: ' + repr(self.name) + ' ' +\
14976            'port: ' + repr(self.port) + ' ' +\
14977            'port_override: ' + repr(self.port_override) + ' ' +\
14978            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14979            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14980            'subdomain: ' + repr(self.subdomain) + ' ' +\
14981            'tags: ' + repr(self.tags) + ' ' +\
14982            'token: ' + repr(self.token) + ' ' +\
14983            '>'
14984
14985    def to_dict(self):
14986        return {
14987            'bind_interface': self.bind_interface,
14988            'egress_filter': self.egress_filter,
14989            'healthcheck_namespace': self.healthcheck_namespace,
14990            'healthy': self.healthy,
14991            'hostname': self.hostname,
14992            'id': self.id,
14993            'name': self.name,
14994            'port': self.port,
14995            'port_override': self.port_override,
14996            'proxy_cluster_id': self.proxy_cluster_id,
14997            'secret_store_id': self.secret_store_id,
14998            'subdomain': self.subdomain,
14999            'tags': self.tags,
15000            'token': self.token,
15001        }
15002
15003    @classmethod
15004    def from_dict(cls, d):
15005        return cls(
15006            bind_interface=d.get('bind_interface'),
15007            egress_filter=d.get('egress_filter'),
15008            healthcheck_namespace=d.get('healthcheck_namespace'),
15009            healthy=d.get('healthy'),
15010            hostname=d.get('hostname'),
15011            id=d.get('id'),
15012            name=d.get('name'),
15013            port=d.get('port'),
15014            port_override=d.get('port_override'),
15015            proxy_cluster_id=d.get('proxy_cluster_id'),
15016            secret_store_id=d.get('secret_store_id'),
15017            subdomain=d.get('subdomain'),
15018            tags=d.get('tags'),
15019            token=d.get('token'),
15020        )
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)
14893    def __init__(
14894        self,
14895        bind_interface=None,
14896        egress_filter=None,
14897        healthcheck_namespace=None,
14898        healthy=None,
14899        hostname=None,
14900        id=None,
14901        name=None,
14902        port=None,
14903        port_override=None,
14904        proxy_cluster_id=None,
14905        secret_store_id=None,
14906        subdomain=None,
14907        tags=None,
14908        token=None,
14909    ):
14910        self.bind_interface = bind_interface if bind_interface is not None else ''
14911        '''
14912         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14913        '''
14914        self.egress_filter = egress_filter if egress_filter is not None else ''
14915        '''
14916         A filter applied to the routing logic to pin datasource to nodes.
14917        '''
14918        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14919        '''
14920         The path used to check the health of your connection.  Defaults to `default`.
14921        '''
14922        self.healthy = healthy if healthy is not None else False
14923        '''
14924         True if the datasource is reachable and the credentials are valid.
14925        '''
14926        self.hostname = hostname if hostname is not None else ''
14927        '''
14928         The host to dial to initiate a connection from the egress node to this resource.
14929        '''
14930        self.id = id if id is not None else ''
14931        '''
14932         Unique identifier of the Resource.
14933        '''
14934        self.name = name if name is not None else ''
14935        '''
14936         Unique human-readable name of the Resource.
14937        '''
14938        self.port = port if port is not None else 0
14939        '''
14940         The port to dial to initiate a connection from the egress node to this resource.
14941        '''
14942        self.port_override = port_override if port_override is not None else 0
14943        '''
14944         The local port used by clients to connect to this resource.
14945        '''
14946        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14947        '''
14948         ID of the proxy cluster for this resource, if any.
14949        '''
14950        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14951        '''
14952         ID of the secret store containing credentials for this resource, if any.
14953        '''
14954        self.subdomain = subdomain if subdomain is not None else ''
14955        '''
14956         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14957        '''
14958        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14959        '''
14960         Tags is a map of key, value pairs.
14961        '''
14962        self.token = token if token is not None else ''
14963        '''
14964         The API token to authenticate with.
14965        '''
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)
14985    def to_dict(self):
14986        return {
14987            'bind_interface': self.bind_interface,
14988            'egress_filter': self.egress_filter,
14989            'healthcheck_namespace': self.healthcheck_namespace,
14990            'healthy': self.healthy,
14991            'hostname': self.hostname,
14992            'id': self.id,
14993            'name': self.name,
14994            'port': self.port,
14995            'port_override': self.port_override,
14996            'proxy_cluster_id': self.proxy_cluster_id,
14997            'secret_store_id': self.secret_store_id,
14998            'subdomain': self.subdomain,
14999            'tags': self.tags,
15000            'token': self.token,
15001        }
@classmethod
def from_dict(cls, d)
15003    @classmethod
15004    def from_dict(cls, d):
15005        return cls(
15006            bind_interface=d.get('bind_interface'),
15007            egress_filter=d.get('egress_filter'),
15008            healthcheck_namespace=d.get('healthcheck_namespace'),
15009            healthy=d.get('healthy'),
15010            hostname=d.get('hostname'),
15011            id=d.get('id'),
15012            name=d.get('name'),
15013            port=d.get('port'),
15014            port_override=d.get('port_override'),
15015            proxy_cluster_id=d.get('proxy_cluster_id'),
15016            secret_store_id=d.get('secret_store_id'),
15017            subdomain=d.get('subdomain'),
15018            tags=d.get('tags'),
15019            token=d.get('token'),
15020        )
class KubernetesUserImpersonation:
15023class KubernetesUserImpersonation:
15024    __slots__ = [
15025        'bind_interface',
15026        'certificate_authority',
15027        'client_certificate',
15028        'client_key',
15029        'egress_filter',
15030        'healthcheck_namespace',
15031        'healthy',
15032        'hostname',
15033        'id',
15034        'name',
15035        'port',
15036        'port_override',
15037        'proxy_cluster_id',
15038        'secret_store_id',
15039        'subdomain',
15040        'tags',
15041    ]
15042
15043    def __init__(
15044        self,
15045        bind_interface=None,
15046        certificate_authority=None,
15047        client_certificate=None,
15048        client_key=None,
15049        egress_filter=None,
15050        healthcheck_namespace=None,
15051        healthy=None,
15052        hostname=None,
15053        id=None,
15054        name=None,
15055        port=None,
15056        port_override=None,
15057        proxy_cluster_id=None,
15058        secret_store_id=None,
15059        subdomain=None,
15060        tags=None,
15061    ):
15062        self.bind_interface = bind_interface if bind_interface is not None else ''
15063        '''
15064         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15065        '''
15066        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15067        '''
15068         The CA to authenticate TLS connections with.
15069        '''
15070        self.client_certificate = client_certificate if client_certificate is not None else ''
15071        '''
15072         The certificate to authenticate TLS connections with.
15073        '''
15074        self.client_key = client_key if client_key is not None else ''
15075        '''
15076         The key to authenticate TLS connections with.
15077        '''
15078        self.egress_filter = egress_filter if egress_filter is not None else ''
15079        '''
15080         A filter applied to the routing logic to pin datasource to nodes.
15081        '''
15082        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15083        '''
15084         The path used to check the health of your connection.  Defaults to `default`.
15085        '''
15086        self.healthy = healthy if healthy is not None else False
15087        '''
15088         True if the datasource is reachable and the credentials are valid.
15089        '''
15090        self.hostname = hostname if hostname is not None else ''
15091        '''
15092         The host to dial to initiate a connection from the egress node to this resource.
15093        '''
15094        self.id = id if id is not None else ''
15095        '''
15096         Unique identifier of the Resource.
15097        '''
15098        self.name = name if name is not None else ''
15099        '''
15100         Unique human-readable name of the Resource.
15101        '''
15102        self.port = port if port is not None else 0
15103        '''
15104         The port to dial to initiate a connection from the egress node to this resource.
15105        '''
15106        self.port_override = port_override if port_override is not None else 0
15107        '''
15108         The local port used by clients to connect to this resource.
15109        '''
15110        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15111        '''
15112         ID of the proxy cluster for this resource, if any.
15113        '''
15114        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15115        '''
15116         ID of the secret store containing credentials for this resource, if any.
15117        '''
15118        self.subdomain = subdomain if subdomain is not None else ''
15119        '''
15120         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15121        '''
15122        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15123        '''
15124         Tags is a map of key, value pairs.
15125        '''
15126
15127    def __repr__(self):
15128        return '<sdm.KubernetesUserImpersonation ' + \
15129            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15130            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15131            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15132            'client_key: ' + repr(self.client_key) + ' ' +\
15133            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15134            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15135            'healthy: ' + repr(self.healthy) + ' ' +\
15136            'hostname: ' + repr(self.hostname) + ' ' +\
15137            'id: ' + repr(self.id) + ' ' +\
15138            'name: ' + repr(self.name) + ' ' +\
15139            'port: ' + repr(self.port) + ' ' +\
15140            'port_override: ' + repr(self.port_override) + ' ' +\
15141            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15142            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15143            'subdomain: ' + repr(self.subdomain) + ' ' +\
15144            'tags: ' + repr(self.tags) + ' ' +\
15145            '>'
15146
15147    def to_dict(self):
15148        return {
15149            'bind_interface': self.bind_interface,
15150            'certificate_authority': self.certificate_authority,
15151            'client_certificate': self.client_certificate,
15152            'client_key': self.client_key,
15153            'egress_filter': self.egress_filter,
15154            'healthcheck_namespace': self.healthcheck_namespace,
15155            'healthy': self.healthy,
15156            'hostname': self.hostname,
15157            'id': self.id,
15158            'name': self.name,
15159            'port': self.port,
15160            'port_override': self.port_override,
15161            'proxy_cluster_id': self.proxy_cluster_id,
15162            'secret_store_id': self.secret_store_id,
15163            'subdomain': self.subdomain,
15164            'tags': self.tags,
15165        }
15166
15167    @classmethod
15168    def from_dict(cls, d):
15169        return cls(
15170            bind_interface=d.get('bind_interface'),
15171            certificate_authority=d.get('certificate_authority'),
15172            client_certificate=d.get('client_certificate'),
15173            client_key=d.get('client_key'),
15174            egress_filter=d.get('egress_filter'),
15175            healthcheck_namespace=d.get('healthcheck_namespace'),
15176            healthy=d.get('healthy'),
15177            hostname=d.get('hostname'),
15178            id=d.get('id'),
15179            name=d.get('name'),
15180            port=d.get('port'),
15181            port_override=d.get('port_override'),
15182            proxy_cluster_id=d.get('proxy_cluster_id'),
15183            secret_store_id=d.get('secret_store_id'),
15184            subdomain=d.get('subdomain'),
15185            tags=d.get('tags'),
15186        )
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)
15043    def __init__(
15044        self,
15045        bind_interface=None,
15046        certificate_authority=None,
15047        client_certificate=None,
15048        client_key=None,
15049        egress_filter=None,
15050        healthcheck_namespace=None,
15051        healthy=None,
15052        hostname=None,
15053        id=None,
15054        name=None,
15055        port=None,
15056        port_override=None,
15057        proxy_cluster_id=None,
15058        secret_store_id=None,
15059        subdomain=None,
15060        tags=None,
15061    ):
15062        self.bind_interface = bind_interface if bind_interface is not None else ''
15063        '''
15064         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15065        '''
15066        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15067        '''
15068         The CA to authenticate TLS connections with.
15069        '''
15070        self.client_certificate = client_certificate if client_certificate is not None else ''
15071        '''
15072         The certificate to authenticate TLS connections with.
15073        '''
15074        self.client_key = client_key if client_key is not None else ''
15075        '''
15076         The key to authenticate TLS connections with.
15077        '''
15078        self.egress_filter = egress_filter if egress_filter is not None else ''
15079        '''
15080         A filter applied to the routing logic to pin datasource to nodes.
15081        '''
15082        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15083        '''
15084         The path used to check the health of your connection.  Defaults to `default`.
15085        '''
15086        self.healthy = healthy if healthy is not None else False
15087        '''
15088         True if the datasource is reachable and the credentials are valid.
15089        '''
15090        self.hostname = hostname if hostname is not None else ''
15091        '''
15092         The host to dial to initiate a connection from the egress node to this resource.
15093        '''
15094        self.id = id if id is not None else ''
15095        '''
15096         Unique identifier of the Resource.
15097        '''
15098        self.name = name if name is not None else ''
15099        '''
15100         Unique human-readable name of the Resource.
15101        '''
15102        self.port = port if port is not None else 0
15103        '''
15104         The port to dial to initiate a connection from the egress node to this resource.
15105        '''
15106        self.port_override = port_override if port_override is not None else 0
15107        '''
15108         The local port used by clients to connect to this resource.
15109        '''
15110        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15111        '''
15112         ID of the proxy cluster for this resource, if any.
15113        '''
15114        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15115        '''
15116         ID of the secret store containing credentials for this resource, if any.
15117        '''
15118        self.subdomain = subdomain if subdomain is not None else ''
15119        '''
15120         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15121        '''
15122        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15123        '''
15124         Tags is a map of key, value pairs.
15125        '''
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)
15147    def to_dict(self):
15148        return {
15149            'bind_interface': self.bind_interface,
15150            'certificate_authority': self.certificate_authority,
15151            'client_certificate': self.client_certificate,
15152            'client_key': self.client_key,
15153            'egress_filter': self.egress_filter,
15154            'healthcheck_namespace': self.healthcheck_namespace,
15155            'healthy': self.healthy,
15156            'hostname': self.hostname,
15157            'id': self.id,
15158            'name': self.name,
15159            'port': self.port,
15160            'port_override': self.port_override,
15161            'proxy_cluster_id': self.proxy_cluster_id,
15162            'secret_store_id': self.secret_store_id,
15163            'subdomain': self.subdomain,
15164            'tags': self.tags,
15165        }
@classmethod
def from_dict(cls, d)
15167    @classmethod
15168    def from_dict(cls, d):
15169        return cls(
15170            bind_interface=d.get('bind_interface'),
15171            certificate_authority=d.get('certificate_authority'),
15172            client_certificate=d.get('client_certificate'),
15173            client_key=d.get('client_key'),
15174            egress_filter=d.get('egress_filter'),
15175            healthcheck_namespace=d.get('healthcheck_namespace'),
15176            healthy=d.get('healthy'),
15177            hostname=d.get('hostname'),
15178            id=d.get('id'),
15179            name=d.get('name'),
15180            port=d.get('port'),
15181            port_override=d.get('port_override'),
15182            proxy_cluster_id=d.get('proxy_cluster_id'),
15183            secret_store_id=d.get('secret_store_id'),
15184            subdomain=d.get('subdomain'),
15185            tags=d.get('tags'),
15186        )
class MTLSMysql:
15189class MTLSMysql:
15190    '''
15191    MTLSMysql is currently unstable, and its API may change, or it may be removed,
15192    without a major version bump.
15193    '''
15194    __slots__ = [
15195        'bind_interface',
15196        'certificate_authority',
15197        'client_certificate',
15198        'client_key',
15199        'database',
15200        'egress_filter',
15201        'healthy',
15202        'hostname',
15203        'id',
15204        'name',
15205        'password',
15206        'port',
15207        'port_override',
15208        'proxy_cluster_id',
15209        'require_native_auth',
15210        'secret_store_id',
15211        'server_name',
15212        'subdomain',
15213        'tags',
15214        'use_azure_single_server_usernames',
15215        'username',
15216    ]
15217
15218    def __init__(
15219        self,
15220        bind_interface=None,
15221        certificate_authority=None,
15222        client_certificate=None,
15223        client_key=None,
15224        database=None,
15225        egress_filter=None,
15226        healthy=None,
15227        hostname=None,
15228        id=None,
15229        name=None,
15230        password=None,
15231        port=None,
15232        port_override=None,
15233        proxy_cluster_id=None,
15234        require_native_auth=None,
15235        secret_store_id=None,
15236        server_name=None,
15237        subdomain=None,
15238        tags=None,
15239        use_azure_single_server_usernames=None,
15240        username=None,
15241    ):
15242        self.bind_interface = bind_interface if bind_interface is not None else ''
15243        '''
15244         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15245        '''
15246        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15247        '''
15248         The CA to authenticate TLS connections with.
15249        '''
15250        self.client_certificate = client_certificate if client_certificate is not None else ''
15251        '''
15252         The certificate to authenticate TLS connections with.
15253        '''
15254        self.client_key = client_key if client_key is not None else ''
15255        '''
15256         The key to authenticate TLS connections with.
15257        '''
15258        self.database = database if database is not None else ''
15259        '''
15260         The database for healthchecks. Does not affect client requests.
15261        '''
15262        self.egress_filter = egress_filter if egress_filter is not None else ''
15263        '''
15264         A filter applied to the routing logic to pin datasource to nodes.
15265        '''
15266        self.healthy = healthy if healthy is not None else False
15267        '''
15268         True if the datasource is reachable and the credentials are valid.
15269        '''
15270        self.hostname = hostname if hostname is not None else ''
15271        '''
15272         The host to dial to initiate a connection from the egress node to this resource.
15273        '''
15274        self.id = id if id is not None else ''
15275        '''
15276         Unique identifier of the Resource.
15277        '''
15278        self.name = name if name is not None else ''
15279        '''
15280         Unique human-readable name of the Resource.
15281        '''
15282        self.password = password if password is not None else ''
15283        '''
15284         The password to authenticate with.
15285        '''
15286        self.port = port if port is not None else 0
15287        '''
15288         The port to dial to initiate a connection from the egress node to this resource.
15289        '''
15290        self.port_override = port_override if port_override is not None else 0
15291        '''
15292         The local port used by clients to connect to this resource.
15293        '''
15294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15295        '''
15296         ID of the proxy cluster for this resource, if any.
15297        '''
15298        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15299        '''
15300         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15301        '''
15302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15303        '''
15304         ID of the secret store containing credentials for this resource, if any.
15305        '''
15306        self.server_name = server_name if server_name is not None else ''
15307        '''
15308         Server name for TLS verification (unverified by StrongDM if empty)
15309        '''
15310        self.subdomain = subdomain if subdomain is not None else ''
15311        '''
15312         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15313        '''
15314        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15315        '''
15316         Tags is a map of key, value pairs.
15317        '''
15318        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15319        '''
15320         If true, appends the hostname to the username when hitting a database.azure.com address
15321        '''
15322        self.username = username if username is not None else ''
15323        '''
15324         The username to authenticate with.
15325        '''
15326
15327    def __repr__(self):
15328        return '<sdm.MTLSMysql ' + \
15329            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15330            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15331            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15332            'client_key: ' + repr(self.client_key) + ' ' +\
15333            'database: ' + repr(self.database) + ' ' +\
15334            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15335            'healthy: ' + repr(self.healthy) + ' ' +\
15336            'hostname: ' + repr(self.hostname) + ' ' +\
15337            'id: ' + repr(self.id) + ' ' +\
15338            'name: ' + repr(self.name) + ' ' +\
15339            'password: ' + repr(self.password) + ' ' +\
15340            'port: ' + repr(self.port) + ' ' +\
15341            'port_override: ' + repr(self.port_override) + ' ' +\
15342            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15343            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
15344            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15345            'server_name: ' + repr(self.server_name) + ' ' +\
15346            'subdomain: ' + repr(self.subdomain) + ' ' +\
15347            'tags: ' + repr(self.tags) + ' ' +\
15348            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
15349            'username: ' + repr(self.username) + ' ' +\
15350            '>'
15351
15352    def to_dict(self):
15353        return {
15354            'bind_interface': self.bind_interface,
15355            'certificate_authority': self.certificate_authority,
15356            'client_certificate': self.client_certificate,
15357            'client_key': self.client_key,
15358            'database': self.database,
15359            'egress_filter': self.egress_filter,
15360            'healthy': self.healthy,
15361            'hostname': self.hostname,
15362            'id': self.id,
15363            'name': self.name,
15364            'password': self.password,
15365            'port': self.port,
15366            'port_override': self.port_override,
15367            'proxy_cluster_id': self.proxy_cluster_id,
15368            'require_native_auth': self.require_native_auth,
15369            'secret_store_id': self.secret_store_id,
15370            'server_name': self.server_name,
15371            'subdomain': self.subdomain,
15372            'tags': self.tags,
15373            'use_azure_single_server_usernames':
15374            self.use_azure_single_server_usernames,
15375            'username': self.username,
15376        }
15377
15378    @classmethod
15379    def from_dict(cls, d):
15380        return cls(
15381            bind_interface=d.get('bind_interface'),
15382            certificate_authority=d.get('certificate_authority'),
15383            client_certificate=d.get('client_certificate'),
15384            client_key=d.get('client_key'),
15385            database=d.get('database'),
15386            egress_filter=d.get('egress_filter'),
15387            healthy=d.get('healthy'),
15388            hostname=d.get('hostname'),
15389            id=d.get('id'),
15390            name=d.get('name'),
15391            password=d.get('password'),
15392            port=d.get('port'),
15393            port_override=d.get('port_override'),
15394            proxy_cluster_id=d.get('proxy_cluster_id'),
15395            require_native_auth=d.get('require_native_auth'),
15396            secret_store_id=d.get('secret_store_id'),
15397            server_name=d.get('server_name'),
15398            subdomain=d.get('subdomain'),
15399            tags=d.get('tags'),
15400            use_azure_single_server_usernames=d.get(
15401                'use_azure_single_server_usernames'),
15402            username=d.get('username'),
15403        )

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)
15218    def __init__(
15219        self,
15220        bind_interface=None,
15221        certificate_authority=None,
15222        client_certificate=None,
15223        client_key=None,
15224        database=None,
15225        egress_filter=None,
15226        healthy=None,
15227        hostname=None,
15228        id=None,
15229        name=None,
15230        password=None,
15231        port=None,
15232        port_override=None,
15233        proxy_cluster_id=None,
15234        require_native_auth=None,
15235        secret_store_id=None,
15236        server_name=None,
15237        subdomain=None,
15238        tags=None,
15239        use_azure_single_server_usernames=None,
15240        username=None,
15241    ):
15242        self.bind_interface = bind_interface if bind_interface is not None else ''
15243        '''
15244         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15245        '''
15246        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15247        '''
15248         The CA to authenticate TLS connections with.
15249        '''
15250        self.client_certificate = client_certificate if client_certificate is not None else ''
15251        '''
15252         The certificate to authenticate TLS connections with.
15253        '''
15254        self.client_key = client_key if client_key is not None else ''
15255        '''
15256         The key to authenticate TLS connections with.
15257        '''
15258        self.database = database if database is not None else ''
15259        '''
15260         The database for healthchecks. Does not affect client requests.
15261        '''
15262        self.egress_filter = egress_filter if egress_filter is not None else ''
15263        '''
15264         A filter applied to the routing logic to pin datasource to nodes.
15265        '''
15266        self.healthy = healthy if healthy is not None else False
15267        '''
15268         True if the datasource is reachable and the credentials are valid.
15269        '''
15270        self.hostname = hostname if hostname is not None else ''
15271        '''
15272         The host to dial to initiate a connection from the egress node to this resource.
15273        '''
15274        self.id = id if id is not None else ''
15275        '''
15276         Unique identifier of the Resource.
15277        '''
15278        self.name = name if name is not None else ''
15279        '''
15280         Unique human-readable name of the Resource.
15281        '''
15282        self.password = password if password is not None else ''
15283        '''
15284         The password to authenticate with.
15285        '''
15286        self.port = port if port is not None else 0
15287        '''
15288         The port to dial to initiate a connection from the egress node to this resource.
15289        '''
15290        self.port_override = port_override if port_override is not None else 0
15291        '''
15292         The local port used by clients to connect to this resource.
15293        '''
15294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15295        '''
15296         ID of the proxy cluster for this resource, if any.
15297        '''
15298        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15299        '''
15300         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15301        '''
15302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15303        '''
15304         ID of the secret store containing credentials for this resource, if any.
15305        '''
15306        self.server_name = server_name if server_name is not None else ''
15307        '''
15308         Server name for TLS verification (unverified by StrongDM if empty)
15309        '''
15310        self.subdomain = subdomain if subdomain is not None else ''
15311        '''
15312         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15313        '''
15314        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15315        '''
15316         Tags is a map of key, value pairs.
15317        '''
15318        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15319        '''
15320         If true, appends the hostname to the username when hitting a database.azure.com address
15321        '''
15322        self.username = username if username is not None else ''
15323        '''
15324         The username to authenticate with.
15325        '''
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)
15352    def to_dict(self):
15353        return {
15354            'bind_interface': self.bind_interface,
15355            'certificate_authority': self.certificate_authority,
15356            'client_certificate': self.client_certificate,
15357            'client_key': self.client_key,
15358            'database': self.database,
15359            'egress_filter': self.egress_filter,
15360            'healthy': self.healthy,
15361            'hostname': self.hostname,
15362            'id': self.id,
15363            'name': self.name,
15364            'password': self.password,
15365            'port': self.port,
15366            'port_override': self.port_override,
15367            'proxy_cluster_id': self.proxy_cluster_id,
15368            'require_native_auth': self.require_native_auth,
15369            'secret_store_id': self.secret_store_id,
15370            'server_name': self.server_name,
15371            'subdomain': self.subdomain,
15372            'tags': self.tags,
15373            'use_azure_single_server_usernames':
15374            self.use_azure_single_server_usernames,
15375            'username': self.username,
15376        }
@classmethod
def from_dict(cls, d)
15378    @classmethod
15379    def from_dict(cls, d):
15380        return cls(
15381            bind_interface=d.get('bind_interface'),
15382            certificate_authority=d.get('certificate_authority'),
15383            client_certificate=d.get('client_certificate'),
15384            client_key=d.get('client_key'),
15385            database=d.get('database'),
15386            egress_filter=d.get('egress_filter'),
15387            healthy=d.get('healthy'),
15388            hostname=d.get('hostname'),
15389            id=d.get('id'),
15390            name=d.get('name'),
15391            password=d.get('password'),
15392            port=d.get('port'),
15393            port_override=d.get('port_override'),
15394            proxy_cluster_id=d.get('proxy_cluster_id'),
15395            require_native_auth=d.get('require_native_auth'),
15396            secret_store_id=d.get('secret_store_id'),
15397            server_name=d.get('server_name'),
15398            subdomain=d.get('subdomain'),
15399            tags=d.get('tags'),
15400            use_azure_single_server_usernames=d.get(
15401                'use_azure_single_server_usernames'),
15402            username=d.get('username'),
15403        )
class MTLSPostgres:
15406class MTLSPostgres:
15407    __slots__ = [
15408        'bind_interface',
15409        'certificate_authority',
15410        'client_certificate',
15411        'client_key',
15412        'database',
15413        'egress_filter',
15414        'healthy',
15415        'hostname',
15416        'id',
15417        'name',
15418        'override_database',
15419        'password',
15420        'port',
15421        'port_override',
15422        'proxy_cluster_id',
15423        'secret_store_id',
15424        'server_name',
15425        'subdomain',
15426        'tags',
15427        'username',
15428    ]
15429
15430    def __init__(
15431        self,
15432        bind_interface=None,
15433        certificate_authority=None,
15434        client_certificate=None,
15435        client_key=None,
15436        database=None,
15437        egress_filter=None,
15438        healthy=None,
15439        hostname=None,
15440        id=None,
15441        name=None,
15442        override_database=None,
15443        password=None,
15444        port=None,
15445        port_override=None,
15446        proxy_cluster_id=None,
15447        secret_store_id=None,
15448        server_name=None,
15449        subdomain=None,
15450        tags=None,
15451        username=None,
15452    ):
15453        self.bind_interface = bind_interface if bind_interface is not None else ''
15454        '''
15455         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15456        '''
15457        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15458        '''
15459         The CA to authenticate TLS connections with.
15460        '''
15461        self.client_certificate = client_certificate if client_certificate is not None else ''
15462        '''
15463         The certificate to authenticate TLS connections with.
15464        '''
15465        self.client_key = client_key if client_key is not None else ''
15466        '''
15467         The key to authenticate TLS connections with.
15468        '''
15469        self.database = database if database is not None else ''
15470        '''
15471         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15472        '''
15473        self.egress_filter = egress_filter if egress_filter is not None else ''
15474        '''
15475         A filter applied to the routing logic to pin datasource to nodes.
15476        '''
15477        self.healthy = healthy if healthy is not None else False
15478        '''
15479         True if the datasource is reachable and the credentials are valid.
15480        '''
15481        self.hostname = hostname if hostname is not None else ''
15482        '''
15483         The host to dial to initiate a connection from the egress node to this resource.
15484        '''
15485        self.id = id if id is not None else ''
15486        '''
15487         Unique identifier of the Resource.
15488        '''
15489        self.name = name if name is not None else ''
15490        '''
15491         Unique human-readable name of the Resource.
15492        '''
15493        self.override_database = override_database if override_database is not None else False
15494        '''
15495         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.
15496        '''
15497        self.password = password if password is not None else ''
15498        '''
15499         The password to authenticate with.
15500        '''
15501        self.port = port if port is not None else 0
15502        '''
15503         The port to dial to initiate a connection from the egress node to this resource.
15504        '''
15505        self.port_override = port_override if port_override is not None else 0
15506        '''
15507         The local port used by clients to connect to this resource.
15508        '''
15509        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15510        '''
15511         ID of the proxy cluster for this resource, if any.
15512        '''
15513        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15514        '''
15515         ID of the secret store containing credentials for this resource, if any.
15516        '''
15517        self.server_name = server_name if server_name is not None else ''
15518        '''
15519         Server name for TLS verification (unverified by StrongDM if empty)
15520        '''
15521        self.subdomain = subdomain if subdomain is not None else ''
15522        '''
15523         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15524        '''
15525        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15526        '''
15527         Tags is a map of key, value pairs.
15528        '''
15529        self.username = username if username is not None else ''
15530        '''
15531         The username to authenticate with.
15532        '''
15533
15534    def __repr__(self):
15535        return '<sdm.MTLSPostgres ' + \
15536            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15537            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15538            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15539            'client_key: ' + repr(self.client_key) + ' ' +\
15540            'database: ' + repr(self.database) + ' ' +\
15541            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15542            'healthy: ' + repr(self.healthy) + ' ' +\
15543            'hostname: ' + repr(self.hostname) + ' ' +\
15544            'id: ' + repr(self.id) + ' ' +\
15545            'name: ' + repr(self.name) + ' ' +\
15546            'override_database: ' + repr(self.override_database) + ' ' +\
15547            'password: ' + repr(self.password) + ' ' +\
15548            'port: ' + repr(self.port) + ' ' +\
15549            'port_override: ' + repr(self.port_override) + ' ' +\
15550            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15551            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15552            'server_name: ' + repr(self.server_name) + ' ' +\
15553            'subdomain: ' + repr(self.subdomain) + ' ' +\
15554            'tags: ' + repr(self.tags) + ' ' +\
15555            'username: ' + repr(self.username) + ' ' +\
15556            '>'
15557
15558    def to_dict(self):
15559        return {
15560            'bind_interface': self.bind_interface,
15561            'certificate_authority': self.certificate_authority,
15562            'client_certificate': self.client_certificate,
15563            'client_key': self.client_key,
15564            'database': self.database,
15565            'egress_filter': self.egress_filter,
15566            'healthy': self.healthy,
15567            'hostname': self.hostname,
15568            'id': self.id,
15569            'name': self.name,
15570            'override_database': self.override_database,
15571            'password': self.password,
15572            'port': self.port,
15573            'port_override': self.port_override,
15574            'proxy_cluster_id': self.proxy_cluster_id,
15575            'secret_store_id': self.secret_store_id,
15576            'server_name': self.server_name,
15577            'subdomain': self.subdomain,
15578            'tags': self.tags,
15579            'username': self.username,
15580        }
15581
15582    @classmethod
15583    def from_dict(cls, d):
15584        return cls(
15585            bind_interface=d.get('bind_interface'),
15586            certificate_authority=d.get('certificate_authority'),
15587            client_certificate=d.get('client_certificate'),
15588            client_key=d.get('client_key'),
15589            database=d.get('database'),
15590            egress_filter=d.get('egress_filter'),
15591            healthy=d.get('healthy'),
15592            hostname=d.get('hostname'),
15593            id=d.get('id'),
15594            name=d.get('name'),
15595            override_database=d.get('override_database'),
15596            password=d.get('password'),
15597            port=d.get('port'),
15598            port_override=d.get('port_override'),
15599            proxy_cluster_id=d.get('proxy_cluster_id'),
15600            secret_store_id=d.get('secret_store_id'),
15601            server_name=d.get('server_name'),
15602            subdomain=d.get('subdomain'),
15603            tags=d.get('tags'),
15604            username=d.get('username'),
15605        )
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)
15430    def __init__(
15431        self,
15432        bind_interface=None,
15433        certificate_authority=None,
15434        client_certificate=None,
15435        client_key=None,
15436        database=None,
15437        egress_filter=None,
15438        healthy=None,
15439        hostname=None,
15440        id=None,
15441        name=None,
15442        override_database=None,
15443        password=None,
15444        port=None,
15445        port_override=None,
15446        proxy_cluster_id=None,
15447        secret_store_id=None,
15448        server_name=None,
15449        subdomain=None,
15450        tags=None,
15451        username=None,
15452    ):
15453        self.bind_interface = bind_interface if bind_interface is not None else ''
15454        '''
15455         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15456        '''
15457        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15458        '''
15459         The CA to authenticate TLS connections with.
15460        '''
15461        self.client_certificate = client_certificate if client_certificate is not None else ''
15462        '''
15463         The certificate to authenticate TLS connections with.
15464        '''
15465        self.client_key = client_key if client_key is not None else ''
15466        '''
15467         The key to authenticate TLS connections with.
15468        '''
15469        self.database = database if database is not None else ''
15470        '''
15471         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15472        '''
15473        self.egress_filter = egress_filter if egress_filter is not None else ''
15474        '''
15475         A filter applied to the routing logic to pin datasource to nodes.
15476        '''
15477        self.healthy = healthy if healthy is not None else False
15478        '''
15479         True if the datasource is reachable and the credentials are valid.
15480        '''
15481        self.hostname = hostname if hostname is not None else ''
15482        '''
15483         The host to dial to initiate a connection from the egress node to this resource.
15484        '''
15485        self.id = id if id is not None else ''
15486        '''
15487         Unique identifier of the Resource.
15488        '''
15489        self.name = name if name is not None else ''
15490        '''
15491         Unique human-readable name of the Resource.
15492        '''
15493        self.override_database = override_database if override_database is not None else False
15494        '''
15495         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.
15496        '''
15497        self.password = password if password is not None else ''
15498        '''
15499         The password to authenticate with.
15500        '''
15501        self.port = port if port is not None else 0
15502        '''
15503         The port to dial to initiate a connection from the egress node to this resource.
15504        '''
15505        self.port_override = port_override if port_override is not None else 0
15506        '''
15507         The local port used by clients to connect to this resource.
15508        '''
15509        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15510        '''
15511         ID of the proxy cluster for this resource, if any.
15512        '''
15513        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15514        '''
15515         ID of the secret store containing credentials for this resource, if any.
15516        '''
15517        self.server_name = server_name if server_name is not None else ''
15518        '''
15519         Server name for TLS verification (unverified by StrongDM if empty)
15520        '''
15521        self.subdomain = subdomain if subdomain is not None else ''
15522        '''
15523         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15524        '''
15525        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15526        '''
15527         Tags is a map of key, value pairs.
15528        '''
15529        self.username = username if username is not None else ''
15530        '''
15531         The username to authenticate with.
15532        '''
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)
15558    def to_dict(self):
15559        return {
15560            'bind_interface': self.bind_interface,
15561            'certificate_authority': self.certificate_authority,
15562            'client_certificate': self.client_certificate,
15563            'client_key': self.client_key,
15564            'database': self.database,
15565            'egress_filter': self.egress_filter,
15566            'healthy': self.healthy,
15567            'hostname': self.hostname,
15568            'id': self.id,
15569            'name': self.name,
15570            'override_database': self.override_database,
15571            'password': self.password,
15572            'port': self.port,
15573            'port_override': self.port_override,
15574            'proxy_cluster_id': self.proxy_cluster_id,
15575            'secret_store_id': self.secret_store_id,
15576            'server_name': self.server_name,
15577            'subdomain': self.subdomain,
15578            'tags': self.tags,
15579            'username': self.username,
15580        }
@classmethod
def from_dict(cls, d)
15582    @classmethod
15583    def from_dict(cls, d):
15584        return cls(
15585            bind_interface=d.get('bind_interface'),
15586            certificate_authority=d.get('certificate_authority'),
15587            client_certificate=d.get('client_certificate'),
15588            client_key=d.get('client_key'),
15589            database=d.get('database'),
15590            egress_filter=d.get('egress_filter'),
15591            healthy=d.get('healthy'),
15592            hostname=d.get('hostname'),
15593            id=d.get('id'),
15594            name=d.get('name'),
15595            override_database=d.get('override_database'),
15596            password=d.get('password'),
15597            port=d.get('port'),
15598            port_override=d.get('port_override'),
15599            proxy_cluster_id=d.get('proxy_cluster_id'),
15600            secret_store_id=d.get('secret_store_id'),
15601            server_name=d.get('server_name'),
15602            subdomain=d.get('subdomain'),
15603            tags=d.get('tags'),
15604            username=d.get('username'),
15605        )
class Maria:
15608class Maria:
15609    __slots__ = [
15610        'bind_interface',
15611        'database',
15612        'egress_filter',
15613        'healthy',
15614        'hostname',
15615        'id',
15616        'name',
15617        'password',
15618        'port',
15619        'port_override',
15620        'proxy_cluster_id',
15621        'require_native_auth',
15622        'secret_store_id',
15623        'subdomain',
15624        'tags',
15625        'use_azure_single_server_usernames',
15626        'username',
15627    ]
15628
15629    def __init__(
15630        self,
15631        bind_interface=None,
15632        database=None,
15633        egress_filter=None,
15634        healthy=None,
15635        hostname=None,
15636        id=None,
15637        name=None,
15638        password=None,
15639        port=None,
15640        port_override=None,
15641        proxy_cluster_id=None,
15642        require_native_auth=None,
15643        secret_store_id=None,
15644        subdomain=None,
15645        tags=None,
15646        use_azure_single_server_usernames=None,
15647        username=None,
15648    ):
15649        self.bind_interface = bind_interface if bind_interface is not None else ''
15650        '''
15651         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15652        '''
15653        self.database = database if database is not None else ''
15654        '''
15655         The database for healthchecks. Does not affect client requests.
15656        '''
15657        self.egress_filter = egress_filter if egress_filter is not None else ''
15658        '''
15659         A filter applied to the routing logic to pin datasource to nodes.
15660        '''
15661        self.healthy = healthy if healthy is not None else False
15662        '''
15663         True if the datasource is reachable and the credentials are valid.
15664        '''
15665        self.hostname = hostname if hostname is not None else ''
15666        '''
15667         The host to dial to initiate a connection from the egress node to this resource.
15668        '''
15669        self.id = id if id is not None else ''
15670        '''
15671         Unique identifier of the Resource.
15672        '''
15673        self.name = name if name is not None else ''
15674        '''
15675         Unique human-readable name of the Resource.
15676        '''
15677        self.password = password if password is not None else ''
15678        '''
15679         The password to authenticate with.
15680        '''
15681        self.port = port if port is not None else 0
15682        '''
15683         The port to dial to initiate a connection from the egress node to this resource.
15684        '''
15685        self.port_override = port_override if port_override is not None else 0
15686        '''
15687         The local port used by clients to connect to this resource.
15688        '''
15689        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15690        '''
15691         ID of the proxy cluster for this resource, if any.
15692        '''
15693        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15694        '''
15695         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15696        '''
15697        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15698        '''
15699         ID of the secret store containing credentials for this resource, if any.
15700        '''
15701        self.subdomain = subdomain if subdomain is not None else ''
15702        '''
15703         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15704        '''
15705        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15706        '''
15707         Tags is a map of key, value pairs.
15708        '''
15709        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15710        '''
15711         If true, appends the hostname to the username when hitting a database.azure.com address
15712        '''
15713        self.username = username if username is not None else ''
15714        '''
15715         The username to authenticate with.
15716        '''
15717
15718    def __repr__(self):
15719        return '<sdm.Maria ' + \
15720            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15721            'database: ' + repr(self.database) + ' ' +\
15722            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15723            'healthy: ' + repr(self.healthy) + ' ' +\
15724            'hostname: ' + repr(self.hostname) + ' ' +\
15725            'id: ' + repr(self.id) + ' ' +\
15726            'name: ' + repr(self.name) + ' ' +\
15727            'password: ' + repr(self.password) + ' ' +\
15728            'port: ' + repr(self.port) + ' ' +\
15729            'port_override: ' + repr(self.port_override) + ' ' +\
15730            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15731            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
15732            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15733            'subdomain: ' + repr(self.subdomain) + ' ' +\
15734            'tags: ' + repr(self.tags) + ' ' +\
15735            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
15736            'username: ' + repr(self.username) + ' ' +\
15737            '>'
15738
15739    def to_dict(self):
15740        return {
15741            'bind_interface': self.bind_interface,
15742            'database': self.database,
15743            'egress_filter': self.egress_filter,
15744            'healthy': self.healthy,
15745            'hostname': self.hostname,
15746            'id': self.id,
15747            'name': self.name,
15748            'password': self.password,
15749            'port': self.port,
15750            'port_override': self.port_override,
15751            'proxy_cluster_id': self.proxy_cluster_id,
15752            'require_native_auth': self.require_native_auth,
15753            'secret_store_id': self.secret_store_id,
15754            'subdomain': self.subdomain,
15755            'tags': self.tags,
15756            'use_azure_single_server_usernames':
15757            self.use_azure_single_server_usernames,
15758            'username': self.username,
15759        }
15760
15761    @classmethod
15762    def from_dict(cls, d):
15763        return cls(
15764            bind_interface=d.get('bind_interface'),
15765            database=d.get('database'),
15766            egress_filter=d.get('egress_filter'),
15767            healthy=d.get('healthy'),
15768            hostname=d.get('hostname'),
15769            id=d.get('id'),
15770            name=d.get('name'),
15771            password=d.get('password'),
15772            port=d.get('port'),
15773            port_override=d.get('port_override'),
15774            proxy_cluster_id=d.get('proxy_cluster_id'),
15775            require_native_auth=d.get('require_native_auth'),
15776            secret_store_id=d.get('secret_store_id'),
15777            subdomain=d.get('subdomain'),
15778            tags=d.get('tags'),
15779            use_azure_single_server_usernames=d.get(
15780                'use_azure_single_server_usernames'),
15781            username=d.get('username'),
15782        )
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)
15629    def __init__(
15630        self,
15631        bind_interface=None,
15632        database=None,
15633        egress_filter=None,
15634        healthy=None,
15635        hostname=None,
15636        id=None,
15637        name=None,
15638        password=None,
15639        port=None,
15640        port_override=None,
15641        proxy_cluster_id=None,
15642        require_native_auth=None,
15643        secret_store_id=None,
15644        subdomain=None,
15645        tags=None,
15646        use_azure_single_server_usernames=None,
15647        username=None,
15648    ):
15649        self.bind_interface = bind_interface if bind_interface is not None else ''
15650        '''
15651         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15652        '''
15653        self.database = database if database is not None else ''
15654        '''
15655         The database for healthchecks. Does not affect client requests.
15656        '''
15657        self.egress_filter = egress_filter if egress_filter is not None else ''
15658        '''
15659         A filter applied to the routing logic to pin datasource to nodes.
15660        '''
15661        self.healthy = healthy if healthy is not None else False
15662        '''
15663         True if the datasource is reachable and the credentials are valid.
15664        '''
15665        self.hostname = hostname if hostname is not None else ''
15666        '''
15667         The host to dial to initiate a connection from the egress node to this resource.
15668        '''
15669        self.id = id if id is not None else ''
15670        '''
15671         Unique identifier of the Resource.
15672        '''
15673        self.name = name if name is not None else ''
15674        '''
15675         Unique human-readable name of the Resource.
15676        '''
15677        self.password = password if password is not None else ''
15678        '''
15679         The password to authenticate with.
15680        '''
15681        self.port = port if port is not None else 0
15682        '''
15683         The port to dial to initiate a connection from the egress node to this resource.
15684        '''
15685        self.port_override = port_override if port_override is not None else 0
15686        '''
15687         The local port used by clients to connect to this resource.
15688        '''
15689        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15690        '''
15691         ID of the proxy cluster for this resource, if any.
15692        '''
15693        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15694        '''
15695         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15696        '''
15697        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15698        '''
15699         ID of the secret store containing credentials for this resource, if any.
15700        '''
15701        self.subdomain = subdomain if subdomain is not None else ''
15702        '''
15703         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15704        '''
15705        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15706        '''
15707         Tags is a map of key, value pairs.
15708        '''
15709        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15710        '''
15711         If true, appends the hostname to the username when hitting a database.azure.com address
15712        '''
15713        self.username = username if username is not None else ''
15714        '''
15715         The username to authenticate with.
15716        '''
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)
15739    def to_dict(self):
15740        return {
15741            'bind_interface': self.bind_interface,
15742            'database': self.database,
15743            'egress_filter': self.egress_filter,
15744            'healthy': self.healthy,
15745            'hostname': self.hostname,
15746            'id': self.id,
15747            'name': self.name,
15748            'password': self.password,
15749            'port': self.port,
15750            'port_override': self.port_override,
15751            'proxy_cluster_id': self.proxy_cluster_id,
15752            'require_native_auth': self.require_native_auth,
15753            'secret_store_id': self.secret_store_id,
15754            'subdomain': self.subdomain,
15755            'tags': self.tags,
15756            'use_azure_single_server_usernames':
15757            self.use_azure_single_server_usernames,
15758            'username': self.username,
15759        }
@classmethod
def from_dict(cls, d)
15761    @classmethod
15762    def from_dict(cls, d):
15763        return cls(
15764            bind_interface=d.get('bind_interface'),
15765            database=d.get('database'),
15766            egress_filter=d.get('egress_filter'),
15767            healthy=d.get('healthy'),
15768            hostname=d.get('hostname'),
15769            id=d.get('id'),
15770            name=d.get('name'),
15771            password=d.get('password'),
15772            port=d.get('port'),
15773            port_override=d.get('port_override'),
15774            proxy_cluster_id=d.get('proxy_cluster_id'),
15775            require_native_auth=d.get('require_native_auth'),
15776            secret_store_id=d.get('secret_store_id'),
15777            subdomain=d.get('subdomain'),
15778            tags=d.get('tags'),
15779            use_azure_single_server_usernames=d.get(
15780                'use_azure_single_server_usernames'),
15781            username=d.get('username'),
15782        )
class Memcached:
15785class Memcached:
15786    __slots__ = [
15787        'bind_interface',
15788        'egress_filter',
15789        'healthy',
15790        'hostname',
15791        'id',
15792        'name',
15793        'port',
15794        'port_override',
15795        'proxy_cluster_id',
15796        'secret_store_id',
15797        'subdomain',
15798        'tags',
15799    ]
15800
15801    def __init__(
15802        self,
15803        bind_interface=None,
15804        egress_filter=None,
15805        healthy=None,
15806        hostname=None,
15807        id=None,
15808        name=None,
15809        port=None,
15810        port_override=None,
15811        proxy_cluster_id=None,
15812        secret_store_id=None,
15813        subdomain=None,
15814        tags=None,
15815    ):
15816        self.bind_interface = bind_interface if bind_interface is not None else ''
15817        '''
15818         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15819        '''
15820        self.egress_filter = egress_filter if egress_filter is not None else ''
15821        '''
15822         A filter applied to the routing logic to pin datasource to nodes.
15823        '''
15824        self.healthy = healthy if healthy is not None else False
15825        '''
15826         True if the datasource is reachable and the credentials are valid.
15827        '''
15828        self.hostname = hostname if hostname is not None else ''
15829        '''
15830         The host to dial to initiate a connection from the egress node to this resource.
15831        '''
15832        self.id = id if id is not None else ''
15833        '''
15834         Unique identifier of the Resource.
15835        '''
15836        self.name = name if name is not None else ''
15837        '''
15838         Unique human-readable name of the Resource.
15839        '''
15840        self.port = port if port is not None else 0
15841        '''
15842         The port to dial to initiate a connection from the egress node to this resource.
15843        '''
15844        self.port_override = port_override if port_override is not None else 0
15845        '''
15846         The local port used by clients to connect to this resource.
15847        '''
15848        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15849        '''
15850         ID of the proxy cluster for this resource, if any.
15851        '''
15852        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15853        '''
15854         ID of the secret store containing credentials for this resource, if any.
15855        '''
15856        self.subdomain = subdomain if subdomain is not None else ''
15857        '''
15858         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15859        '''
15860        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15861        '''
15862         Tags is a map of key, value pairs.
15863        '''
15864
15865    def __repr__(self):
15866        return '<sdm.Memcached ' + \
15867            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15868            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15869            'healthy: ' + repr(self.healthy) + ' ' +\
15870            'hostname: ' + repr(self.hostname) + ' ' +\
15871            'id: ' + repr(self.id) + ' ' +\
15872            'name: ' + repr(self.name) + ' ' +\
15873            'port: ' + repr(self.port) + ' ' +\
15874            'port_override: ' + repr(self.port_override) + ' ' +\
15875            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15876            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15877            'subdomain: ' + repr(self.subdomain) + ' ' +\
15878            'tags: ' + repr(self.tags) + ' ' +\
15879            '>'
15880
15881    def to_dict(self):
15882        return {
15883            'bind_interface': self.bind_interface,
15884            'egress_filter': self.egress_filter,
15885            'healthy': self.healthy,
15886            'hostname': self.hostname,
15887            'id': self.id,
15888            'name': self.name,
15889            'port': self.port,
15890            'port_override': self.port_override,
15891            'proxy_cluster_id': self.proxy_cluster_id,
15892            'secret_store_id': self.secret_store_id,
15893            'subdomain': self.subdomain,
15894            'tags': self.tags,
15895        }
15896
15897    @classmethod
15898    def from_dict(cls, d):
15899        return cls(
15900            bind_interface=d.get('bind_interface'),
15901            egress_filter=d.get('egress_filter'),
15902            healthy=d.get('healthy'),
15903            hostname=d.get('hostname'),
15904            id=d.get('id'),
15905            name=d.get('name'),
15906            port=d.get('port'),
15907            port_override=d.get('port_override'),
15908            proxy_cluster_id=d.get('proxy_cluster_id'),
15909            secret_store_id=d.get('secret_store_id'),
15910            subdomain=d.get('subdomain'),
15911            tags=d.get('tags'),
15912        )
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)
15801    def __init__(
15802        self,
15803        bind_interface=None,
15804        egress_filter=None,
15805        healthy=None,
15806        hostname=None,
15807        id=None,
15808        name=None,
15809        port=None,
15810        port_override=None,
15811        proxy_cluster_id=None,
15812        secret_store_id=None,
15813        subdomain=None,
15814        tags=None,
15815    ):
15816        self.bind_interface = bind_interface if bind_interface is not None else ''
15817        '''
15818         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15819        '''
15820        self.egress_filter = egress_filter if egress_filter is not None else ''
15821        '''
15822         A filter applied to the routing logic to pin datasource to nodes.
15823        '''
15824        self.healthy = healthy if healthy is not None else False
15825        '''
15826         True if the datasource is reachable and the credentials are valid.
15827        '''
15828        self.hostname = hostname if hostname is not None else ''
15829        '''
15830         The host to dial to initiate a connection from the egress node to this resource.
15831        '''
15832        self.id = id if id is not None else ''
15833        '''
15834         Unique identifier of the Resource.
15835        '''
15836        self.name = name if name is not None else ''
15837        '''
15838         Unique human-readable name of the Resource.
15839        '''
15840        self.port = port if port is not None else 0
15841        '''
15842         The port to dial to initiate a connection from the egress node to this resource.
15843        '''
15844        self.port_override = port_override if port_override is not None else 0
15845        '''
15846         The local port used by clients to connect to this resource.
15847        '''
15848        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15849        '''
15850         ID of the proxy cluster for this resource, if any.
15851        '''
15852        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15853        '''
15854         ID of the secret store containing credentials for this resource, if any.
15855        '''
15856        self.subdomain = subdomain if subdomain is not None else ''
15857        '''
15858         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15859        '''
15860        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15861        '''
15862         Tags is a map of key, value pairs.
15863        '''
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)
15881    def to_dict(self):
15882        return {
15883            'bind_interface': self.bind_interface,
15884            'egress_filter': self.egress_filter,
15885            'healthy': self.healthy,
15886            'hostname': self.hostname,
15887            'id': self.id,
15888            'name': self.name,
15889            'port': self.port,
15890            'port_override': self.port_override,
15891            'proxy_cluster_id': self.proxy_cluster_id,
15892            'secret_store_id': self.secret_store_id,
15893            'subdomain': self.subdomain,
15894            'tags': self.tags,
15895        }
@classmethod
def from_dict(cls, d)
15897    @classmethod
15898    def from_dict(cls, d):
15899        return cls(
15900            bind_interface=d.get('bind_interface'),
15901            egress_filter=d.get('egress_filter'),
15902            healthy=d.get('healthy'),
15903            hostname=d.get('hostname'),
15904            id=d.get('id'),
15905            name=d.get('name'),
15906            port=d.get('port'),
15907            port_override=d.get('port_override'),
15908            proxy_cluster_id=d.get('proxy_cluster_id'),
15909            secret_store_id=d.get('secret_store_id'),
15910            subdomain=d.get('subdomain'),
15911            tags=d.get('tags'),
15912        )
class Memsql:
15915class Memsql:
15916    __slots__ = [
15917        'bind_interface',
15918        'database',
15919        'egress_filter',
15920        'healthy',
15921        'hostname',
15922        'id',
15923        'name',
15924        'password',
15925        'port',
15926        'port_override',
15927        'proxy_cluster_id',
15928        'require_native_auth',
15929        'secret_store_id',
15930        'subdomain',
15931        'tags',
15932        'use_azure_single_server_usernames',
15933        'username',
15934    ]
15935
15936    def __init__(
15937        self,
15938        bind_interface=None,
15939        database=None,
15940        egress_filter=None,
15941        healthy=None,
15942        hostname=None,
15943        id=None,
15944        name=None,
15945        password=None,
15946        port=None,
15947        port_override=None,
15948        proxy_cluster_id=None,
15949        require_native_auth=None,
15950        secret_store_id=None,
15951        subdomain=None,
15952        tags=None,
15953        use_azure_single_server_usernames=None,
15954        username=None,
15955    ):
15956        self.bind_interface = bind_interface if bind_interface is not None else ''
15957        '''
15958         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15959        '''
15960        self.database = database if database is not None else ''
15961        '''
15962         The database for healthchecks. Does not affect client requests.
15963        '''
15964        self.egress_filter = egress_filter if egress_filter is not None else ''
15965        '''
15966         A filter applied to the routing logic to pin datasource to nodes.
15967        '''
15968        self.healthy = healthy if healthy is not None else False
15969        '''
15970         True if the datasource is reachable and the credentials are valid.
15971        '''
15972        self.hostname = hostname if hostname is not None else ''
15973        '''
15974         The host to dial to initiate a connection from the egress node to this resource.
15975        '''
15976        self.id = id if id is not None else ''
15977        '''
15978         Unique identifier of the Resource.
15979        '''
15980        self.name = name if name is not None else ''
15981        '''
15982         Unique human-readable name of the Resource.
15983        '''
15984        self.password = password if password is not None else ''
15985        '''
15986         The password to authenticate with.
15987        '''
15988        self.port = port if port is not None else 0
15989        '''
15990         The port to dial to initiate a connection from the egress node to this resource.
15991        '''
15992        self.port_override = port_override if port_override is not None else 0
15993        '''
15994         The local port used by clients to connect to this resource.
15995        '''
15996        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15997        '''
15998         ID of the proxy cluster for this resource, if any.
15999        '''
16000        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16001        '''
16002         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16003        '''
16004        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16005        '''
16006         ID of the secret store containing credentials for this resource, if any.
16007        '''
16008        self.subdomain = subdomain if subdomain is not None else ''
16009        '''
16010         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16011        '''
16012        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16013        '''
16014         Tags is a map of key, value pairs.
16015        '''
16016        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16017        '''
16018         If true, appends the hostname to the username when hitting a database.azure.com address
16019        '''
16020        self.username = username if username is not None else ''
16021        '''
16022         The username to authenticate with.
16023        '''
16024
16025    def __repr__(self):
16026        return '<sdm.Memsql ' + \
16027            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16028            'database: ' + repr(self.database) + ' ' +\
16029            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16030            'healthy: ' + repr(self.healthy) + ' ' +\
16031            'hostname: ' + repr(self.hostname) + ' ' +\
16032            'id: ' + repr(self.id) + ' ' +\
16033            'name: ' + repr(self.name) + ' ' +\
16034            'password: ' + repr(self.password) + ' ' +\
16035            'port: ' + repr(self.port) + ' ' +\
16036            'port_override: ' + repr(self.port_override) + ' ' +\
16037            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16038            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16039            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16040            'subdomain: ' + repr(self.subdomain) + ' ' +\
16041            'tags: ' + repr(self.tags) + ' ' +\
16042            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16043            'username: ' + repr(self.username) + ' ' +\
16044            '>'
16045
16046    def to_dict(self):
16047        return {
16048            'bind_interface': self.bind_interface,
16049            'database': self.database,
16050            'egress_filter': self.egress_filter,
16051            'healthy': self.healthy,
16052            'hostname': self.hostname,
16053            'id': self.id,
16054            'name': self.name,
16055            'password': self.password,
16056            'port': self.port,
16057            'port_override': self.port_override,
16058            'proxy_cluster_id': self.proxy_cluster_id,
16059            'require_native_auth': self.require_native_auth,
16060            'secret_store_id': self.secret_store_id,
16061            'subdomain': self.subdomain,
16062            'tags': self.tags,
16063            'use_azure_single_server_usernames':
16064            self.use_azure_single_server_usernames,
16065            'username': self.username,
16066        }
16067
16068    @classmethod
16069    def from_dict(cls, d):
16070        return cls(
16071            bind_interface=d.get('bind_interface'),
16072            database=d.get('database'),
16073            egress_filter=d.get('egress_filter'),
16074            healthy=d.get('healthy'),
16075            hostname=d.get('hostname'),
16076            id=d.get('id'),
16077            name=d.get('name'),
16078            password=d.get('password'),
16079            port=d.get('port'),
16080            port_override=d.get('port_override'),
16081            proxy_cluster_id=d.get('proxy_cluster_id'),
16082            require_native_auth=d.get('require_native_auth'),
16083            secret_store_id=d.get('secret_store_id'),
16084            subdomain=d.get('subdomain'),
16085            tags=d.get('tags'),
16086            use_azure_single_server_usernames=d.get(
16087                'use_azure_single_server_usernames'),
16088            username=d.get('username'),
16089        )
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)
15936    def __init__(
15937        self,
15938        bind_interface=None,
15939        database=None,
15940        egress_filter=None,
15941        healthy=None,
15942        hostname=None,
15943        id=None,
15944        name=None,
15945        password=None,
15946        port=None,
15947        port_override=None,
15948        proxy_cluster_id=None,
15949        require_native_auth=None,
15950        secret_store_id=None,
15951        subdomain=None,
15952        tags=None,
15953        use_azure_single_server_usernames=None,
15954        username=None,
15955    ):
15956        self.bind_interface = bind_interface if bind_interface is not None else ''
15957        '''
15958         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15959        '''
15960        self.database = database if database is not None else ''
15961        '''
15962         The database for healthchecks. Does not affect client requests.
15963        '''
15964        self.egress_filter = egress_filter if egress_filter is not None else ''
15965        '''
15966         A filter applied to the routing logic to pin datasource to nodes.
15967        '''
15968        self.healthy = healthy if healthy is not None else False
15969        '''
15970         True if the datasource is reachable and the credentials are valid.
15971        '''
15972        self.hostname = hostname if hostname is not None else ''
15973        '''
15974         The host to dial to initiate a connection from the egress node to this resource.
15975        '''
15976        self.id = id if id is not None else ''
15977        '''
15978         Unique identifier of the Resource.
15979        '''
15980        self.name = name if name is not None else ''
15981        '''
15982         Unique human-readable name of the Resource.
15983        '''
15984        self.password = password if password is not None else ''
15985        '''
15986         The password to authenticate with.
15987        '''
15988        self.port = port if port is not None else 0
15989        '''
15990         The port to dial to initiate a connection from the egress node to this resource.
15991        '''
15992        self.port_override = port_override if port_override is not None else 0
15993        '''
15994         The local port used by clients to connect to this resource.
15995        '''
15996        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15997        '''
15998         ID of the proxy cluster for this resource, if any.
15999        '''
16000        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16001        '''
16002         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16003        '''
16004        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16005        '''
16006         ID of the secret store containing credentials for this resource, if any.
16007        '''
16008        self.subdomain = subdomain if subdomain is not None else ''
16009        '''
16010         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16011        '''
16012        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16013        '''
16014         Tags is a map of key, value pairs.
16015        '''
16016        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16017        '''
16018         If true, appends the hostname to the username when hitting a database.azure.com address
16019        '''
16020        self.username = username if username is not None else ''
16021        '''
16022         The username to authenticate with.
16023        '''
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)
16046    def to_dict(self):
16047        return {
16048            'bind_interface': self.bind_interface,
16049            'database': self.database,
16050            'egress_filter': self.egress_filter,
16051            'healthy': self.healthy,
16052            'hostname': self.hostname,
16053            'id': self.id,
16054            'name': self.name,
16055            'password': self.password,
16056            'port': self.port,
16057            'port_override': self.port_override,
16058            'proxy_cluster_id': self.proxy_cluster_id,
16059            'require_native_auth': self.require_native_auth,
16060            'secret_store_id': self.secret_store_id,
16061            'subdomain': self.subdomain,
16062            'tags': self.tags,
16063            'use_azure_single_server_usernames':
16064            self.use_azure_single_server_usernames,
16065            'username': self.username,
16066        }
@classmethod
def from_dict(cls, d)
16068    @classmethod
16069    def from_dict(cls, d):
16070        return cls(
16071            bind_interface=d.get('bind_interface'),
16072            database=d.get('database'),
16073            egress_filter=d.get('egress_filter'),
16074            healthy=d.get('healthy'),
16075            hostname=d.get('hostname'),
16076            id=d.get('id'),
16077            name=d.get('name'),
16078            password=d.get('password'),
16079            port=d.get('port'),
16080            port_override=d.get('port_override'),
16081            proxy_cluster_id=d.get('proxy_cluster_id'),
16082            require_native_auth=d.get('require_native_auth'),
16083            secret_store_id=d.get('secret_store_id'),
16084            subdomain=d.get('subdomain'),
16085            tags=d.get('tags'),
16086            use_azure_single_server_usernames=d.get(
16087                'use_azure_single_server_usernames'),
16088            username=d.get('username'),
16089        )
class MongoHost:
16092class MongoHost:
16093    __slots__ = [
16094        'auth_database',
16095        'bind_interface',
16096        'egress_filter',
16097        'healthy',
16098        'hostname',
16099        'id',
16100        'name',
16101        'password',
16102        'port',
16103        'port_override',
16104        'proxy_cluster_id',
16105        'secret_store_id',
16106        'subdomain',
16107        'tags',
16108        'tls_required',
16109        'username',
16110    ]
16111
16112    def __init__(
16113        self,
16114        auth_database=None,
16115        bind_interface=None,
16116        egress_filter=None,
16117        healthy=None,
16118        hostname=None,
16119        id=None,
16120        name=None,
16121        password=None,
16122        port=None,
16123        port_override=None,
16124        proxy_cluster_id=None,
16125        secret_store_id=None,
16126        subdomain=None,
16127        tags=None,
16128        tls_required=None,
16129        username=None,
16130    ):
16131        self.auth_database = auth_database if auth_database is not None else ''
16132        '''
16133         The authentication database to use.
16134        '''
16135        self.bind_interface = bind_interface if bind_interface is not None else ''
16136        '''
16137         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16138        '''
16139        self.egress_filter = egress_filter if egress_filter is not None else ''
16140        '''
16141         A filter applied to the routing logic to pin datasource to nodes.
16142        '''
16143        self.healthy = healthy if healthy is not None else False
16144        '''
16145         True if the datasource is reachable and the credentials are valid.
16146        '''
16147        self.hostname = hostname if hostname is not None else ''
16148        '''
16149         The host to dial to initiate a connection from the egress node to this resource.
16150        '''
16151        self.id = id if id is not None else ''
16152        '''
16153         Unique identifier of the Resource.
16154        '''
16155        self.name = name if name is not None else ''
16156        '''
16157         Unique human-readable name of the Resource.
16158        '''
16159        self.password = password if password is not None else ''
16160        '''
16161         The password to authenticate with.
16162        '''
16163        self.port = port if port is not None else 0
16164        '''
16165         The port to dial to initiate a connection from the egress node to this resource.
16166        '''
16167        self.port_override = port_override if port_override is not None else 0
16168        '''
16169         The local port used by clients to connect to this resource.
16170        '''
16171        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16172        '''
16173         ID of the proxy cluster for this resource, if any.
16174        '''
16175        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16176        '''
16177         ID of the secret store containing credentials for this resource, if any.
16178        '''
16179        self.subdomain = subdomain if subdomain is not None else ''
16180        '''
16181         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16182        '''
16183        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16184        '''
16185         Tags is a map of key, value pairs.
16186        '''
16187        self.tls_required = tls_required if tls_required is not None else False
16188        '''
16189         If set, TLS must be used to connect to this resource.
16190        '''
16191        self.username = username if username is not None else ''
16192        '''
16193         The username to authenticate with.
16194        '''
16195
16196    def __repr__(self):
16197        return '<sdm.MongoHost ' + \
16198            'auth_database: ' + repr(self.auth_database) + ' ' +\
16199            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16200            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16201            'healthy: ' + repr(self.healthy) + ' ' +\
16202            'hostname: ' + repr(self.hostname) + ' ' +\
16203            'id: ' + repr(self.id) + ' ' +\
16204            'name: ' + repr(self.name) + ' ' +\
16205            'password: ' + repr(self.password) + ' ' +\
16206            'port: ' + repr(self.port) + ' ' +\
16207            'port_override: ' + repr(self.port_override) + ' ' +\
16208            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16209            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16210            'subdomain: ' + repr(self.subdomain) + ' ' +\
16211            'tags: ' + repr(self.tags) + ' ' +\
16212            'tls_required: ' + repr(self.tls_required) + ' ' +\
16213            'username: ' + repr(self.username) + ' ' +\
16214            '>'
16215
16216    def to_dict(self):
16217        return {
16218            'auth_database': self.auth_database,
16219            'bind_interface': self.bind_interface,
16220            'egress_filter': self.egress_filter,
16221            'healthy': self.healthy,
16222            'hostname': self.hostname,
16223            'id': self.id,
16224            'name': self.name,
16225            'password': self.password,
16226            'port': self.port,
16227            'port_override': self.port_override,
16228            'proxy_cluster_id': self.proxy_cluster_id,
16229            'secret_store_id': self.secret_store_id,
16230            'subdomain': self.subdomain,
16231            'tags': self.tags,
16232            'tls_required': self.tls_required,
16233            'username': self.username,
16234        }
16235
16236    @classmethod
16237    def from_dict(cls, d):
16238        return cls(
16239            auth_database=d.get('auth_database'),
16240            bind_interface=d.get('bind_interface'),
16241            egress_filter=d.get('egress_filter'),
16242            healthy=d.get('healthy'),
16243            hostname=d.get('hostname'),
16244            id=d.get('id'),
16245            name=d.get('name'),
16246            password=d.get('password'),
16247            port=d.get('port'),
16248            port_override=d.get('port_override'),
16249            proxy_cluster_id=d.get('proxy_cluster_id'),
16250            secret_store_id=d.get('secret_store_id'),
16251            subdomain=d.get('subdomain'),
16252            tags=d.get('tags'),
16253            tls_required=d.get('tls_required'),
16254            username=d.get('username'),
16255        )
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)
16112    def __init__(
16113        self,
16114        auth_database=None,
16115        bind_interface=None,
16116        egress_filter=None,
16117        healthy=None,
16118        hostname=None,
16119        id=None,
16120        name=None,
16121        password=None,
16122        port=None,
16123        port_override=None,
16124        proxy_cluster_id=None,
16125        secret_store_id=None,
16126        subdomain=None,
16127        tags=None,
16128        tls_required=None,
16129        username=None,
16130    ):
16131        self.auth_database = auth_database if auth_database is not None else ''
16132        '''
16133         The authentication database to use.
16134        '''
16135        self.bind_interface = bind_interface if bind_interface is not None else ''
16136        '''
16137         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16138        '''
16139        self.egress_filter = egress_filter if egress_filter is not None else ''
16140        '''
16141         A filter applied to the routing logic to pin datasource to nodes.
16142        '''
16143        self.healthy = healthy if healthy is not None else False
16144        '''
16145         True if the datasource is reachable and the credentials are valid.
16146        '''
16147        self.hostname = hostname if hostname is not None else ''
16148        '''
16149         The host to dial to initiate a connection from the egress node to this resource.
16150        '''
16151        self.id = id if id is not None else ''
16152        '''
16153         Unique identifier of the Resource.
16154        '''
16155        self.name = name if name is not None else ''
16156        '''
16157         Unique human-readable name of the Resource.
16158        '''
16159        self.password = password if password is not None else ''
16160        '''
16161         The password to authenticate with.
16162        '''
16163        self.port = port if port is not None else 0
16164        '''
16165         The port to dial to initiate a connection from the egress node to this resource.
16166        '''
16167        self.port_override = port_override if port_override is not None else 0
16168        '''
16169         The local port used by clients to connect to this resource.
16170        '''
16171        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16172        '''
16173         ID of the proxy cluster for this resource, if any.
16174        '''
16175        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16176        '''
16177         ID of the secret store containing credentials for this resource, if any.
16178        '''
16179        self.subdomain = subdomain if subdomain is not None else ''
16180        '''
16181         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16182        '''
16183        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16184        '''
16185         Tags is a map of key, value pairs.
16186        '''
16187        self.tls_required = tls_required if tls_required is not None else False
16188        '''
16189         If set, TLS must be used to connect to this resource.
16190        '''
16191        self.username = username if username is not None else ''
16192        '''
16193         The username to authenticate with.
16194        '''
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)
16216    def to_dict(self):
16217        return {
16218            'auth_database': self.auth_database,
16219            'bind_interface': self.bind_interface,
16220            'egress_filter': self.egress_filter,
16221            'healthy': self.healthy,
16222            'hostname': self.hostname,
16223            'id': self.id,
16224            'name': self.name,
16225            'password': self.password,
16226            'port': self.port,
16227            'port_override': self.port_override,
16228            'proxy_cluster_id': self.proxy_cluster_id,
16229            'secret_store_id': self.secret_store_id,
16230            'subdomain': self.subdomain,
16231            'tags': self.tags,
16232            'tls_required': self.tls_required,
16233            'username': self.username,
16234        }
@classmethod
def from_dict(cls, d)
16236    @classmethod
16237    def from_dict(cls, d):
16238        return cls(
16239            auth_database=d.get('auth_database'),
16240            bind_interface=d.get('bind_interface'),
16241            egress_filter=d.get('egress_filter'),
16242            healthy=d.get('healthy'),
16243            hostname=d.get('hostname'),
16244            id=d.get('id'),
16245            name=d.get('name'),
16246            password=d.get('password'),
16247            port=d.get('port'),
16248            port_override=d.get('port_override'),
16249            proxy_cluster_id=d.get('proxy_cluster_id'),
16250            secret_store_id=d.get('secret_store_id'),
16251            subdomain=d.get('subdomain'),
16252            tags=d.get('tags'),
16253            tls_required=d.get('tls_required'),
16254            username=d.get('username'),
16255        )
class MongoLegacyHost:
16258class MongoLegacyHost:
16259    '''
16260    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
16261    without a major version bump.
16262    '''
16263    __slots__ = [
16264        'auth_database',
16265        'bind_interface',
16266        'egress_filter',
16267        'healthy',
16268        'hostname',
16269        'id',
16270        'name',
16271        'password',
16272        'port',
16273        'port_override',
16274        'proxy_cluster_id',
16275        'secret_store_id',
16276        'subdomain',
16277        'tags',
16278        'tls_required',
16279        'username',
16280    ]
16281
16282    def __init__(
16283        self,
16284        auth_database=None,
16285        bind_interface=None,
16286        egress_filter=None,
16287        healthy=None,
16288        hostname=None,
16289        id=None,
16290        name=None,
16291        password=None,
16292        port=None,
16293        port_override=None,
16294        proxy_cluster_id=None,
16295        secret_store_id=None,
16296        subdomain=None,
16297        tags=None,
16298        tls_required=None,
16299        username=None,
16300    ):
16301        self.auth_database = auth_database if auth_database is not None else ''
16302        '''
16303         The authentication database to use.
16304        '''
16305        self.bind_interface = bind_interface if bind_interface is not None else ''
16306        '''
16307         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16308        '''
16309        self.egress_filter = egress_filter if egress_filter is not None else ''
16310        '''
16311         A filter applied to the routing logic to pin datasource to nodes.
16312        '''
16313        self.healthy = healthy if healthy is not None else False
16314        '''
16315         True if the datasource is reachable and the credentials are valid.
16316        '''
16317        self.hostname = hostname if hostname is not None else ''
16318        '''
16319         The host to dial to initiate a connection from the egress node to this resource.
16320        '''
16321        self.id = id if id is not None else ''
16322        '''
16323         Unique identifier of the Resource.
16324        '''
16325        self.name = name if name is not None else ''
16326        '''
16327         Unique human-readable name of the Resource.
16328        '''
16329        self.password = password if password is not None else ''
16330        '''
16331         The password to authenticate with.
16332        '''
16333        self.port = port if port is not None else 0
16334        '''
16335         The port to dial to initiate a connection from the egress node to this resource.
16336        '''
16337        self.port_override = port_override if port_override is not None else 0
16338        '''
16339         The local port used by clients to connect to this resource.
16340        '''
16341        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16342        '''
16343         ID of the proxy cluster for this resource, if any.
16344        '''
16345        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16346        '''
16347         ID of the secret store containing credentials for this resource, if any.
16348        '''
16349        self.subdomain = subdomain if subdomain is not None else ''
16350        '''
16351         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16352        '''
16353        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16354        '''
16355         Tags is a map of key, value pairs.
16356        '''
16357        self.tls_required = tls_required if tls_required is not None else False
16358        '''
16359         If set, TLS must be used to connect to this resource.
16360        '''
16361        self.username = username if username is not None else ''
16362        '''
16363         The username to authenticate with.
16364        '''
16365
16366    def __repr__(self):
16367        return '<sdm.MongoLegacyHost ' + \
16368            'auth_database: ' + repr(self.auth_database) + ' ' +\
16369            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16370            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16371            'healthy: ' + repr(self.healthy) + ' ' +\
16372            'hostname: ' + repr(self.hostname) + ' ' +\
16373            'id: ' + repr(self.id) + ' ' +\
16374            'name: ' + repr(self.name) + ' ' +\
16375            'password: ' + repr(self.password) + ' ' +\
16376            'port: ' + repr(self.port) + ' ' +\
16377            'port_override: ' + repr(self.port_override) + ' ' +\
16378            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16379            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16380            'subdomain: ' + repr(self.subdomain) + ' ' +\
16381            'tags: ' + repr(self.tags) + ' ' +\
16382            'tls_required: ' + repr(self.tls_required) + ' ' +\
16383            'username: ' + repr(self.username) + ' ' +\
16384            '>'
16385
16386    def to_dict(self):
16387        return {
16388            'auth_database': self.auth_database,
16389            'bind_interface': self.bind_interface,
16390            'egress_filter': self.egress_filter,
16391            'healthy': self.healthy,
16392            'hostname': self.hostname,
16393            'id': self.id,
16394            'name': self.name,
16395            'password': self.password,
16396            'port': self.port,
16397            'port_override': self.port_override,
16398            'proxy_cluster_id': self.proxy_cluster_id,
16399            'secret_store_id': self.secret_store_id,
16400            'subdomain': self.subdomain,
16401            'tags': self.tags,
16402            'tls_required': self.tls_required,
16403            'username': self.username,
16404        }
16405
16406    @classmethod
16407    def from_dict(cls, d):
16408        return cls(
16409            auth_database=d.get('auth_database'),
16410            bind_interface=d.get('bind_interface'),
16411            egress_filter=d.get('egress_filter'),
16412            healthy=d.get('healthy'),
16413            hostname=d.get('hostname'),
16414            id=d.get('id'),
16415            name=d.get('name'),
16416            password=d.get('password'),
16417            port=d.get('port'),
16418            port_override=d.get('port_override'),
16419            proxy_cluster_id=d.get('proxy_cluster_id'),
16420            secret_store_id=d.get('secret_store_id'),
16421            subdomain=d.get('subdomain'),
16422            tags=d.get('tags'),
16423            tls_required=d.get('tls_required'),
16424            username=d.get('username'),
16425        )

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)
16282    def __init__(
16283        self,
16284        auth_database=None,
16285        bind_interface=None,
16286        egress_filter=None,
16287        healthy=None,
16288        hostname=None,
16289        id=None,
16290        name=None,
16291        password=None,
16292        port=None,
16293        port_override=None,
16294        proxy_cluster_id=None,
16295        secret_store_id=None,
16296        subdomain=None,
16297        tags=None,
16298        tls_required=None,
16299        username=None,
16300    ):
16301        self.auth_database = auth_database if auth_database is not None else ''
16302        '''
16303         The authentication database to use.
16304        '''
16305        self.bind_interface = bind_interface if bind_interface is not None else ''
16306        '''
16307         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16308        '''
16309        self.egress_filter = egress_filter if egress_filter is not None else ''
16310        '''
16311         A filter applied to the routing logic to pin datasource to nodes.
16312        '''
16313        self.healthy = healthy if healthy is not None else False
16314        '''
16315         True if the datasource is reachable and the credentials are valid.
16316        '''
16317        self.hostname = hostname if hostname is not None else ''
16318        '''
16319         The host to dial to initiate a connection from the egress node to this resource.
16320        '''
16321        self.id = id if id is not None else ''
16322        '''
16323         Unique identifier of the Resource.
16324        '''
16325        self.name = name if name is not None else ''
16326        '''
16327         Unique human-readable name of the Resource.
16328        '''
16329        self.password = password if password is not None else ''
16330        '''
16331         The password to authenticate with.
16332        '''
16333        self.port = port if port is not None else 0
16334        '''
16335         The port to dial to initiate a connection from the egress node to this resource.
16336        '''
16337        self.port_override = port_override if port_override is not None else 0
16338        '''
16339         The local port used by clients to connect to this resource.
16340        '''
16341        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16342        '''
16343         ID of the proxy cluster for this resource, if any.
16344        '''
16345        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16346        '''
16347         ID of the secret store containing credentials for this resource, if any.
16348        '''
16349        self.subdomain = subdomain if subdomain is not None else ''
16350        '''
16351         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16352        '''
16353        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16354        '''
16355         Tags is a map of key, value pairs.
16356        '''
16357        self.tls_required = tls_required if tls_required is not None else False
16358        '''
16359         If set, TLS must be used to connect to this resource.
16360        '''
16361        self.username = username if username is not None else ''
16362        '''
16363         The username to authenticate with.
16364        '''
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)
16386    def to_dict(self):
16387        return {
16388            'auth_database': self.auth_database,
16389            'bind_interface': self.bind_interface,
16390            'egress_filter': self.egress_filter,
16391            'healthy': self.healthy,
16392            'hostname': self.hostname,
16393            'id': self.id,
16394            'name': self.name,
16395            'password': self.password,
16396            'port': self.port,
16397            'port_override': self.port_override,
16398            'proxy_cluster_id': self.proxy_cluster_id,
16399            'secret_store_id': self.secret_store_id,
16400            'subdomain': self.subdomain,
16401            'tags': self.tags,
16402            'tls_required': self.tls_required,
16403            'username': self.username,
16404        }
@classmethod
def from_dict(cls, d)
16406    @classmethod
16407    def from_dict(cls, d):
16408        return cls(
16409            auth_database=d.get('auth_database'),
16410            bind_interface=d.get('bind_interface'),
16411            egress_filter=d.get('egress_filter'),
16412            healthy=d.get('healthy'),
16413            hostname=d.get('hostname'),
16414            id=d.get('id'),
16415            name=d.get('name'),
16416            password=d.get('password'),
16417            port=d.get('port'),
16418            port_override=d.get('port_override'),
16419            proxy_cluster_id=d.get('proxy_cluster_id'),
16420            secret_store_id=d.get('secret_store_id'),
16421            subdomain=d.get('subdomain'),
16422            tags=d.get('tags'),
16423            tls_required=d.get('tls_required'),
16424            username=d.get('username'),
16425        )
class MongoLegacyReplicaset:
16428class MongoLegacyReplicaset:
16429    '''
16430    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
16431    without a major version bump.
16432    '''
16433    __slots__ = [
16434        'auth_database',
16435        'bind_interface',
16436        'connect_to_replica',
16437        'egress_filter',
16438        'healthy',
16439        'hostname',
16440        'id',
16441        'name',
16442        'password',
16443        'port',
16444        'port_override',
16445        'proxy_cluster_id',
16446        'replica_set',
16447        'secret_store_id',
16448        'subdomain',
16449        'tags',
16450        'tls_required',
16451        'username',
16452    ]
16453
16454    def __init__(
16455        self,
16456        auth_database=None,
16457        bind_interface=None,
16458        connect_to_replica=None,
16459        egress_filter=None,
16460        healthy=None,
16461        hostname=None,
16462        id=None,
16463        name=None,
16464        password=None,
16465        port=None,
16466        port_override=None,
16467        proxy_cluster_id=None,
16468        replica_set=None,
16469        secret_store_id=None,
16470        subdomain=None,
16471        tags=None,
16472        tls_required=None,
16473        username=None,
16474    ):
16475        self.auth_database = auth_database if auth_database is not None else ''
16476        '''
16477         The authentication database to use.
16478        '''
16479        self.bind_interface = bind_interface if bind_interface is not None else ''
16480        '''
16481         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16482        '''
16483        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
16484        '''
16485         Set to connect to a replica instead of the primary node.
16486        '''
16487        self.egress_filter = egress_filter if egress_filter is not None else ''
16488        '''
16489         A filter applied to the routing logic to pin datasource to nodes.
16490        '''
16491        self.healthy = healthy if healthy is not None else False
16492        '''
16493         True if the datasource is reachable and the credentials are valid.
16494        '''
16495        self.hostname = hostname if hostname is not None else ''
16496        '''
16497         The host to dial to initiate a connection from the egress node to this resource.
16498        '''
16499        self.id = id if id is not None else ''
16500        '''
16501         Unique identifier of the Resource.
16502        '''
16503        self.name = name if name is not None else ''
16504        '''
16505         Unique human-readable name of the Resource.
16506        '''
16507        self.password = password if password is not None else ''
16508        '''
16509         The password to authenticate with.
16510        '''
16511        self.port = port if port is not None else 0
16512        '''
16513         The port to dial to initiate a connection from the egress node to this resource.
16514        '''
16515        self.port_override = port_override if port_override is not None else 0
16516        '''
16517         The local port used by clients to connect to this resource.
16518        '''
16519        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16520        '''
16521         ID of the proxy cluster for this resource, if any.
16522        '''
16523        self.replica_set = replica_set if replica_set is not None else ''
16524        '''
16525         The name of the mongo replicaset.
16526        '''
16527        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16528        '''
16529         ID of the secret store containing credentials for this resource, if any.
16530        '''
16531        self.subdomain = subdomain if subdomain is not None else ''
16532        '''
16533         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16534        '''
16535        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16536        '''
16537         Tags is a map of key, value pairs.
16538        '''
16539        self.tls_required = tls_required if tls_required is not None else False
16540        '''
16541         If set, TLS must be used to connect to this resource.
16542        '''
16543        self.username = username if username is not None else ''
16544        '''
16545         The username to authenticate with.
16546        '''
16547
16548    def __repr__(self):
16549        return '<sdm.MongoLegacyReplicaset ' + \
16550            'auth_database: ' + repr(self.auth_database) + ' ' +\
16551            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16552            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
16553            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16554            'healthy: ' + repr(self.healthy) + ' ' +\
16555            'hostname: ' + repr(self.hostname) + ' ' +\
16556            'id: ' + repr(self.id) + ' ' +\
16557            'name: ' + repr(self.name) + ' ' +\
16558            'password: ' + repr(self.password) + ' ' +\
16559            'port: ' + repr(self.port) + ' ' +\
16560            'port_override: ' + repr(self.port_override) + ' ' +\
16561            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16562            'replica_set: ' + repr(self.replica_set) + ' ' +\
16563            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16564            'subdomain: ' + repr(self.subdomain) + ' ' +\
16565            'tags: ' + repr(self.tags) + ' ' +\
16566            'tls_required: ' + repr(self.tls_required) + ' ' +\
16567            'username: ' + repr(self.username) + ' ' +\
16568            '>'
16569
16570    def to_dict(self):
16571        return {
16572            'auth_database': self.auth_database,
16573            'bind_interface': self.bind_interface,
16574            'connect_to_replica': self.connect_to_replica,
16575            'egress_filter': self.egress_filter,
16576            'healthy': self.healthy,
16577            'hostname': self.hostname,
16578            'id': self.id,
16579            'name': self.name,
16580            'password': self.password,
16581            'port': self.port,
16582            'port_override': self.port_override,
16583            'proxy_cluster_id': self.proxy_cluster_id,
16584            'replica_set': self.replica_set,
16585            'secret_store_id': self.secret_store_id,
16586            'subdomain': self.subdomain,
16587            'tags': self.tags,
16588            'tls_required': self.tls_required,
16589            'username': self.username,
16590        }
16591
16592    @classmethod
16593    def from_dict(cls, d):
16594        return cls(
16595            auth_database=d.get('auth_database'),
16596            bind_interface=d.get('bind_interface'),
16597            connect_to_replica=d.get('connect_to_replica'),
16598            egress_filter=d.get('egress_filter'),
16599            healthy=d.get('healthy'),
16600            hostname=d.get('hostname'),
16601            id=d.get('id'),
16602            name=d.get('name'),
16603            password=d.get('password'),
16604            port=d.get('port'),
16605            port_override=d.get('port_override'),
16606            proxy_cluster_id=d.get('proxy_cluster_id'),
16607            replica_set=d.get('replica_set'),
16608            secret_store_id=d.get('secret_store_id'),
16609            subdomain=d.get('subdomain'),
16610            tags=d.get('tags'),
16611            tls_required=d.get('tls_required'),
16612            username=d.get('username'),
16613        )

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)
16454    def __init__(
16455        self,
16456        auth_database=None,
16457        bind_interface=None,
16458        connect_to_replica=None,
16459        egress_filter=None,
16460        healthy=None,
16461        hostname=None,
16462        id=None,
16463        name=None,
16464        password=None,
16465        port=None,
16466        port_override=None,
16467        proxy_cluster_id=None,
16468        replica_set=None,
16469        secret_store_id=None,
16470        subdomain=None,
16471        tags=None,
16472        tls_required=None,
16473        username=None,
16474    ):
16475        self.auth_database = auth_database if auth_database is not None else ''
16476        '''
16477         The authentication database to use.
16478        '''
16479        self.bind_interface = bind_interface if bind_interface is not None else ''
16480        '''
16481         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16482        '''
16483        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
16484        '''
16485         Set to connect to a replica instead of the primary node.
16486        '''
16487        self.egress_filter = egress_filter if egress_filter is not None else ''
16488        '''
16489         A filter applied to the routing logic to pin datasource to nodes.
16490        '''
16491        self.healthy = healthy if healthy is not None else False
16492        '''
16493         True if the datasource is reachable and the credentials are valid.
16494        '''
16495        self.hostname = hostname if hostname is not None else ''
16496        '''
16497         The host to dial to initiate a connection from the egress node to this resource.
16498        '''
16499        self.id = id if id is not None else ''
16500        '''
16501         Unique identifier of the Resource.
16502        '''
16503        self.name = name if name is not None else ''
16504        '''
16505         Unique human-readable name of the Resource.
16506        '''
16507        self.password = password if password is not None else ''
16508        '''
16509         The password to authenticate with.
16510        '''
16511        self.port = port if port is not None else 0
16512        '''
16513         The port to dial to initiate a connection from the egress node to this resource.
16514        '''
16515        self.port_override = port_override if port_override is not None else 0
16516        '''
16517         The local port used by clients to connect to this resource.
16518        '''
16519        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16520        '''
16521         ID of the proxy cluster for this resource, if any.
16522        '''
16523        self.replica_set = replica_set if replica_set is not None else ''
16524        '''
16525         The name of the mongo replicaset.
16526        '''
16527        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16528        '''
16529         ID of the secret store containing credentials for this resource, if any.
16530        '''
16531        self.subdomain = subdomain if subdomain is not None else ''
16532        '''
16533         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16534        '''
16535        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16536        '''
16537         Tags is a map of key, value pairs.
16538        '''
16539        self.tls_required = tls_required if tls_required is not None else False
16540        '''
16541         If set, TLS must be used to connect to this resource.
16542        '''
16543        self.username = username if username is not None else ''
16544        '''
16545         The username to authenticate with.
16546        '''
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)
16570    def to_dict(self):
16571        return {
16572            'auth_database': self.auth_database,
16573            'bind_interface': self.bind_interface,
16574            'connect_to_replica': self.connect_to_replica,
16575            'egress_filter': self.egress_filter,
16576            'healthy': self.healthy,
16577            'hostname': self.hostname,
16578            'id': self.id,
16579            'name': self.name,
16580            'password': self.password,
16581            'port': self.port,
16582            'port_override': self.port_override,
16583            'proxy_cluster_id': self.proxy_cluster_id,
16584            'replica_set': self.replica_set,
16585            'secret_store_id': self.secret_store_id,
16586            'subdomain': self.subdomain,
16587            'tags': self.tags,
16588            'tls_required': self.tls_required,
16589            'username': self.username,
16590        }
@classmethod
def from_dict(cls, d)
16592    @classmethod
16593    def from_dict(cls, d):
16594        return cls(
16595            auth_database=d.get('auth_database'),
16596            bind_interface=d.get('bind_interface'),
16597            connect_to_replica=d.get('connect_to_replica'),
16598            egress_filter=d.get('egress_filter'),
16599            healthy=d.get('healthy'),
16600            hostname=d.get('hostname'),
16601            id=d.get('id'),
16602            name=d.get('name'),
16603            password=d.get('password'),
16604            port=d.get('port'),
16605            port_override=d.get('port_override'),
16606            proxy_cluster_id=d.get('proxy_cluster_id'),
16607            replica_set=d.get('replica_set'),
16608            secret_store_id=d.get('secret_store_id'),
16609            subdomain=d.get('subdomain'),
16610            tags=d.get('tags'),
16611            tls_required=d.get('tls_required'),
16612            username=d.get('username'),
16613        )
class MongoReplicaSet:
16616class MongoReplicaSet:
16617    __slots__ = [
16618        'auth_database',
16619        'bind_interface',
16620        'connect_to_replica',
16621        'egress_filter',
16622        'healthy',
16623        'hostname',
16624        'id',
16625        'name',
16626        'password',
16627        'port',
16628        'port_override',
16629        'proxy_cluster_id',
16630        'replica_set',
16631        'secret_store_id',
16632        'subdomain',
16633        'tags',
16634        'tls_required',
16635        'username',
16636    ]
16637
16638    def __init__(
16639        self,
16640        auth_database=None,
16641        bind_interface=None,
16642        connect_to_replica=None,
16643        egress_filter=None,
16644        healthy=None,
16645        hostname=None,
16646        id=None,
16647        name=None,
16648        password=None,
16649        port=None,
16650        port_override=None,
16651        proxy_cluster_id=None,
16652        replica_set=None,
16653        secret_store_id=None,
16654        subdomain=None,
16655        tags=None,
16656        tls_required=None,
16657        username=None,
16658    ):
16659        self.auth_database = auth_database if auth_database is not None else ''
16660        '''
16661         The authentication database to use.
16662        '''
16663        self.bind_interface = bind_interface if bind_interface is not None else ''
16664        '''
16665         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16666        '''
16667        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
16668        '''
16669         Set to connect to a replica instead of the primary node.
16670        '''
16671        self.egress_filter = egress_filter if egress_filter is not None else ''
16672        '''
16673         A filter applied to the routing logic to pin datasource to nodes.
16674        '''
16675        self.healthy = healthy if healthy is not None else False
16676        '''
16677         True if the datasource is reachable and the credentials are valid.
16678        '''
16679        self.hostname = hostname if hostname is not None else ''
16680        '''
16681         The host to dial to initiate a connection from the egress node to this resource.
16682        '''
16683        self.id = id if id is not None else ''
16684        '''
16685         Unique identifier of the Resource.
16686        '''
16687        self.name = name if name is not None else ''
16688        '''
16689         Unique human-readable name of the Resource.
16690        '''
16691        self.password = password if password is not None else ''
16692        '''
16693         The password to authenticate with.
16694        '''
16695        self.port = port if port is not None else 0
16696        '''
16697         The port to dial to initiate a connection from the egress node to this resource.
16698        '''
16699        self.port_override = port_override if port_override is not None else 0
16700        '''
16701         The local port used by clients to connect to this resource.
16702        '''
16703        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16704        '''
16705         ID of the proxy cluster for this resource, if any.
16706        '''
16707        self.replica_set = replica_set if replica_set is not None else ''
16708        '''
16709         The name of the mongo replicaset.
16710        '''
16711        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16712        '''
16713         ID of the secret store containing credentials for this resource, if any.
16714        '''
16715        self.subdomain = subdomain if subdomain is not None else ''
16716        '''
16717         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16718        '''
16719        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16720        '''
16721         Tags is a map of key, value pairs.
16722        '''
16723        self.tls_required = tls_required if tls_required is not None else False
16724        '''
16725         If set, TLS must be used to connect to this resource.
16726        '''
16727        self.username = username if username is not None else ''
16728        '''
16729         The username to authenticate with.
16730        '''
16731
16732    def __repr__(self):
16733        return '<sdm.MongoReplicaSet ' + \
16734            'auth_database: ' + repr(self.auth_database) + ' ' +\
16735            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16736            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
16737            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16738            'healthy: ' + repr(self.healthy) + ' ' +\
16739            'hostname: ' + repr(self.hostname) + ' ' +\
16740            'id: ' + repr(self.id) + ' ' +\
16741            'name: ' + repr(self.name) + ' ' +\
16742            'password: ' + repr(self.password) + ' ' +\
16743            'port: ' + repr(self.port) + ' ' +\
16744            'port_override: ' + repr(self.port_override) + ' ' +\
16745            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16746            'replica_set: ' + repr(self.replica_set) + ' ' +\
16747            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16748            'subdomain: ' + repr(self.subdomain) + ' ' +\
16749            'tags: ' + repr(self.tags) + ' ' +\
16750            'tls_required: ' + repr(self.tls_required) + ' ' +\
16751            'username: ' + repr(self.username) + ' ' +\
16752            '>'
16753
16754    def to_dict(self):
16755        return {
16756            'auth_database': self.auth_database,
16757            'bind_interface': self.bind_interface,
16758            'connect_to_replica': self.connect_to_replica,
16759            'egress_filter': self.egress_filter,
16760            'healthy': self.healthy,
16761            'hostname': self.hostname,
16762            'id': self.id,
16763            'name': self.name,
16764            'password': self.password,
16765            'port': self.port,
16766            'port_override': self.port_override,
16767            'proxy_cluster_id': self.proxy_cluster_id,
16768            'replica_set': self.replica_set,
16769            'secret_store_id': self.secret_store_id,
16770            'subdomain': self.subdomain,
16771            'tags': self.tags,
16772            'tls_required': self.tls_required,
16773            'username': self.username,
16774        }
16775
16776    @classmethod
16777    def from_dict(cls, d):
16778        return cls(
16779            auth_database=d.get('auth_database'),
16780            bind_interface=d.get('bind_interface'),
16781            connect_to_replica=d.get('connect_to_replica'),
16782            egress_filter=d.get('egress_filter'),
16783            healthy=d.get('healthy'),
16784            hostname=d.get('hostname'),
16785            id=d.get('id'),
16786            name=d.get('name'),
16787            password=d.get('password'),
16788            port=d.get('port'),
16789            port_override=d.get('port_override'),
16790            proxy_cluster_id=d.get('proxy_cluster_id'),
16791            replica_set=d.get('replica_set'),
16792            secret_store_id=d.get('secret_store_id'),
16793            subdomain=d.get('subdomain'),
16794            tags=d.get('tags'),
16795            tls_required=d.get('tls_required'),
16796            username=d.get('username'),
16797        )
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)
16638    def __init__(
16639        self,
16640        auth_database=None,
16641        bind_interface=None,
16642        connect_to_replica=None,
16643        egress_filter=None,
16644        healthy=None,
16645        hostname=None,
16646        id=None,
16647        name=None,
16648        password=None,
16649        port=None,
16650        port_override=None,
16651        proxy_cluster_id=None,
16652        replica_set=None,
16653        secret_store_id=None,
16654        subdomain=None,
16655        tags=None,
16656        tls_required=None,
16657        username=None,
16658    ):
16659        self.auth_database = auth_database if auth_database is not None else ''
16660        '''
16661         The authentication database to use.
16662        '''
16663        self.bind_interface = bind_interface if bind_interface is not None else ''
16664        '''
16665         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16666        '''
16667        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
16668        '''
16669         Set to connect to a replica instead of the primary node.
16670        '''
16671        self.egress_filter = egress_filter if egress_filter is not None else ''
16672        '''
16673         A filter applied to the routing logic to pin datasource to nodes.
16674        '''
16675        self.healthy = healthy if healthy is not None else False
16676        '''
16677         True if the datasource is reachable and the credentials are valid.
16678        '''
16679        self.hostname = hostname if hostname is not None else ''
16680        '''
16681         The host to dial to initiate a connection from the egress node to this resource.
16682        '''
16683        self.id = id if id is not None else ''
16684        '''
16685         Unique identifier of the Resource.
16686        '''
16687        self.name = name if name is not None else ''
16688        '''
16689         Unique human-readable name of the Resource.
16690        '''
16691        self.password = password if password is not None else ''
16692        '''
16693         The password to authenticate with.
16694        '''
16695        self.port = port if port is not None else 0
16696        '''
16697         The port to dial to initiate a connection from the egress node to this resource.
16698        '''
16699        self.port_override = port_override if port_override is not None else 0
16700        '''
16701         The local port used by clients to connect to this resource.
16702        '''
16703        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16704        '''
16705         ID of the proxy cluster for this resource, if any.
16706        '''
16707        self.replica_set = replica_set if replica_set is not None else ''
16708        '''
16709         The name of the mongo replicaset.
16710        '''
16711        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16712        '''
16713         ID of the secret store containing credentials for this resource, if any.
16714        '''
16715        self.subdomain = subdomain if subdomain is not None else ''
16716        '''
16717         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16718        '''
16719        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16720        '''
16721         Tags is a map of key, value pairs.
16722        '''
16723        self.tls_required = tls_required if tls_required is not None else False
16724        '''
16725         If set, TLS must be used to connect to this resource.
16726        '''
16727        self.username = username if username is not None else ''
16728        '''
16729         The username to authenticate with.
16730        '''
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)
16754    def to_dict(self):
16755        return {
16756            'auth_database': self.auth_database,
16757            'bind_interface': self.bind_interface,
16758            'connect_to_replica': self.connect_to_replica,
16759            'egress_filter': self.egress_filter,
16760            'healthy': self.healthy,
16761            'hostname': self.hostname,
16762            'id': self.id,
16763            'name': self.name,
16764            'password': self.password,
16765            'port': self.port,
16766            'port_override': self.port_override,
16767            'proxy_cluster_id': self.proxy_cluster_id,
16768            'replica_set': self.replica_set,
16769            'secret_store_id': self.secret_store_id,
16770            'subdomain': self.subdomain,
16771            'tags': self.tags,
16772            'tls_required': self.tls_required,
16773            'username': self.username,
16774        }
@classmethod
def from_dict(cls, d)
16776    @classmethod
16777    def from_dict(cls, d):
16778        return cls(
16779            auth_database=d.get('auth_database'),
16780            bind_interface=d.get('bind_interface'),
16781            connect_to_replica=d.get('connect_to_replica'),
16782            egress_filter=d.get('egress_filter'),
16783            healthy=d.get('healthy'),
16784            hostname=d.get('hostname'),
16785            id=d.get('id'),
16786            name=d.get('name'),
16787            password=d.get('password'),
16788            port=d.get('port'),
16789            port_override=d.get('port_override'),
16790            proxy_cluster_id=d.get('proxy_cluster_id'),
16791            replica_set=d.get('replica_set'),
16792            secret_store_id=d.get('secret_store_id'),
16793            subdomain=d.get('subdomain'),
16794            tags=d.get('tags'),
16795            tls_required=d.get('tls_required'),
16796            username=d.get('username'),
16797        )
class MongoShardedCluster:
16800class MongoShardedCluster:
16801    __slots__ = [
16802        'auth_database',
16803        'bind_interface',
16804        'egress_filter',
16805        'healthy',
16806        'hostname',
16807        'id',
16808        'name',
16809        'password',
16810        'port_override',
16811        'proxy_cluster_id',
16812        'secret_store_id',
16813        'subdomain',
16814        'tags',
16815        'tls_required',
16816        'username',
16817    ]
16818
16819    def __init__(
16820        self,
16821        auth_database=None,
16822        bind_interface=None,
16823        egress_filter=None,
16824        healthy=None,
16825        hostname=None,
16826        id=None,
16827        name=None,
16828        password=None,
16829        port_override=None,
16830        proxy_cluster_id=None,
16831        secret_store_id=None,
16832        subdomain=None,
16833        tags=None,
16834        tls_required=None,
16835        username=None,
16836    ):
16837        self.auth_database = auth_database if auth_database is not None else ''
16838        '''
16839         The authentication database to use.
16840        '''
16841        self.bind_interface = bind_interface if bind_interface is not None else ''
16842        '''
16843         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16844        '''
16845        self.egress_filter = egress_filter if egress_filter is not None else ''
16846        '''
16847         A filter applied to the routing logic to pin datasource to nodes.
16848        '''
16849        self.healthy = healthy if healthy is not None else False
16850        '''
16851         True if the datasource is reachable and the credentials are valid.
16852        '''
16853        self.hostname = hostname if hostname is not None else ''
16854        '''
16855         The host to dial to initiate a connection from the egress node to this resource.
16856        '''
16857        self.id = id if id is not None else ''
16858        '''
16859         Unique identifier of the Resource.
16860        '''
16861        self.name = name if name is not None else ''
16862        '''
16863         Unique human-readable name of the Resource.
16864        '''
16865        self.password = password if password is not None else ''
16866        '''
16867         The password to authenticate with.
16868        '''
16869        self.port_override = port_override if port_override is not None else 0
16870        '''
16871         The local port used by clients to connect to this resource.
16872        '''
16873        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16874        '''
16875         ID of the proxy cluster for this resource, if any.
16876        '''
16877        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16878        '''
16879         ID of the secret store containing credentials for this resource, if any.
16880        '''
16881        self.subdomain = subdomain if subdomain is not None else ''
16882        '''
16883         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16884        '''
16885        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16886        '''
16887         Tags is a map of key, value pairs.
16888        '''
16889        self.tls_required = tls_required if tls_required is not None else False
16890        '''
16891         If set, TLS must be used to connect to this resource.
16892        '''
16893        self.username = username if username is not None else ''
16894        '''
16895         The username to authenticate with.
16896        '''
16897
16898    def __repr__(self):
16899        return '<sdm.MongoShardedCluster ' + \
16900            'auth_database: ' + repr(self.auth_database) + ' ' +\
16901            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16902            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16903            'healthy: ' + repr(self.healthy) + ' ' +\
16904            'hostname: ' + repr(self.hostname) + ' ' +\
16905            'id: ' + repr(self.id) + ' ' +\
16906            'name: ' + repr(self.name) + ' ' +\
16907            'password: ' + repr(self.password) + ' ' +\
16908            'port_override: ' + repr(self.port_override) + ' ' +\
16909            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16910            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16911            'subdomain: ' + repr(self.subdomain) + ' ' +\
16912            'tags: ' + repr(self.tags) + ' ' +\
16913            'tls_required: ' + repr(self.tls_required) + ' ' +\
16914            'username: ' + repr(self.username) + ' ' +\
16915            '>'
16916
16917    def to_dict(self):
16918        return {
16919            'auth_database': self.auth_database,
16920            'bind_interface': self.bind_interface,
16921            'egress_filter': self.egress_filter,
16922            'healthy': self.healthy,
16923            'hostname': self.hostname,
16924            'id': self.id,
16925            'name': self.name,
16926            'password': self.password,
16927            'port_override': self.port_override,
16928            'proxy_cluster_id': self.proxy_cluster_id,
16929            'secret_store_id': self.secret_store_id,
16930            'subdomain': self.subdomain,
16931            'tags': self.tags,
16932            'tls_required': self.tls_required,
16933            'username': self.username,
16934        }
16935
16936    @classmethod
16937    def from_dict(cls, d):
16938        return cls(
16939            auth_database=d.get('auth_database'),
16940            bind_interface=d.get('bind_interface'),
16941            egress_filter=d.get('egress_filter'),
16942            healthy=d.get('healthy'),
16943            hostname=d.get('hostname'),
16944            id=d.get('id'),
16945            name=d.get('name'),
16946            password=d.get('password'),
16947            port_override=d.get('port_override'),
16948            proxy_cluster_id=d.get('proxy_cluster_id'),
16949            secret_store_id=d.get('secret_store_id'),
16950            subdomain=d.get('subdomain'),
16951            tags=d.get('tags'),
16952            tls_required=d.get('tls_required'),
16953            username=d.get('username'),
16954        )
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)
16819    def __init__(
16820        self,
16821        auth_database=None,
16822        bind_interface=None,
16823        egress_filter=None,
16824        healthy=None,
16825        hostname=None,
16826        id=None,
16827        name=None,
16828        password=None,
16829        port_override=None,
16830        proxy_cluster_id=None,
16831        secret_store_id=None,
16832        subdomain=None,
16833        tags=None,
16834        tls_required=None,
16835        username=None,
16836    ):
16837        self.auth_database = auth_database if auth_database is not None else ''
16838        '''
16839         The authentication database to use.
16840        '''
16841        self.bind_interface = bind_interface if bind_interface is not None else ''
16842        '''
16843         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16844        '''
16845        self.egress_filter = egress_filter if egress_filter is not None else ''
16846        '''
16847         A filter applied to the routing logic to pin datasource to nodes.
16848        '''
16849        self.healthy = healthy if healthy is not None else False
16850        '''
16851         True if the datasource is reachable and the credentials are valid.
16852        '''
16853        self.hostname = hostname if hostname is not None else ''
16854        '''
16855         The host to dial to initiate a connection from the egress node to this resource.
16856        '''
16857        self.id = id if id is not None else ''
16858        '''
16859         Unique identifier of the Resource.
16860        '''
16861        self.name = name if name is not None else ''
16862        '''
16863         Unique human-readable name of the Resource.
16864        '''
16865        self.password = password if password is not None else ''
16866        '''
16867         The password to authenticate with.
16868        '''
16869        self.port_override = port_override if port_override is not None else 0
16870        '''
16871         The local port used by clients to connect to this resource.
16872        '''
16873        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16874        '''
16875         ID of the proxy cluster for this resource, if any.
16876        '''
16877        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16878        '''
16879         ID of the secret store containing credentials for this resource, if any.
16880        '''
16881        self.subdomain = subdomain if subdomain is not None else ''
16882        '''
16883         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16884        '''
16885        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16886        '''
16887         Tags is a map of key, value pairs.
16888        '''
16889        self.tls_required = tls_required if tls_required is not None else False
16890        '''
16891         If set, TLS must be used to connect to this resource.
16892        '''
16893        self.username = username if username is not None else ''
16894        '''
16895         The username to authenticate with.
16896        '''
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)
16917    def to_dict(self):
16918        return {
16919            'auth_database': self.auth_database,
16920            'bind_interface': self.bind_interface,
16921            'egress_filter': self.egress_filter,
16922            'healthy': self.healthy,
16923            'hostname': self.hostname,
16924            'id': self.id,
16925            'name': self.name,
16926            'password': self.password,
16927            'port_override': self.port_override,
16928            'proxy_cluster_id': self.proxy_cluster_id,
16929            'secret_store_id': self.secret_store_id,
16930            'subdomain': self.subdomain,
16931            'tags': self.tags,
16932            'tls_required': self.tls_required,
16933            'username': self.username,
16934        }
@classmethod
def from_dict(cls, d)
16936    @classmethod
16937    def from_dict(cls, d):
16938        return cls(
16939            auth_database=d.get('auth_database'),
16940            bind_interface=d.get('bind_interface'),
16941            egress_filter=d.get('egress_filter'),
16942            healthy=d.get('healthy'),
16943            hostname=d.get('hostname'),
16944            id=d.get('id'),
16945            name=d.get('name'),
16946            password=d.get('password'),
16947            port_override=d.get('port_override'),
16948            proxy_cluster_id=d.get('proxy_cluster_id'),
16949            secret_store_id=d.get('secret_store_id'),
16950            subdomain=d.get('subdomain'),
16951            tags=d.get('tags'),
16952            tls_required=d.get('tls_required'),
16953            username=d.get('username'),
16954        )
class Mysql:
16957class Mysql:
16958    __slots__ = [
16959        'bind_interface',
16960        'database',
16961        'egress_filter',
16962        'healthy',
16963        'hostname',
16964        'id',
16965        'name',
16966        'password',
16967        'port',
16968        'port_override',
16969        'proxy_cluster_id',
16970        'require_native_auth',
16971        'secret_store_id',
16972        'subdomain',
16973        'tags',
16974        'use_azure_single_server_usernames',
16975        'username',
16976    ]
16977
16978    def __init__(
16979        self,
16980        bind_interface=None,
16981        database=None,
16982        egress_filter=None,
16983        healthy=None,
16984        hostname=None,
16985        id=None,
16986        name=None,
16987        password=None,
16988        port=None,
16989        port_override=None,
16990        proxy_cluster_id=None,
16991        require_native_auth=None,
16992        secret_store_id=None,
16993        subdomain=None,
16994        tags=None,
16995        use_azure_single_server_usernames=None,
16996        username=None,
16997    ):
16998        self.bind_interface = bind_interface if bind_interface is not None else ''
16999        '''
17000         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17001        '''
17002        self.database = database if database is not None else ''
17003        '''
17004         The database for healthchecks. Does not affect client requests.
17005        '''
17006        self.egress_filter = egress_filter if egress_filter is not None else ''
17007        '''
17008         A filter applied to the routing logic to pin datasource to nodes.
17009        '''
17010        self.healthy = healthy if healthy is not None else False
17011        '''
17012         True if the datasource is reachable and the credentials are valid.
17013        '''
17014        self.hostname = hostname if hostname is not None else ''
17015        '''
17016         The host to dial to initiate a connection from the egress node to this resource.
17017        '''
17018        self.id = id if id is not None else ''
17019        '''
17020         Unique identifier of the Resource.
17021        '''
17022        self.name = name if name is not None else ''
17023        '''
17024         Unique human-readable name of the Resource.
17025        '''
17026        self.password = password if password is not None else ''
17027        '''
17028         The password to authenticate with.
17029        '''
17030        self.port = port if port is not None else 0
17031        '''
17032         The port to dial to initiate a connection from the egress node to this resource.
17033        '''
17034        self.port_override = port_override if port_override is not None else 0
17035        '''
17036         The local port used by clients to connect to this resource.
17037        '''
17038        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17039        '''
17040         ID of the proxy cluster for this resource, if any.
17041        '''
17042        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17043        '''
17044         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17045        '''
17046        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17047        '''
17048         ID of the secret store containing credentials for this resource, if any.
17049        '''
17050        self.subdomain = subdomain if subdomain is not None else ''
17051        '''
17052         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17053        '''
17054        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17055        '''
17056         Tags is a map of key, value pairs.
17057        '''
17058        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17059        '''
17060         If true, appends the hostname to the username when hitting a database.azure.com address
17061        '''
17062        self.username = username if username is not None else ''
17063        '''
17064         The username to authenticate with.
17065        '''
17066
17067    def __repr__(self):
17068        return '<sdm.Mysql ' + \
17069            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17070            'database: ' + repr(self.database) + ' ' +\
17071            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17072            'healthy: ' + repr(self.healthy) + ' ' +\
17073            'hostname: ' + repr(self.hostname) + ' ' +\
17074            'id: ' + repr(self.id) + ' ' +\
17075            'name: ' + repr(self.name) + ' ' +\
17076            'password: ' + repr(self.password) + ' ' +\
17077            'port: ' + repr(self.port) + ' ' +\
17078            'port_override: ' + repr(self.port_override) + ' ' +\
17079            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17080            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17081            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17082            'subdomain: ' + repr(self.subdomain) + ' ' +\
17083            'tags: ' + repr(self.tags) + ' ' +\
17084            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17085            'username: ' + repr(self.username) + ' ' +\
17086            '>'
17087
17088    def to_dict(self):
17089        return {
17090            'bind_interface': self.bind_interface,
17091            'database': self.database,
17092            'egress_filter': self.egress_filter,
17093            'healthy': self.healthy,
17094            'hostname': self.hostname,
17095            'id': self.id,
17096            'name': self.name,
17097            'password': self.password,
17098            'port': self.port,
17099            'port_override': self.port_override,
17100            'proxy_cluster_id': self.proxy_cluster_id,
17101            'require_native_auth': self.require_native_auth,
17102            'secret_store_id': self.secret_store_id,
17103            'subdomain': self.subdomain,
17104            'tags': self.tags,
17105            'use_azure_single_server_usernames':
17106            self.use_azure_single_server_usernames,
17107            'username': self.username,
17108        }
17109
17110    @classmethod
17111    def from_dict(cls, d):
17112        return cls(
17113            bind_interface=d.get('bind_interface'),
17114            database=d.get('database'),
17115            egress_filter=d.get('egress_filter'),
17116            healthy=d.get('healthy'),
17117            hostname=d.get('hostname'),
17118            id=d.get('id'),
17119            name=d.get('name'),
17120            password=d.get('password'),
17121            port=d.get('port'),
17122            port_override=d.get('port_override'),
17123            proxy_cluster_id=d.get('proxy_cluster_id'),
17124            require_native_auth=d.get('require_native_auth'),
17125            secret_store_id=d.get('secret_store_id'),
17126            subdomain=d.get('subdomain'),
17127            tags=d.get('tags'),
17128            use_azure_single_server_usernames=d.get(
17129                'use_azure_single_server_usernames'),
17130            username=d.get('username'),
17131        )
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)
16978    def __init__(
16979        self,
16980        bind_interface=None,
16981        database=None,
16982        egress_filter=None,
16983        healthy=None,
16984        hostname=None,
16985        id=None,
16986        name=None,
16987        password=None,
16988        port=None,
16989        port_override=None,
16990        proxy_cluster_id=None,
16991        require_native_auth=None,
16992        secret_store_id=None,
16993        subdomain=None,
16994        tags=None,
16995        use_azure_single_server_usernames=None,
16996        username=None,
16997    ):
16998        self.bind_interface = bind_interface if bind_interface is not None else ''
16999        '''
17000         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17001        '''
17002        self.database = database if database is not None else ''
17003        '''
17004         The database for healthchecks. Does not affect client requests.
17005        '''
17006        self.egress_filter = egress_filter if egress_filter is not None else ''
17007        '''
17008         A filter applied to the routing logic to pin datasource to nodes.
17009        '''
17010        self.healthy = healthy if healthy is not None else False
17011        '''
17012         True if the datasource is reachable and the credentials are valid.
17013        '''
17014        self.hostname = hostname if hostname is not None else ''
17015        '''
17016         The host to dial to initiate a connection from the egress node to this resource.
17017        '''
17018        self.id = id if id is not None else ''
17019        '''
17020         Unique identifier of the Resource.
17021        '''
17022        self.name = name if name is not None else ''
17023        '''
17024         Unique human-readable name of the Resource.
17025        '''
17026        self.password = password if password is not None else ''
17027        '''
17028         The password to authenticate with.
17029        '''
17030        self.port = port if port is not None else 0
17031        '''
17032         The port to dial to initiate a connection from the egress node to this resource.
17033        '''
17034        self.port_override = port_override if port_override is not None else 0
17035        '''
17036         The local port used by clients to connect to this resource.
17037        '''
17038        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17039        '''
17040         ID of the proxy cluster for this resource, if any.
17041        '''
17042        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17043        '''
17044         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17045        '''
17046        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17047        '''
17048         ID of the secret store containing credentials for this resource, if any.
17049        '''
17050        self.subdomain = subdomain if subdomain is not None else ''
17051        '''
17052         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17053        '''
17054        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17055        '''
17056         Tags is a map of key, value pairs.
17057        '''
17058        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17059        '''
17060         If true, appends the hostname to the username when hitting a database.azure.com address
17061        '''
17062        self.username = username if username is not None else ''
17063        '''
17064         The username to authenticate with.
17065        '''
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)
17088    def to_dict(self):
17089        return {
17090            'bind_interface': self.bind_interface,
17091            'database': self.database,
17092            'egress_filter': self.egress_filter,
17093            'healthy': self.healthy,
17094            'hostname': self.hostname,
17095            'id': self.id,
17096            'name': self.name,
17097            'password': self.password,
17098            'port': self.port,
17099            'port_override': self.port_override,
17100            'proxy_cluster_id': self.proxy_cluster_id,
17101            'require_native_auth': self.require_native_auth,
17102            'secret_store_id': self.secret_store_id,
17103            'subdomain': self.subdomain,
17104            'tags': self.tags,
17105            'use_azure_single_server_usernames':
17106            self.use_azure_single_server_usernames,
17107            'username': self.username,
17108        }
@classmethod
def from_dict(cls, d)
17110    @classmethod
17111    def from_dict(cls, d):
17112        return cls(
17113            bind_interface=d.get('bind_interface'),
17114            database=d.get('database'),
17115            egress_filter=d.get('egress_filter'),
17116            healthy=d.get('healthy'),
17117            hostname=d.get('hostname'),
17118            id=d.get('id'),
17119            name=d.get('name'),
17120            password=d.get('password'),
17121            port=d.get('port'),
17122            port_override=d.get('port_override'),
17123            proxy_cluster_id=d.get('proxy_cluster_id'),
17124            require_native_auth=d.get('require_native_auth'),
17125            secret_store_id=d.get('secret_store_id'),
17126            subdomain=d.get('subdomain'),
17127            tags=d.get('tags'),
17128            use_azure_single_server_usernames=d.get(
17129                'use_azure_single_server_usernames'),
17130            username=d.get('username'),
17131        )
class Neptune:
17134class Neptune:
17135    __slots__ = [
17136        'bind_interface',
17137        'egress_filter',
17138        'endpoint',
17139        'healthy',
17140        'id',
17141        'name',
17142        'port',
17143        'port_override',
17144        'proxy_cluster_id',
17145        'secret_store_id',
17146        'subdomain',
17147        'tags',
17148    ]
17149
17150    def __init__(
17151        self,
17152        bind_interface=None,
17153        egress_filter=None,
17154        endpoint=None,
17155        healthy=None,
17156        id=None,
17157        name=None,
17158        port=None,
17159        port_override=None,
17160        proxy_cluster_id=None,
17161        secret_store_id=None,
17162        subdomain=None,
17163        tags=None,
17164    ):
17165        self.bind_interface = bind_interface if bind_interface is not None else ''
17166        '''
17167         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17168        '''
17169        self.egress_filter = egress_filter if egress_filter is not None else ''
17170        '''
17171         A filter applied to the routing logic to pin datasource to nodes.
17172        '''
17173        self.endpoint = endpoint if endpoint is not None else ''
17174        '''
17175         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
17176        '''
17177        self.healthy = healthy if healthy is not None else False
17178        '''
17179         True if the datasource is reachable and the credentials are valid.
17180        '''
17181        self.id = id if id is not None else ''
17182        '''
17183         Unique identifier of the Resource.
17184        '''
17185        self.name = name if name is not None else ''
17186        '''
17187         Unique human-readable name of the Resource.
17188        '''
17189        self.port = port if port is not None else 0
17190        '''
17191         The port to dial to initiate a connection from the egress node to this resource.
17192        '''
17193        self.port_override = port_override if port_override is not None else 0
17194        '''
17195         The local port used by clients to connect to this resource.
17196        '''
17197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17198        '''
17199         ID of the proxy cluster for this resource, if any.
17200        '''
17201        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17202        '''
17203         ID of the secret store containing credentials for this resource, if any.
17204        '''
17205        self.subdomain = subdomain if subdomain is not None else ''
17206        '''
17207         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17208        '''
17209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17210        '''
17211         Tags is a map of key, value pairs.
17212        '''
17213
17214    def __repr__(self):
17215        return '<sdm.Neptune ' + \
17216            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17217            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17218            'endpoint: ' + repr(self.endpoint) + ' ' +\
17219            'healthy: ' + repr(self.healthy) + ' ' +\
17220            'id: ' + repr(self.id) + ' ' +\
17221            'name: ' + repr(self.name) + ' ' +\
17222            'port: ' + repr(self.port) + ' ' +\
17223            'port_override: ' + repr(self.port_override) + ' ' +\
17224            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17225            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17226            'subdomain: ' + repr(self.subdomain) + ' ' +\
17227            'tags: ' + repr(self.tags) + ' ' +\
17228            '>'
17229
17230    def to_dict(self):
17231        return {
17232            'bind_interface': self.bind_interface,
17233            'egress_filter': self.egress_filter,
17234            'endpoint': self.endpoint,
17235            'healthy': self.healthy,
17236            'id': self.id,
17237            'name': self.name,
17238            'port': self.port,
17239            'port_override': self.port_override,
17240            'proxy_cluster_id': self.proxy_cluster_id,
17241            'secret_store_id': self.secret_store_id,
17242            'subdomain': self.subdomain,
17243            'tags': self.tags,
17244        }
17245
17246    @classmethod
17247    def from_dict(cls, d):
17248        return cls(
17249            bind_interface=d.get('bind_interface'),
17250            egress_filter=d.get('egress_filter'),
17251            endpoint=d.get('endpoint'),
17252            healthy=d.get('healthy'),
17253            id=d.get('id'),
17254            name=d.get('name'),
17255            port=d.get('port'),
17256            port_override=d.get('port_override'),
17257            proxy_cluster_id=d.get('proxy_cluster_id'),
17258            secret_store_id=d.get('secret_store_id'),
17259            subdomain=d.get('subdomain'),
17260            tags=d.get('tags'),
17261        )
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)
17150    def __init__(
17151        self,
17152        bind_interface=None,
17153        egress_filter=None,
17154        endpoint=None,
17155        healthy=None,
17156        id=None,
17157        name=None,
17158        port=None,
17159        port_override=None,
17160        proxy_cluster_id=None,
17161        secret_store_id=None,
17162        subdomain=None,
17163        tags=None,
17164    ):
17165        self.bind_interface = bind_interface if bind_interface is not None else ''
17166        '''
17167         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17168        '''
17169        self.egress_filter = egress_filter if egress_filter is not None else ''
17170        '''
17171         A filter applied to the routing logic to pin datasource to nodes.
17172        '''
17173        self.endpoint = endpoint if endpoint is not None else ''
17174        '''
17175         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
17176        '''
17177        self.healthy = healthy if healthy is not None else False
17178        '''
17179         True if the datasource is reachable and the credentials are valid.
17180        '''
17181        self.id = id if id is not None else ''
17182        '''
17183         Unique identifier of the Resource.
17184        '''
17185        self.name = name if name is not None else ''
17186        '''
17187         Unique human-readable name of the Resource.
17188        '''
17189        self.port = port if port is not None else 0
17190        '''
17191         The port to dial to initiate a connection from the egress node to this resource.
17192        '''
17193        self.port_override = port_override if port_override is not None else 0
17194        '''
17195         The local port used by clients to connect to this resource.
17196        '''
17197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17198        '''
17199         ID of the proxy cluster for this resource, if any.
17200        '''
17201        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17202        '''
17203         ID of the secret store containing credentials for this resource, if any.
17204        '''
17205        self.subdomain = subdomain if subdomain is not None else ''
17206        '''
17207         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17208        '''
17209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17210        '''
17211         Tags is a map of key, value pairs.
17212        '''
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)
17230    def to_dict(self):
17231        return {
17232            'bind_interface': self.bind_interface,
17233            'egress_filter': self.egress_filter,
17234            'endpoint': self.endpoint,
17235            'healthy': self.healthy,
17236            'id': self.id,
17237            'name': self.name,
17238            'port': self.port,
17239            'port_override': self.port_override,
17240            'proxy_cluster_id': self.proxy_cluster_id,
17241            'secret_store_id': self.secret_store_id,
17242            'subdomain': self.subdomain,
17243            'tags': self.tags,
17244        }
@classmethod
def from_dict(cls, d)
17246    @classmethod
17247    def from_dict(cls, d):
17248        return cls(
17249            bind_interface=d.get('bind_interface'),
17250            egress_filter=d.get('egress_filter'),
17251            endpoint=d.get('endpoint'),
17252            healthy=d.get('healthy'),
17253            id=d.get('id'),
17254            name=d.get('name'),
17255            port=d.get('port'),
17256            port_override=d.get('port_override'),
17257            proxy_cluster_id=d.get('proxy_cluster_id'),
17258            secret_store_id=d.get('secret_store_id'),
17259            subdomain=d.get('subdomain'),
17260            tags=d.get('tags'),
17261        )
class NeptuneIAM:
17264class NeptuneIAM:
17265    __slots__ = [
17266        'access_key',
17267        'bind_interface',
17268        'egress_filter',
17269        'endpoint',
17270        'healthy',
17271        'id',
17272        'name',
17273        'port',
17274        'port_override',
17275        'proxy_cluster_id',
17276        'region',
17277        'role_arn',
17278        'role_external_id',
17279        'secret_access_key',
17280        'secret_store_id',
17281        'subdomain',
17282        'tags',
17283    ]
17284
17285    def __init__(
17286        self,
17287        access_key=None,
17288        bind_interface=None,
17289        egress_filter=None,
17290        endpoint=None,
17291        healthy=None,
17292        id=None,
17293        name=None,
17294        port=None,
17295        port_override=None,
17296        proxy_cluster_id=None,
17297        region=None,
17298        role_arn=None,
17299        role_external_id=None,
17300        secret_access_key=None,
17301        secret_store_id=None,
17302        subdomain=None,
17303        tags=None,
17304    ):
17305        self.access_key = access_key if access_key is not None else ''
17306        '''
17307         The Access Key ID to use to authenticate.
17308        '''
17309        self.bind_interface = bind_interface if bind_interface is not None else ''
17310        '''
17311         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17312        '''
17313        self.egress_filter = egress_filter if egress_filter is not None else ''
17314        '''
17315         A filter applied to the routing logic to pin datasource to nodes.
17316        '''
17317        self.endpoint = endpoint if endpoint is not None else ''
17318        '''
17319         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
17320        '''
17321        self.healthy = healthy if healthy is not None else False
17322        '''
17323         True if the datasource is reachable and the credentials are valid.
17324        '''
17325        self.id = id if id is not None else ''
17326        '''
17327         Unique identifier of the Resource.
17328        '''
17329        self.name = name if name is not None else ''
17330        '''
17331         Unique human-readable name of the Resource.
17332        '''
17333        self.port = port if port is not None else 0
17334        '''
17335         The port to dial to initiate a connection from the egress node to this resource.
17336        '''
17337        self.port_override = port_override if port_override is not None else 0
17338        '''
17339         The local port used by clients to connect to this resource.
17340        '''
17341        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17342        '''
17343         ID of the proxy cluster for this resource, if any.
17344        '''
17345        self.region = region if region is not None else ''
17346        '''
17347         The AWS region to connect to.
17348        '''
17349        self.role_arn = role_arn if role_arn is not None else ''
17350        '''
17351         The role to assume after logging in.
17352        '''
17353        self.role_external_id = role_external_id if role_external_id is not None else ''
17354        '''
17355         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
17356        '''
17357        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
17358        '''
17359         The Secret Access Key to use to authenticate.
17360        '''
17361        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17362        '''
17363         ID of the secret store containing credentials for this resource, if any.
17364        '''
17365        self.subdomain = subdomain if subdomain is not None else ''
17366        '''
17367         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17368        '''
17369        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17370        '''
17371         Tags is a map of key, value pairs.
17372        '''
17373
17374    def __repr__(self):
17375        return '<sdm.NeptuneIAM ' + \
17376            'access_key: ' + repr(self.access_key) + ' ' +\
17377            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17378            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17379            'endpoint: ' + repr(self.endpoint) + ' ' +\
17380            'healthy: ' + repr(self.healthy) + ' ' +\
17381            'id: ' + repr(self.id) + ' ' +\
17382            'name: ' + repr(self.name) + ' ' +\
17383            'port: ' + repr(self.port) + ' ' +\
17384            'port_override: ' + repr(self.port_override) + ' ' +\
17385            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17386            'region: ' + repr(self.region) + ' ' +\
17387            'role_arn: ' + repr(self.role_arn) + ' ' +\
17388            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
17389            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
17390            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17391            'subdomain: ' + repr(self.subdomain) + ' ' +\
17392            'tags: ' + repr(self.tags) + ' ' +\
17393            '>'
17394
17395    def to_dict(self):
17396        return {
17397            'access_key': self.access_key,
17398            'bind_interface': self.bind_interface,
17399            'egress_filter': self.egress_filter,
17400            'endpoint': self.endpoint,
17401            'healthy': self.healthy,
17402            'id': self.id,
17403            'name': self.name,
17404            'port': self.port,
17405            'port_override': self.port_override,
17406            'proxy_cluster_id': self.proxy_cluster_id,
17407            'region': self.region,
17408            'role_arn': self.role_arn,
17409            'role_external_id': self.role_external_id,
17410            'secret_access_key': self.secret_access_key,
17411            'secret_store_id': self.secret_store_id,
17412            'subdomain': self.subdomain,
17413            'tags': self.tags,
17414        }
17415
17416    @classmethod
17417    def from_dict(cls, d):
17418        return cls(
17419            access_key=d.get('access_key'),
17420            bind_interface=d.get('bind_interface'),
17421            egress_filter=d.get('egress_filter'),
17422            endpoint=d.get('endpoint'),
17423            healthy=d.get('healthy'),
17424            id=d.get('id'),
17425            name=d.get('name'),
17426            port=d.get('port'),
17427            port_override=d.get('port_override'),
17428            proxy_cluster_id=d.get('proxy_cluster_id'),
17429            region=d.get('region'),
17430            role_arn=d.get('role_arn'),
17431            role_external_id=d.get('role_external_id'),
17432            secret_access_key=d.get('secret_access_key'),
17433            secret_store_id=d.get('secret_store_id'),
17434            subdomain=d.get('subdomain'),
17435            tags=d.get('tags'),
17436        )
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)
17285    def __init__(
17286        self,
17287        access_key=None,
17288        bind_interface=None,
17289        egress_filter=None,
17290        endpoint=None,
17291        healthy=None,
17292        id=None,
17293        name=None,
17294        port=None,
17295        port_override=None,
17296        proxy_cluster_id=None,
17297        region=None,
17298        role_arn=None,
17299        role_external_id=None,
17300        secret_access_key=None,
17301        secret_store_id=None,
17302        subdomain=None,
17303        tags=None,
17304    ):
17305        self.access_key = access_key if access_key is not None else ''
17306        '''
17307         The Access Key ID to use to authenticate.
17308        '''
17309        self.bind_interface = bind_interface if bind_interface is not None else ''
17310        '''
17311         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17312        '''
17313        self.egress_filter = egress_filter if egress_filter is not None else ''
17314        '''
17315         A filter applied to the routing logic to pin datasource to nodes.
17316        '''
17317        self.endpoint = endpoint if endpoint is not None else ''
17318        '''
17319         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
17320        '''
17321        self.healthy = healthy if healthy is not None else False
17322        '''
17323         True if the datasource is reachable and the credentials are valid.
17324        '''
17325        self.id = id if id is not None else ''
17326        '''
17327         Unique identifier of the Resource.
17328        '''
17329        self.name = name if name is not None else ''
17330        '''
17331         Unique human-readable name of the Resource.
17332        '''
17333        self.port = port if port is not None else 0
17334        '''
17335         The port to dial to initiate a connection from the egress node to this resource.
17336        '''
17337        self.port_override = port_override if port_override is not None else 0
17338        '''
17339         The local port used by clients to connect to this resource.
17340        '''
17341        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17342        '''
17343         ID of the proxy cluster for this resource, if any.
17344        '''
17345        self.region = region if region is not None else ''
17346        '''
17347         The AWS region to connect to.
17348        '''
17349        self.role_arn = role_arn if role_arn is not None else ''
17350        '''
17351         The role to assume after logging in.
17352        '''
17353        self.role_external_id = role_external_id if role_external_id is not None else ''
17354        '''
17355         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
17356        '''
17357        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
17358        '''
17359         The Secret Access Key to use to authenticate.
17360        '''
17361        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17362        '''
17363         ID of the secret store containing credentials for this resource, if any.
17364        '''
17365        self.subdomain = subdomain if subdomain is not None else ''
17366        '''
17367         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17368        '''
17369        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17370        '''
17371         Tags is a map of key, value pairs.
17372        '''
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)
17395    def to_dict(self):
17396        return {
17397            'access_key': self.access_key,
17398            'bind_interface': self.bind_interface,
17399            'egress_filter': self.egress_filter,
17400            'endpoint': self.endpoint,
17401            'healthy': self.healthy,
17402            'id': self.id,
17403            'name': self.name,
17404            'port': self.port,
17405            'port_override': self.port_override,
17406            'proxy_cluster_id': self.proxy_cluster_id,
17407            'region': self.region,
17408            'role_arn': self.role_arn,
17409            'role_external_id': self.role_external_id,
17410            'secret_access_key': self.secret_access_key,
17411            'secret_store_id': self.secret_store_id,
17412            'subdomain': self.subdomain,
17413            'tags': self.tags,
17414        }
@classmethod
def from_dict(cls, d)
17416    @classmethod
17417    def from_dict(cls, d):
17418        return cls(
17419            access_key=d.get('access_key'),
17420            bind_interface=d.get('bind_interface'),
17421            egress_filter=d.get('egress_filter'),
17422            endpoint=d.get('endpoint'),
17423            healthy=d.get('healthy'),
17424            id=d.get('id'),
17425            name=d.get('name'),
17426            port=d.get('port'),
17427            port_override=d.get('port_override'),
17428            proxy_cluster_id=d.get('proxy_cluster_id'),
17429            region=d.get('region'),
17430            role_arn=d.get('role_arn'),
17431            role_external_id=d.get('role_external_id'),
17432            secret_access_key=d.get('secret_access_key'),
17433            secret_store_id=d.get('secret_store_id'),
17434            subdomain=d.get('subdomain'),
17435            tags=d.get('tags'),
17436        )
class NodeCreateResponse:
17439class NodeCreateResponse:
17440    '''
17441         NodeCreateResponse reports how the Nodes were created in the system.
17442    '''
17443    __slots__ = [
17444        'meta',
17445        'node',
17446        'rate_limit',
17447        'token',
17448    ]
17449
17450    def __init__(
17451        self,
17452        meta=None,
17453        node=None,
17454        rate_limit=None,
17455        token=None,
17456    ):
17457        self.meta = meta if meta is not None else None
17458        '''
17459         Reserved for future use.
17460        '''
17461        self.node = node if node is not None else None
17462        '''
17463         The created Node.
17464        '''
17465        self.rate_limit = rate_limit if rate_limit is not None else None
17466        '''
17467         Rate limit information.
17468        '''
17469        self.token = token if token is not None else ''
17470        '''
17471         The auth token generated for the Node. The Node will use this token to
17472         authenticate with the strongDM API.
17473        '''
17474
17475    def __repr__(self):
17476        return '<sdm.NodeCreateResponse ' + \
17477            'meta: ' + repr(self.meta) + ' ' +\
17478            'node: ' + repr(self.node) + ' ' +\
17479            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17480            'token: ' + repr(self.token) + ' ' +\
17481            '>'
17482
17483    def to_dict(self):
17484        return {
17485            'meta': self.meta,
17486            'node': self.node,
17487            'rate_limit': self.rate_limit,
17488            'token': self.token,
17489        }
17490
17491    @classmethod
17492    def from_dict(cls, d):
17493        return cls(
17494            meta=d.get('meta'),
17495            node=d.get('node'),
17496            rate_limit=d.get('rate_limit'),
17497            token=d.get('token'),
17498        )

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
17450    def __init__(
17451        self,
17452        meta=None,
17453        node=None,
17454        rate_limit=None,
17455        token=None,
17456    ):
17457        self.meta = meta if meta is not None else None
17458        '''
17459         Reserved for future use.
17460        '''
17461        self.node = node if node is not None else None
17462        '''
17463         The created Node.
17464        '''
17465        self.rate_limit = rate_limit if rate_limit is not None else None
17466        '''
17467         Rate limit information.
17468        '''
17469        self.token = token if token is not None else ''
17470        '''
17471         The auth token generated for the Node. The Node will use this token to
17472         authenticate with the strongDM API.
17473        '''
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)
17483    def to_dict(self):
17484        return {
17485            'meta': self.meta,
17486            'node': self.node,
17487            'rate_limit': self.rate_limit,
17488            'token': self.token,
17489        }
@classmethod
def from_dict(cls, d)
17491    @classmethod
17492    def from_dict(cls, d):
17493        return cls(
17494            meta=d.get('meta'),
17495            node=d.get('node'),
17496            rate_limit=d.get('rate_limit'),
17497            token=d.get('token'),
17498        )
class NodeDeleteResponse:
17501class NodeDeleteResponse:
17502    '''
17503         NodeDeleteResponse returns information about a Node that was deleted.
17504    '''
17505    __slots__ = [
17506        'meta',
17507        'rate_limit',
17508    ]
17509
17510    def __init__(
17511        self,
17512        meta=None,
17513        rate_limit=None,
17514    ):
17515        self.meta = meta if meta is not None else None
17516        '''
17517         Reserved for future use.
17518        '''
17519        self.rate_limit = rate_limit if rate_limit is not None else None
17520        '''
17521         Rate limit information.
17522        '''
17523
17524    def __repr__(self):
17525        return '<sdm.NodeDeleteResponse ' + \
17526            'meta: ' + repr(self.meta) + ' ' +\
17527            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17528            '>'
17529
17530    def to_dict(self):
17531        return {
17532            'meta': self.meta,
17533            'rate_limit': self.rate_limit,
17534        }
17535
17536    @classmethod
17537    def from_dict(cls, d):
17538        return cls(
17539            meta=d.get('meta'),
17540            rate_limit=d.get('rate_limit'),
17541        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
17510    def __init__(
17511        self,
17512        meta=None,
17513        rate_limit=None,
17514    ):
17515        self.meta = meta if meta is not None else None
17516        '''
17517         Reserved for future use.
17518        '''
17519        self.rate_limit = rate_limit if rate_limit is not None else None
17520        '''
17521         Rate limit information.
17522        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17530    def to_dict(self):
17531        return {
17532            'meta': self.meta,
17533            'rate_limit': self.rate_limit,
17534        }
@classmethod
def from_dict(cls, d)
17536    @classmethod
17537    def from_dict(cls, d):
17538        return cls(
17539            meta=d.get('meta'),
17540            rate_limit=d.get('rate_limit'),
17541        )
class NodeGetResponse:
17544class NodeGetResponse:
17545    '''
17546         NodeGetResponse returns a requested Node.
17547    '''
17548    __slots__ = [
17549        'meta',
17550        'node',
17551        'rate_limit',
17552    ]
17553
17554    def __init__(
17555        self,
17556        meta=None,
17557        node=None,
17558        rate_limit=None,
17559    ):
17560        self.meta = meta if meta is not None else None
17561        '''
17562         Reserved for future use.
17563        '''
17564        self.node = node if node is not None else None
17565        '''
17566         The requested Node.
17567        '''
17568        self.rate_limit = rate_limit if rate_limit is not None else None
17569        '''
17570         Rate limit information.
17571        '''
17572
17573    def __repr__(self):
17574        return '<sdm.NodeGetResponse ' + \
17575            'meta: ' + repr(self.meta) + ' ' +\
17576            'node: ' + repr(self.node) + ' ' +\
17577            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17578            '>'
17579
17580    def to_dict(self):
17581        return {
17582            'meta': self.meta,
17583            'node': self.node,
17584            'rate_limit': self.rate_limit,
17585        }
17586
17587    @classmethod
17588    def from_dict(cls, d):
17589        return cls(
17590            meta=d.get('meta'),
17591            node=d.get('node'),
17592            rate_limit=d.get('rate_limit'),
17593        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
17554    def __init__(
17555        self,
17556        meta=None,
17557        node=None,
17558        rate_limit=None,
17559    ):
17560        self.meta = meta if meta is not None else None
17561        '''
17562         Reserved for future use.
17563        '''
17564        self.node = node if node is not None else None
17565        '''
17566         The requested Node.
17567        '''
17568        self.rate_limit = rate_limit if rate_limit is not None else None
17569        '''
17570         Rate limit information.
17571        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
17580    def to_dict(self):
17581        return {
17582            'meta': self.meta,
17583            'node': self.node,
17584            'rate_limit': self.rate_limit,
17585        }
@classmethod
def from_dict(cls, d)
17587    @classmethod
17588    def from_dict(cls, d):
17589        return cls(
17590            meta=d.get('meta'),
17591            node=d.get('node'),
17592            rate_limit=d.get('rate_limit'),
17593        )
class NodeHistory:
17596class NodeHistory:
17597    '''
17598         NodeHistory records the state of a Node at a given point in time,
17599     where every change (create, update and delete) to a Node produces an
17600     NodeHistory record.
17601    '''
17602    __slots__ = [
17603        'activity_id',
17604        'deleted_at',
17605        'node',
17606        'timestamp',
17607    ]
17608
17609    def __init__(
17610        self,
17611        activity_id=None,
17612        deleted_at=None,
17613        node=None,
17614        timestamp=None,
17615    ):
17616        self.activity_id = activity_id if activity_id is not None else ''
17617        '''
17618         The unique identifier of the Activity that produced this change to the Node.
17619         May be empty for some system-initiated updates.
17620        '''
17621        self.deleted_at = deleted_at if deleted_at is not None else None
17622        '''
17623         If this Node was deleted, the time it was deleted.
17624        '''
17625        self.node = node if node is not None else None
17626        '''
17627         The complete Node state at this time.
17628        '''
17629        self.timestamp = timestamp if timestamp is not None else None
17630        '''
17631         The time at which the Node state was recorded.
17632        '''
17633
17634    def __repr__(self):
17635        return '<sdm.NodeHistory ' + \
17636            'activity_id: ' + repr(self.activity_id) + ' ' +\
17637            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
17638            'node: ' + repr(self.node) + ' ' +\
17639            'timestamp: ' + repr(self.timestamp) + ' ' +\
17640            '>'
17641
17642    def to_dict(self):
17643        return {
17644            'activity_id': self.activity_id,
17645            'deleted_at': self.deleted_at,
17646            'node': self.node,
17647            'timestamp': self.timestamp,
17648        }
17649
17650    @classmethod
17651    def from_dict(cls, d):
17652        return cls(
17653            activity_id=d.get('activity_id'),
17654            deleted_at=d.get('deleted_at'),
17655            node=d.get('node'),
17656            timestamp=d.get('timestamp'),
17657        )

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)
17609    def __init__(
17610        self,
17611        activity_id=None,
17612        deleted_at=None,
17613        node=None,
17614        timestamp=None,
17615    ):
17616        self.activity_id = activity_id if activity_id is not None else ''
17617        '''
17618         The unique identifier of the Activity that produced this change to the Node.
17619         May be empty for some system-initiated updates.
17620        '''
17621        self.deleted_at = deleted_at if deleted_at is not None else None
17622        '''
17623         If this Node was deleted, the time it was deleted.
17624        '''
17625        self.node = node if node is not None else None
17626        '''
17627         The complete Node state at this time.
17628        '''
17629        self.timestamp = timestamp if timestamp is not None else None
17630        '''
17631         The time at which the Node state was recorded.
17632        '''
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)
17642    def to_dict(self):
17643        return {
17644            'activity_id': self.activity_id,
17645            'deleted_at': self.deleted_at,
17646            'node': self.node,
17647            'timestamp': self.timestamp,
17648        }
@classmethod
def from_dict(cls, d)
17650    @classmethod
17651    def from_dict(cls, d):
17652        return cls(
17653            activity_id=d.get('activity_id'),
17654            deleted_at=d.get('deleted_at'),
17655            node=d.get('node'),
17656            timestamp=d.get('timestamp'),
17657        )
class NodeMaintenanceWindow:
17660class NodeMaintenanceWindow:
17661    __slots__ = [
17662        'cron_schedule',
17663        'require_idleness',
17664    ]
17665
17666    def __init__(
17667        self,
17668        cron_schedule=None,
17669        require_idleness=None,
17670    ):
17671        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
17672        '''
17673         Cron job syntax for when this maintenance window is active. On this schedule, associated
17674         nodes will restart if requested, provided other checks allow the restart to proceed. Times
17675         are represented in UTC.
17676         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
17677         Saturday. Not all possible inputs are supported: the month and day of month selections
17678         must be '*'.
17679        '''
17680        self.require_idleness = require_idleness if require_idleness is not None else False
17681        '''
17682         Require Idleness defines whether this window can sever live connections. If true,
17683         this window will not allow a node to be restarted unless it is serving no connections.
17684         If false, given a restart of the node has been requested (for an update, usually), the
17685         node will restart as soon as it enters an allowed day / hour combination. At least one
17686         maintenance window, out of all configured windows for a node, must have this as false.
17687        '''
17688
17689    def __repr__(self):
17690        return '<sdm.NodeMaintenanceWindow ' + \
17691            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
17692            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
17693            '>'
17694
17695    def to_dict(self):
17696        return {
17697            'cron_schedule': self.cron_schedule,
17698            'require_idleness': self.require_idleness,
17699        }
17700
17701    @classmethod
17702    def from_dict(cls, d):
17703        return cls(
17704            cron_schedule=d.get('cron_schedule'),
17705            require_idleness=d.get('require_idleness'),
17706        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
17666    def __init__(
17667        self,
17668        cron_schedule=None,
17669        require_idleness=None,
17670    ):
17671        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
17672        '''
17673         Cron job syntax for when this maintenance window is active. On this schedule, associated
17674         nodes will restart if requested, provided other checks allow the restart to proceed. Times
17675         are represented in UTC.
17676         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
17677         Saturday. Not all possible inputs are supported: the month and day of month selections
17678         must be '*'.
17679        '''
17680        self.require_idleness = require_idleness if require_idleness is not None else False
17681        '''
17682         Require Idleness defines whether this window can sever live connections. If true,
17683         this window will not allow a node to be restarted unless it is serving no connections.
17684         If false, given a restart of the node has been requested (for an update, usually), the
17685         node will restart as soon as it enters an allowed day / hour combination. At least one
17686         maintenance window, out of all configured windows for a node, must have this as false.
17687        '''
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)
17695    def to_dict(self):
17696        return {
17697            'cron_schedule': self.cron_schedule,
17698            'require_idleness': self.require_idleness,
17699        }
@classmethod
def from_dict(cls, d)
17701    @classmethod
17702    def from_dict(cls, d):
17703        return cls(
17704            cron_schedule=d.get('cron_schedule'),
17705            require_idleness=d.get('require_idleness'),
17706        )
class NodeUpdateResponse:
17709class NodeUpdateResponse:
17710    '''
17711         NodeUpdateResponse returns the fields of a Node after it has been updated by
17712     a NodeUpdateRequest.
17713    '''
17714    __slots__ = [
17715        'meta',
17716        'node',
17717        'rate_limit',
17718    ]
17719
17720    def __init__(
17721        self,
17722        meta=None,
17723        node=None,
17724        rate_limit=None,
17725    ):
17726        self.meta = meta if meta is not None else None
17727        '''
17728         Reserved for future use.
17729        '''
17730        self.node = node if node is not None else None
17731        '''
17732         The updated Node.
17733        '''
17734        self.rate_limit = rate_limit if rate_limit is not None else None
17735        '''
17736         Rate limit information.
17737        '''
17738
17739    def __repr__(self):
17740        return '<sdm.NodeUpdateResponse ' + \
17741            'meta: ' + repr(self.meta) + ' ' +\
17742            'node: ' + repr(self.node) + ' ' +\
17743            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17744            '>'
17745
17746    def to_dict(self):
17747        return {
17748            'meta': self.meta,
17749            'node': self.node,
17750            'rate_limit': self.rate_limit,
17751        }
17752
17753    @classmethod
17754    def from_dict(cls, d):
17755        return cls(
17756            meta=d.get('meta'),
17757            node=d.get('node'),
17758            rate_limit=d.get('rate_limit'),
17759        )

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

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
17720    def __init__(
17721        self,
17722        meta=None,
17723        node=None,
17724        rate_limit=None,
17725    ):
17726        self.meta = meta if meta is not None else None
17727        '''
17728         Reserved for future use.
17729        '''
17730        self.node = node if node is not None else None
17731        '''
17732         The updated Node.
17733        '''
17734        self.rate_limit = rate_limit if rate_limit is not None else None
17735        '''
17736         Rate limit information.
17737        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

def to_dict(self)
17746    def to_dict(self):
17747        return {
17748            'meta': self.meta,
17749            'node': self.node,
17750            'rate_limit': self.rate_limit,
17751        }
@classmethod
def from_dict(cls, d)
17753    @classmethod
17754    def from_dict(cls, d):
17755        return cls(
17756            meta=d.get('meta'),
17757            node=d.get('node'),
17758            rate_limit=d.get('rate_limit'),
17759        )
class Oracle:
17762class Oracle:
17763    __slots__ = [
17764        'bind_interface',
17765        'database',
17766        'egress_filter',
17767        'healthy',
17768        'hostname',
17769        'id',
17770        'name',
17771        'password',
17772        'port',
17773        'port_override',
17774        'proxy_cluster_id',
17775        'secret_store_id',
17776        'subdomain',
17777        'tags',
17778        'tls_required',
17779        'username',
17780    ]
17781
17782    def __init__(
17783        self,
17784        bind_interface=None,
17785        database=None,
17786        egress_filter=None,
17787        healthy=None,
17788        hostname=None,
17789        id=None,
17790        name=None,
17791        password=None,
17792        port=None,
17793        port_override=None,
17794        proxy_cluster_id=None,
17795        secret_store_id=None,
17796        subdomain=None,
17797        tags=None,
17798        tls_required=None,
17799        username=None,
17800    ):
17801        self.bind_interface = bind_interface if bind_interface is not None else ''
17802        '''
17803         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17804        '''
17805        self.database = database if database is not None else ''
17806        '''
17807         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
17808        '''
17809        self.egress_filter = egress_filter if egress_filter is not None else ''
17810        '''
17811         A filter applied to the routing logic to pin datasource to nodes.
17812        '''
17813        self.healthy = healthy if healthy is not None else False
17814        '''
17815         True if the datasource is reachable and the credentials are valid.
17816        '''
17817        self.hostname = hostname if hostname is not None else ''
17818        '''
17819         The host to dial to initiate a connection from the egress node to this resource.
17820        '''
17821        self.id = id if id is not None else ''
17822        '''
17823         Unique identifier of the Resource.
17824        '''
17825        self.name = name if name is not None else ''
17826        '''
17827         Unique human-readable name of the Resource.
17828        '''
17829        self.password = password if password is not None else ''
17830        '''
17831         The password to authenticate with.
17832        '''
17833        self.port = port if port is not None else 0
17834        '''
17835         The port to dial to initiate a connection from the egress node to this resource.
17836        '''
17837        self.port_override = port_override if port_override is not None else 0
17838        '''
17839         The local port used by clients to connect to this resource.
17840        '''
17841        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17842        '''
17843         ID of the proxy cluster for this resource, if any.
17844        '''
17845        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17846        '''
17847         ID of the secret store containing credentials for this resource, if any.
17848        '''
17849        self.subdomain = subdomain if subdomain is not None else ''
17850        '''
17851         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17852        '''
17853        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17854        '''
17855         Tags is a map of key, value pairs.
17856        '''
17857        self.tls_required = tls_required if tls_required is not None else False
17858        '''
17859         If set, TLS must be used to connect to this resource.
17860        '''
17861        self.username = username if username is not None else ''
17862        '''
17863         The username to authenticate with.
17864        '''
17865
17866    def __repr__(self):
17867        return '<sdm.Oracle ' + \
17868            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17869            'database: ' + repr(self.database) + ' ' +\
17870            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17871            'healthy: ' + repr(self.healthy) + ' ' +\
17872            'hostname: ' + repr(self.hostname) + ' ' +\
17873            'id: ' + repr(self.id) + ' ' +\
17874            'name: ' + repr(self.name) + ' ' +\
17875            'password: ' + repr(self.password) + ' ' +\
17876            'port: ' + repr(self.port) + ' ' +\
17877            'port_override: ' + repr(self.port_override) + ' ' +\
17878            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17879            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17880            'subdomain: ' + repr(self.subdomain) + ' ' +\
17881            'tags: ' + repr(self.tags) + ' ' +\
17882            'tls_required: ' + repr(self.tls_required) + ' ' +\
17883            'username: ' + repr(self.username) + ' ' +\
17884            '>'
17885
17886    def to_dict(self):
17887        return {
17888            'bind_interface': self.bind_interface,
17889            'database': self.database,
17890            'egress_filter': self.egress_filter,
17891            'healthy': self.healthy,
17892            'hostname': self.hostname,
17893            'id': self.id,
17894            'name': self.name,
17895            'password': self.password,
17896            'port': self.port,
17897            'port_override': self.port_override,
17898            'proxy_cluster_id': self.proxy_cluster_id,
17899            'secret_store_id': self.secret_store_id,
17900            'subdomain': self.subdomain,
17901            'tags': self.tags,
17902            'tls_required': self.tls_required,
17903            'username': self.username,
17904        }
17905
17906    @classmethod
17907    def from_dict(cls, d):
17908        return cls(
17909            bind_interface=d.get('bind_interface'),
17910            database=d.get('database'),
17911            egress_filter=d.get('egress_filter'),
17912            healthy=d.get('healthy'),
17913            hostname=d.get('hostname'),
17914            id=d.get('id'),
17915            name=d.get('name'),
17916            password=d.get('password'),
17917            port=d.get('port'),
17918            port_override=d.get('port_override'),
17919            proxy_cluster_id=d.get('proxy_cluster_id'),
17920            secret_store_id=d.get('secret_store_id'),
17921            subdomain=d.get('subdomain'),
17922            tags=d.get('tags'),
17923            tls_required=d.get('tls_required'),
17924            username=d.get('username'),
17925        )
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)
17782    def __init__(
17783        self,
17784        bind_interface=None,
17785        database=None,
17786        egress_filter=None,
17787        healthy=None,
17788        hostname=None,
17789        id=None,
17790        name=None,
17791        password=None,
17792        port=None,
17793        port_override=None,
17794        proxy_cluster_id=None,
17795        secret_store_id=None,
17796        subdomain=None,
17797        tags=None,
17798        tls_required=None,
17799        username=None,
17800    ):
17801        self.bind_interface = bind_interface if bind_interface is not None else ''
17802        '''
17803         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17804        '''
17805        self.database = database if database is not None else ''
17806        '''
17807         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
17808        '''
17809        self.egress_filter = egress_filter if egress_filter is not None else ''
17810        '''
17811         A filter applied to the routing logic to pin datasource to nodes.
17812        '''
17813        self.healthy = healthy if healthy is not None else False
17814        '''
17815         True if the datasource is reachable and the credentials are valid.
17816        '''
17817        self.hostname = hostname if hostname is not None else ''
17818        '''
17819         The host to dial to initiate a connection from the egress node to this resource.
17820        '''
17821        self.id = id if id is not None else ''
17822        '''
17823         Unique identifier of the Resource.
17824        '''
17825        self.name = name if name is not None else ''
17826        '''
17827         Unique human-readable name of the Resource.
17828        '''
17829        self.password = password if password is not None else ''
17830        '''
17831         The password to authenticate with.
17832        '''
17833        self.port = port if port is not None else 0
17834        '''
17835         The port to dial to initiate a connection from the egress node to this resource.
17836        '''
17837        self.port_override = port_override if port_override is not None else 0
17838        '''
17839         The local port used by clients to connect to this resource.
17840        '''
17841        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17842        '''
17843         ID of the proxy cluster for this resource, if any.
17844        '''
17845        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17846        '''
17847         ID of the secret store containing credentials for this resource, if any.
17848        '''
17849        self.subdomain = subdomain if subdomain is not None else ''
17850        '''
17851         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17852        '''
17853        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17854        '''
17855         Tags is a map of key, value pairs.
17856        '''
17857        self.tls_required = tls_required if tls_required is not None else False
17858        '''
17859         If set, TLS must be used to connect to this resource.
17860        '''
17861        self.username = username if username is not None else ''
17862        '''
17863         The username to authenticate with.
17864        '''
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)
17886    def to_dict(self):
17887        return {
17888            'bind_interface': self.bind_interface,
17889            'database': self.database,
17890            'egress_filter': self.egress_filter,
17891            'healthy': self.healthy,
17892            'hostname': self.hostname,
17893            'id': self.id,
17894            'name': self.name,
17895            'password': self.password,
17896            'port': self.port,
17897            'port_override': self.port_override,
17898            'proxy_cluster_id': self.proxy_cluster_id,
17899            'secret_store_id': self.secret_store_id,
17900            'subdomain': self.subdomain,
17901            'tags': self.tags,
17902            'tls_required': self.tls_required,
17903            'username': self.username,
17904        }
@classmethod
def from_dict(cls, d)
17906    @classmethod
17907    def from_dict(cls, d):
17908        return cls(
17909            bind_interface=d.get('bind_interface'),
17910            database=d.get('database'),
17911            egress_filter=d.get('egress_filter'),
17912            healthy=d.get('healthy'),
17913            hostname=d.get('hostname'),
17914            id=d.get('id'),
17915            name=d.get('name'),
17916            password=d.get('password'),
17917            port=d.get('port'),
17918            port_override=d.get('port_override'),
17919            proxy_cluster_id=d.get('proxy_cluster_id'),
17920            secret_store_id=d.get('secret_store_id'),
17921            subdomain=d.get('subdomain'),
17922            tags=d.get('tags'),
17923            tls_required=d.get('tls_required'),
17924            username=d.get('username'),
17925        )
class Organization:
17928class Organization:
17929    __slots__ = [
17930        'auth_provider',
17931        'created_at',
17932        'device_trust_enabled',
17933        'device_trust_provider',
17934        'enforce_single_session',
17935        'idle_timeout',
17936        'idle_timeout_enabled',
17937        'kind',
17938        'log_local_encoder',
17939        'log_local_format',
17940        'log_local_storage',
17941        'log_remote_encoder',
17942        'log_socket_path',
17943        'log_tcp_address',
17944        'loopback_range',
17945        'mfa_enabled',
17946        'mfa_provider',
17947        'name',
17948        'require_secret_store',
17949        'saml_metadata_url',
17950        'scim_provider',
17951        'sensitive_label',
17952        'session_timeout',
17953        'session_timeout_enabled',
17954        'ssh_certificate_authority_public_key',
17955        'ssh_certificate_authority_updated_at',
17956        'updated_at',
17957        'websites_subdomain',
17958    ]
17959
17960    def __init__(
17961        self,
17962        auth_provider=None,
17963        created_at=None,
17964        device_trust_enabled=None,
17965        device_trust_provider=None,
17966        enforce_single_session=None,
17967        idle_timeout=None,
17968        idle_timeout_enabled=None,
17969        kind=None,
17970        log_local_encoder=None,
17971        log_local_format=None,
17972        log_local_storage=None,
17973        log_remote_encoder=None,
17974        log_socket_path=None,
17975        log_tcp_address=None,
17976        loopback_range=None,
17977        mfa_enabled=None,
17978        mfa_provider=None,
17979        name=None,
17980        require_secret_store=None,
17981        saml_metadata_url=None,
17982        scim_provider=None,
17983        sensitive_label=None,
17984        session_timeout=None,
17985        session_timeout_enabled=None,
17986        ssh_certificate_authority_public_key=None,
17987        ssh_certificate_authority_updated_at=None,
17988        updated_at=None,
17989        websites_subdomain=None,
17990    ):
17991        self.auth_provider = auth_provider if auth_provider is not None else ''
17992        '''
17993         The Organization's authentication provider, one of the AuthProvider constants.
17994        '''
17995        self.created_at = created_at if created_at is not None else None
17996        '''
17997         The time at which the Organization was created.
17998        '''
17999        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
18000        '''
18001         Indicates if the Organization has device trust enabled.
18002        '''
18003        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
18004        '''
18005         The Organization's device trust provider, one of the DeviceTrustProvider constants.
18006        '''
18007        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
18008        '''
18009         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
18010        '''
18011        self.idle_timeout = idle_timeout if idle_timeout is not None else None
18012        '''
18013         The Organization's idle timeout, if enabled.
18014        '''
18015        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
18016        '''
18017         Indicates if the Organization has idle timeouts enabled.
18018        '''
18019        self.kind = kind if kind is not None else ''
18020        '''
18021         The Organization's type, one of the OrgKind constants.
18022        '''
18023        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
18024        '''
18025         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
18026        '''
18027        self.log_local_format = log_local_format if log_local_format is not None else ''
18028        '''
18029         The Organization's local log format, one of the LogLocalFormat constants.
18030        '''
18031        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
18032        '''
18033         The Organization's local log storage, one of the LogLocalStorage constants.
18034        '''
18035        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
18036        '''
18037         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
18038        '''
18039        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
18040        '''
18041         The Organization's socket path for Socket local log storage.
18042        '''
18043        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
18044        '''
18045         The Organization's TCP address for TCP or Syslog local log storage.
18046        '''
18047        self.loopback_range = loopback_range if loopback_range is not None else ''
18048        '''
18049         The Organization's loopback range.
18050        '''
18051        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
18052        '''
18053         Indicates if the Organization has multi-factor authentication enabled.
18054        '''
18055        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
18056        '''
18057         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
18058        '''
18059        self.name = name if name is not None else ''
18060        '''
18061         The Organization's name.
18062        '''
18063        self.require_secret_store = require_secret_store if require_secret_store is not None else False
18064        '''
18065         Indicates if the Organization requires secret stores.
18066        '''
18067        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
18068        '''
18069         The Organization's URL for SAML metadata.
18070        '''
18071        self.scim_provider = scim_provider if scim_provider is not None else ''
18072        '''
18073         The Organization's SCIM provider, one of the SCIMProvider constants.
18074        '''
18075        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
18076        '''
18077         The Organization's label for sensitive resources.
18078        '''
18079        self.session_timeout = session_timeout if session_timeout is not None else None
18080        '''
18081         The Organization's session timeout, if enabled.
18082        '''
18083        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
18084        '''
18085         Indicates if the Organization has session timeouts enabled.
18086        '''
18087        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
18088        '''
18089         The Organization's SSH certificate authority public key.
18090        '''
18091        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
18092        '''
18093         The time at which the Organization's SSH certificate authority was last updated.
18094        '''
18095        self.updated_at = updated_at if updated_at is not None else None
18096        '''
18097         The time at which the Organization was last updated.
18098        '''
18099        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
18100        '''
18101         The Organization's web site domain.
18102        '''
18103
18104    def __repr__(self):
18105        return '<sdm.Organization ' + \
18106            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
18107            'created_at: ' + repr(self.created_at) + ' ' +\
18108            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
18109            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
18110            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
18111            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
18112            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
18113            'kind: ' + repr(self.kind) + ' ' +\
18114            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
18115            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
18116            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
18117            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
18118            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
18119            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
18120            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
18121            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
18122            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
18123            'name: ' + repr(self.name) + ' ' +\
18124            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
18125            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
18126            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
18127            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
18128            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
18129            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
18130            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
18131            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
18132            'updated_at: ' + repr(self.updated_at) + ' ' +\
18133            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
18134            '>'
18135
18136    def to_dict(self):
18137        return {
18138            'auth_provider': self.auth_provider,
18139            'created_at': self.created_at,
18140            'device_trust_enabled': self.device_trust_enabled,
18141            'device_trust_provider': self.device_trust_provider,
18142            'enforce_single_session': self.enforce_single_session,
18143            'idle_timeout': self.idle_timeout,
18144            'idle_timeout_enabled': self.idle_timeout_enabled,
18145            'kind': self.kind,
18146            'log_local_encoder': self.log_local_encoder,
18147            'log_local_format': self.log_local_format,
18148            'log_local_storage': self.log_local_storage,
18149            'log_remote_encoder': self.log_remote_encoder,
18150            'log_socket_path': self.log_socket_path,
18151            'log_tcp_address': self.log_tcp_address,
18152            'loopback_range': self.loopback_range,
18153            'mfa_enabled': self.mfa_enabled,
18154            'mfa_provider': self.mfa_provider,
18155            'name': self.name,
18156            'require_secret_store': self.require_secret_store,
18157            'saml_metadata_url': self.saml_metadata_url,
18158            'scim_provider': self.scim_provider,
18159            'sensitive_label': self.sensitive_label,
18160            'session_timeout': self.session_timeout,
18161            'session_timeout_enabled': self.session_timeout_enabled,
18162            'ssh_certificate_authority_public_key':
18163            self.ssh_certificate_authority_public_key,
18164            'ssh_certificate_authority_updated_at':
18165            self.ssh_certificate_authority_updated_at,
18166            'updated_at': self.updated_at,
18167            'websites_subdomain': self.websites_subdomain,
18168        }
18169
18170    @classmethod
18171    def from_dict(cls, d):
18172        return cls(
18173            auth_provider=d.get('auth_provider'),
18174            created_at=d.get('created_at'),
18175            device_trust_enabled=d.get('device_trust_enabled'),
18176            device_trust_provider=d.get('device_trust_provider'),
18177            enforce_single_session=d.get('enforce_single_session'),
18178            idle_timeout=d.get('idle_timeout'),
18179            idle_timeout_enabled=d.get('idle_timeout_enabled'),
18180            kind=d.get('kind'),
18181            log_local_encoder=d.get('log_local_encoder'),
18182            log_local_format=d.get('log_local_format'),
18183            log_local_storage=d.get('log_local_storage'),
18184            log_remote_encoder=d.get('log_remote_encoder'),
18185            log_socket_path=d.get('log_socket_path'),
18186            log_tcp_address=d.get('log_tcp_address'),
18187            loopback_range=d.get('loopback_range'),
18188            mfa_enabled=d.get('mfa_enabled'),
18189            mfa_provider=d.get('mfa_provider'),
18190            name=d.get('name'),
18191            require_secret_store=d.get('require_secret_store'),
18192            saml_metadata_url=d.get('saml_metadata_url'),
18193            scim_provider=d.get('scim_provider'),
18194            sensitive_label=d.get('sensitive_label'),
18195            session_timeout=d.get('session_timeout'),
18196            session_timeout_enabled=d.get('session_timeout_enabled'),
18197            ssh_certificate_authority_public_key=d.get(
18198                'ssh_certificate_authority_public_key'),
18199            ssh_certificate_authority_updated_at=d.get(
18200                'ssh_certificate_authority_updated_at'),
18201            updated_at=d.get('updated_at'),
18202            websites_subdomain=d.get('websites_subdomain'),
18203        )
Organization( auth_provider=None, created_at=None, device_trust_enabled=None, device_trust_provider=None, enforce_single_session=None, idle_timeout=None, idle_timeout_enabled=None, kind=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, 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)
17960    def __init__(
17961        self,
17962        auth_provider=None,
17963        created_at=None,
17964        device_trust_enabled=None,
17965        device_trust_provider=None,
17966        enforce_single_session=None,
17967        idle_timeout=None,
17968        idle_timeout_enabled=None,
17969        kind=None,
17970        log_local_encoder=None,
17971        log_local_format=None,
17972        log_local_storage=None,
17973        log_remote_encoder=None,
17974        log_socket_path=None,
17975        log_tcp_address=None,
17976        loopback_range=None,
17977        mfa_enabled=None,
17978        mfa_provider=None,
17979        name=None,
17980        require_secret_store=None,
17981        saml_metadata_url=None,
17982        scim_provider=None,
17983        sensitive_label=None,
17984        session_timeout=None,
17985        session_timeout_enabled=None,
17986        ssh_certificate_authority_public_key=None,
17987        ssh_certificate_authority_updated_at=None,
17988        updated_at=None,
17989        websites_subdomain=None,
17990    ):
17991        self.auth_provider = auth_provider if auth_provider is not None else ''
17992        '''
17993         The Organization's authentication provider, one of the AuthProvider constants.
17994        '''
17995        self.created_at = created_at if created_at is not None else None
17996        '''
17997         The time at which the Organization was created.
17998        '''
17999        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
18000        '''
18001         Indicates if the Organization has device trust enabled.
18002        '''
18003        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
18004        '''
18005         The Organization's device trust provider, one of the DeviceTrustProvider constants.
18006        '''
18007        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
18008        '''
18009         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
18010        '''
18011        self.idle_timeout = idle_timeout if idle_timeout is not None else None
18012        '''
18013         The Organization's idle timeout, if enabled.
18014        '''
18015        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
18016        '''
18017         Indicates if the Organization has idle timeouts enabled.
18018        '''
18019        self.kind = kind if kind is not None else ''
18020        '''
18021         The Organization's type, one of the OrgKind constants.
18022        '''
18023        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
18024        '''
18025         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
18026        '''
18027        self.log_local_format = log_local_format if log_local_format is not None else ''
18028        '''
18029         The Organization's local log format, one of the LogLocalFormat constants.
18030        '''
18031        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
18032        '''
18033         The Organization's local log storage, one of the LogLocalStorage constants.
18034        '''
18035        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
18036        '''
18037         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
18038        '''
18039        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
18040        '''
18041         The Organization's socket path for Socket local log storage.
18042        '''
18043        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
18044        '''
18045         The Organization's TCP address for TCP or Syslog local log storage.
18046        '''
18047        self.loopback_range = loopback_range if loopback_range is not None else ''
18048        '''
18049         The Organization's loopback range.
18050        '''
18051        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
18052        '''
18053         Indicates if the Organization has multi-factor authentication enabled.
18054        '''
18055        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
18056        '''
18057         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
18058        '''
18059        self.name = name if name is not None else ''
18060        '''
18061         The Organization's name.
18062        '''
18063        self.require_secret_store = require_secret_store if require_secret_store is not None else False
18064        '''
18065         Indicates if the Organization requires secret stores.
18066        '''
18067        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
18068        '''
18069         The Organization's URL for SAML metadata.
18070        '''
18071        self.scim_provider = scim_provider if scim_provider is not None else ''
18072        '''
18073         The Organization's SCIM provider, one of the SCIMProvider constants.
18074        '''
18075        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
18076        '''
18077         The Organization's label for sensitive resources.
18078        '''
18079        self.session_timeout = session_timeout if session_timeout is not None else None
18080        '''
18081         The Organization's session timeout, if enabled.
18082        '''
18083        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
18084        '''
18085         Indicates if the Organization has session timeouts enabled.
18086        '''
18087        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
18088        '''
18089         The Organization's SSH certificate authority public key.
18090        '''
18091        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
18092        '''
18093         The time at which the Organization's SSH certificate authority was last updated.
18094        '''
18095        self.updated_at = updated_at if updated_at is not None else None
18096        '''
18097         The time at which the Organization was last updated.
18098        '''
18099        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
18100        '''
18101         The Organization's web site domain.
18102        '''
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.

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_local_encoder

The Organization's local log encryption encoder, one of the LogLocalEncoder constants.

log_local_format

The Organization's local log format, one of the LogLocalFormat constants.

log_local_storage

The Organization's local log storage, one of the LogLocalStorage constants.

log_remote_encoder

The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.

log_socket_path

The Organization's socket path for Socket local log storage.

log_tcp_address

The Organization's TCP address for TCP or Syslog local log storage.

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.

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)
18136    def to_dict(self):
18137        return {
18138            'auth_provider': self.auth_provider,
18139            'created_at': self.created_at,
18140            'device_trust_enabled': self.device_trust_enabled,
18141            'device_trust_provider': self.device_trust_provider,
18142            'enforce_single_session': self.enforce_single_session,
18143            'idle_timeout': self.idle_timeout,
18144            'idle_timeout_enabled': self.idle_timeout_enabled,
18145            'kind': self.kind,
18146            'log_local_encoder': self.log_local_encoder,
18147            'log_local_format': self.log_local_format,
18148            'log_local_storage': self.log_local_storage,
18149            'log_remote_encoder': self.log_remote_encoder,
18150            'log_socket_path': self.log_socket_path,
18151            'log_tcp_address': self.log_tcp_address,
18152            'loopback_range': self.loopback_range,
18153            'mfa_enabled': self.mfa_enabled,
18154            'mfa_provider': self.mfa_provider,
18155            'name': self.name,
18156            'require_secret_store': self.require_secret_store,
18157            'saml_metadata_url': self.saml_metadata_url,
18158            'scim_provider': self.scim_provider,
18159            'sensitive_label': self.sensitive_label,
18160            'session_timeout': self.session_timeout,
18161            'session_timeout_enabled': self.session_timeout_enabled,
18162            'ssh_certificate_authority_public_key':
18163            self.ssh_certificate_authority_public_key,
18164            'ssh_certificate_authority_updated_at':
18165            self.ssh_certificate_authority_updated_at,
18166            'updated_at': self.updated_at,
18167            'websites_subdomain': self.websites_subdomain,
18168        }
@classmethod
def from_dict(cls, d)
18170    @classmethod
18171    def from_dict(cls, d):
18172        return cls(
18173            auth_provider=d.get('auth_provider'),
18174            created_at=d.get('created_at'),
18175            device_trust_enabled=d.get('device_trust_enabled'),
18176            device_trust_provider=d.get('device_trust_provider'),
18177            enforce_single_session=d.get('enforce_single_session'),
18178            idle_timeout=d.get('idle_timeout'),
18179            idle_timeout_enabled=d.get('idle_timeout_enabled'),
18180            kind=d.get('kind'),
18181            log_local_encoder=d.get('log_local_encoder'),
18182            log_local_format=d.get('log_local_format'),
18183            log_local_storage=d.get('log_local_storage'),
18184            log_remote_encoder=d.get('log_remote_encoder'),
18185            log_socket_path=d.get('log_socket_path'),
18186            log_tcp_address=d.get('log_tcp_address'),
18187            loopback_range=d.get('loopback_range'),
18188            mfa_enabled=d.get('mfa_enabled'),
18189            mfa_provider=d.get('mfa_provider'),
18190            name=d.get('name'),
18191            require_secret_store=d.get('require_secret_store'),
18192            saml_metadata_url=d.get('saml_metadata_url'),
18193            scim_provider=d.get('scim_provider'),
18194            sensitive_label=d.get('sensitive_label'),
18195            session_timeout=d.get('session_timeout'),
18196            session_timeout_enabled=d.get('session_timeout_enabled'),
18197            ssh_certificate_authority_public_key=d.get(
18198                'ssh_certificate_authority_public_key'),
18199            ssh_certificate_authority_updated_at=d.get(
18200                'ssh_certificate_authority_updated_at'),
18201            updated_at=d.get('updated_at'),
18202            websites_subdomain=d.get('websites_subdomain'),
18203        )
class OrganizationHistoryRecord:
18206class OrganizationHistoryRecord:
18207    '''
18208         OrganizationHistoryRecord records the state of an Organization at a given point in time,
18209     where every change to an Organization produces an OrganizationHistoryRecord.
18210    '''
18211    __slots__ = [
18212        'activity_id',
18213        'organization',
18214        'timestamp',
18215    ]
18216
18217    def __init__(
18218        self,
18219        activity_id=None,
18220        organization=None,
18221        timestamp=None,
18222    ):
18223        self.activity_id = activity_id if activity_id is not None else ''
18224        '''
18225         The unique identifier of the Activity that produced this change to the Organization.
18226         May be empty for some system-initiated organization updates.
18227        '''
18228        self.organization = organization if organization is not None else None
18229        '''
18230         The complete Organization state at this time.
18231        '''
18232        self.timestamp = timestamp if timestamp is not None else None
18233        '''
18234         The time at which the Organization state was recorded.
18235        '''
18236
18237    def __repr__(self):
18238        return '<sdm.OrganizationHistoryRecord ' + \
18239            'activity_id: ' + repr(self.activity_id) + ' ' +\
18240            'organization: ' + repr(self.organization) + ' ' +\
18241            'timestamp: ' + repr(self.timestamp) + ' ' +\
18242            '>'
18243
18244    def to_dict(self):
18245        return {
18246            'activity_id': self.activity_id,
18247            'organization': self.organization,
18248            'timestamp': self.timestamp,
18249        }
18250
18251    @classmethod
18252    def from_dict(cls, d):
18253        return cls(
18254            activity_id=d.get('activity_id'),
18255            organization=d.get('organization'),
18256            timestamp=d.get('timestamp'),
18257        )

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)
18217    def __init__(
18218        self,
18219        activity_id=None,
18220        organization=None,
18221        timestamp=None,
18222    ):
18223        self.activity_id = activity_id if activity_id is not None else ''
18224        '''
18225         The unique identifier of the Activity that produced this change to the Organization.
18226         May be empty for some system-initiated organization updates.
18227        '''
18228        self.organization = organization if organization is not None else None
18229        '''
18230         The complete Organization state at this time.
18231        '''
18232        self.timestamp = timestamp if timestamp is not None else None
18233        '''
18234         The time at which the Organization state was recorded.
18235        '''
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)
18244    def to_dict(self):
18245        return {
18246            'activity_id': self.activity_id,
18247            'organization': self.organization,
18248            'timestamp': self.timestamp,
18249        }
@classmethod
def from_dict(cls, d)
18251    @classmethod
18252    def from_dict(cls, d):
18253        return cls(
18254            activity_id=d.get('activity_id'),
18255            organization=d.get('organization'),
18256            timestamp=d.get('timestamp'),
18257        )
class PeeringGroup:
18260class PeeringGroup:
18261    '''
18262         PeeringGroups are the building blocks used for explicit network topology making.
18263     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
18264    '''
18265    __slots__ = [
18266        'id',
18267        'name',
18268    ]
18269
18270    def __init__(
18271        self,
18272        id=None,
18273        name=None,
18274    ):
18275        self.id = id if id is not None else ''
18276        '''
18277         Unique identifier of the PeeringGroup.
18278        '''
18279        self.name = name if name is not None else ''
18280        '''
18281         Unique human-readable name of the PeeringGroup.
18282        '''
18283
18284    def __repr__(self):
18285        return '<sdm.PeeringGroup ' + \
18286            'id: ' + repr(self.id) + ' ' +\
18287            'name: ' + repr(self.name) + ' ' +\
18288            '>'
18289
18290    def to_dict(self):
18291        return {
18292            'id': self.id,
18293            'name': self.name,
18294        }
18295
18296    @classmethod
18297    def from_dict(cls, d):
18298        return cls(
18299            id=d.get('id'),
18300            name=d.get('name'),
18301        )

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)
18270    def __init__(
18271        self,
18272        id=None,
18273        name=None,
18274    ):
18275        self.id = id if id is not None else ''
18276        '''
18277         Unique identifier of the PeeringGroup.
18278        '''
18279        self.name = name if name is not None else ''
18280        '''
18281         Unique human-readable name of the PeeringGroup.
18282        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
18290    def to_dict(self):
18291        return {
18292            'id': self.id,
18293            'name': self.name,
18294        }
@classmethod
def from_dict(cls, d)
18296    @classmethod
18297    def from_dict(cls, d):
18298        return cls(
18299            id=d.get('id'),
18300            name=d.get('name'),
18301        )
class PeeringGroupCreateResponse:
18304class PeeringGroupCreateResponse:
18305    '''
18306         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
18307    '''
18308    __slots__ = [
18309        'meta',
18310        'peering_group',
18311        'rate_limit',
18312    ]
18313
18314    def __init__(
18315        self,
18316        meta=None,
18317        peering_group=None,
18318        rate_limit=None,
18319    ):
18320        self.meta = meta if meta is not None else None
18321        '''
18322         Reserved for future use.
18323        '''
18324        self.peering_group = peering_group if peering_group is not None else None
18325        '''
18326         The created PeeringGroup.
18327        '''
18328        self.rate_limit = rate_limit if rate_limit is not None else None
18329        '''
18330         Rate limit information.
18331        '''
18332
18333    def __repr__(self):
18334        return '<sdm.PeeringGroupCreateResponse ' + \
18335            'meta: ' + repr(self.meta) + ' ' +\
18336            'peering_group: ' + repr(self.peering_group) + ' ' +\
18337            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18338            '>'
18339
18340    def to_dict(self):
18341        return {
18342            'meta': self.meta,
18343            'peering_group': self.peering_group,
18344            'rate_limit': self.rate_limit,
18345        }
18346
18347    @classmethod
18348    def from_dict(cls, d):
18349        return cls(
18350            meta=d.get('meta'),
18351            peering_group=d.get('peering_group'),
18352            rate_limit=d.get('rate_limit'),
18353        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
18314    def __init__(
18315        self,
18316        meta=None,
18317        peering_group=None,
18318        rate_limit=None,
18319    ):
18320        self.meta = meta if meta is not None else None
18321        '''
18322         Reserved for future use.
18323        '''
18324        self.peering_group = peering_group if peering_group is not None else None
18325        '''
18326         The created PeeringGroup.
18327        '''
18328        self.rate_limit = rate_limit if rate_limit is not None else None
18329        '''
18330         Rate limit information.
18331        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
18340    def to_dict(self):
18341        return {
18342            'meta': self.meta,
18343            'peering_group': self.peering_group,
18344            'rate_limit': self.rate_limit,
18345        }
@classmethod
def from_dict(cls, d)
18347    @classmethod
18348    def from_dict(cls, d):
18349        return cls(
18350            meta=d.get('meta'),
18351            peering_group=d.get('peering_group'),
18352            rate_limit=d.get('rate_limit'),
18353        )
class PeeringGroupDeleteResponse:
18356class PeeringGroupDeleteResponse:
18357    '''
18358         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
18359    '''
18360    __slots__ = [
18361        'meta',
18362        'rate_limit',
18363    ]
18364
18365    def __init__(
18366        self,
18367        meta=None,
18368        rate_limit=None,
18369    ):
18370        self.meta = meta if meta is not None else None
18371        '''
18372         Reserved for future use.
18373        '''
18374        self.rate_limit = rate_limit if rate_limit is not None else None
18375        '''
18376         Rate limit information.
18377        '''
18378
18379    def __repr__(self):
18380        return '<sdm.PeeringGroupDeleteResponse ' + \
18381            'meta: ' + repr(self.meta) + ' ' +\
18382            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18383            '>'
18384
18385    def to_dict(self):
18386        return {
18387            'meta': self.meta,
18388            'rate_limit': self.rate_limit,
18389        }
18390
18391    @classmethod
18392    def from_dict(cls, d):
18393        return cls(
18394            meta=d.get('meta'),
18395            rate_limit=d.get('rate_limit'),
18396        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
18365    def __init__(
18366        self,
18367        meta=None,
18368        rate_limit=None,
18369    ):
18370        self.meta = meta if meta is not None else None
18371        '''
18372         Reserved for future use.
18373        '''
18374        self.rate_limit = rate_limit if rate_limit is not None else None
18375        '''
18376         Rate limit information.
18377        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18385    def to_dict(self):
18386        return {
18387            'meta': self.meta,
18388            'rate_limit': self.rate_limit,
18389        }
@classmethod
def from_dict(cls, d)
18391    @classmethod
18392    def from_dict(cls, d):
18393        return cls(
18394            meta=d.get('meta'),
18395            rate_limit=d.get('rate_limit'),
18396        )
class PeeringGroupGetResponse:
18399class PeeringGroupGetResponse:
18400    '''
18401         PeeringGroupGetResponse returns a requested PeeringGroup.
18402    '''
18403    __slots__ = [
18404        'meta',
18405        'peering_group',
18406        'rate_limit',
18407    ]
18408
18409    def __init__(
18410        self,
18411        meta=None,
18412        peering_group=None,
18413        rate_limit=None,
18414    ):
18415        self.meta = meta if meta is not None else None
18416        '''
18417         Reserved for future use.
18418        '''
18419        self.peering_group = peering_group if peering_group is not None else None
18420        '''
18421         The requested PeeringGroup.
18422        '''
18423        self.rate_limit = rate_limit if rate_limit is not None else None
18424        '''
18425         Rate limit information.
18426        '''
18427
18428    def __repr__(self):
18429        return '<sdm.PeeringGroupGetResponse ' + \
18430            'meta: ' + repr(self.meta) + ' ' +\
18431            'peering_group: ' + repr(self.peering_group) + ' ' +\
18432            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18433            '>'
18434
18435    def to_dict(self):
18436        return {
18437            'meta': self.meta,
18438            'peering_group': self.peering_group,
18439            'rate_limit': self.rate_limit,
18440        }
18441
18442    @classmethod
18443    def from_dict(cls, d):
18444        return cls(
18445            meta=d.get('meta'),
18446            peering_group=d.get('peering_group'),
18447            rate_limit=d.get('rate_limit'),
18448        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
18409    def __init__(
18410        self,
18411        meta=None,
18412        peering_group=None,
18413        rate_limit=None,
18414    ):
18415        self.meta = meta if meta is not None else None
18416        '''
18417         Reserved for future use.
18418        '''
18419        self.peering_group = peering_group if peering_group is not None else None
18420        '''
18421         The requested PeeringGroup.
18422        '''
18423        self.rate_limit = rate_limit if rate_limit is not None else None
18424        '''
18425         Rate limit information.
18426        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
18435    def to_dict(self):
18436        return {
18437            'meta': self.meta,
18438            'peering_group': self.peering_group,
18439            'rate_limit': self.rate_limit,
18440        }
@classmethod
def from_dict(cls, d)
18442    @classmethod
18443    def from_dict(cls, d):
18444        return cls(
18445            meta=d.get('meta'),
18446            peering_group=d.get('peering_group'),
18447            rate_limit=d.get('rate_limit'),
18448        )
class PeeringGroupNode:
18451class PeeringGroupNode:
18452    '''
18453         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
18454    '''
18455    __slots__ = [
18456        'group_id',
18457        'id',
18458        'node_id',
18459    ]
18460
18461    def __init__(
18462        self,
18463        group_id=None,
18464        id=None,
18465        node_id=None,
18466    ):
18467        self.group_id = group_id if group_id is not None else ''
18468        '''
18469         Peering Group ID to which the node will be attached to.
18470        '''
18471        self.id = id if id is not None else ''
18472        '''
18473         Unique identifier of the Attachment.
18474        '''
18475        self.node_id = node_id if node_id is not None else ''
18476        '''
18477         Node ID to be attached.
18478        '''
18479
18480    def __repr__(self):
18481        return '<sdm.PeeringGroupNode ' + \
18482            'group_id: ' + repr(self.group_id) + ' ' +\
18483            'id: ' + repr(self.id) + ' ' +\
18484            'node_id: ' + repr(self.node_id) + ' ' +\
18485            '>'
18486
18487    def to_dict(self):
18488        return {
18489            'group_id': self.group_id,
18490            'id': self.id,
18491            'node_id': self.node_id,
18492        }
18493
18494    @classmethod
18495    def from_dict(cls, d):
18496        return cls(
18497            group_id=d.get('group_id'),
18498            id=d.get('id'),
18499            node_id=d.get('node_id'),
18500        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
18461    def __init__(
18462        self,
18463        group_id=None,
18464        id=None,
18465        node_id=None,
18466    ):
18467        self.group_id = group_id if group_id is not None else ''
18468        '''
18469         Peering Group ID to which the node will be attached to.
18470        '''
18471        self.id = id if id is not None else ''
18472        '''
18473         Unique identifier of the Attachment.
18474        '''
18475        self.node_id = node_id if node_id is not None else ''
18476        '''
18477         Node ID to be attached.
18478        '''
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)
18487    def to_dict(self):
18488        return {
18489            'group_id': self.group_id,
18490            'id': self.id,
18491            'node_id': self.node_id,
18492        }
@classmethod
def from_dict(cls, d)
18494    @classmethod
18495    def from_dict(cls, d):
18496        return cls(
18497            group_id=d.get('group_id'),
18498            id=d.get('id'),
18499            node_id=d.get('node_id'),
18500        )
class PeeringGroupNodeCreateResponse:
18503class PeeringGroupNodeCreateResponse:
18504    '''
18505         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
18506    '''
18507    __slots__ = [
18508        'meta',
18509        'peering_group_node',
18510        'rate_limit',
18511    ]
18512
18513    def __init__(
18514        self,
18515        meta=None,
18516        peering_group_node=None,
18517        rate_limit=None,
18518    ):
18519        self.meta = meta if meta is not None else None
18520        '''
18521         Reserved for future use.
18522        '''
18523        self.peering_group_node = peering_group_node if peering_group_node is not None else None
18524        '''
18525         The created PeeringGroupNode.
18526        '''
18527        self.rate_limit = rate_limit if rate_limit is not None else None
18528        '''
18529         Rate limit information.
18530        '''
18531
18532    def __repr__(self):
18533        return '<sdm.PeeringGroupNodeCreateResponse ' + \
18534            'meta: ' + repr(self.meta) + ' ' +\
18535            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
18536            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18537            '>'
18538
18539    def to_dict(self):
18540        return {
18541            'meta': self.meta,
18542            'peering_group_node': self.peering_group_node,
18543            'rate_limit': self.rate_limit,
18544        }
18545
18546    @classmethod
18547    def from_dict(cls, d):
18548        return cls(
18549            meta=d.get('meta'),
18550            peering_group_node=d.get('peering_group_node'),
18551            rate_limit=d.get('rate_limit'),
18552        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
18513    def __init__(
18514        self,
18515        meta=None,
18516        peering_group_node=None,
18517        rate_limit=None,
18518    ):
18519        self.meta = meta if meta is not None else None
18520        '''
18521         Reserved for future use.
18522        '''
18523        self.peering_group_node = peering_group_node if peering_group_node is not None else None
18524        '''
18525         The created PeeringGroupNode.
18526        '''
18527        self.rate_limit = rate_limit if rate_limit is not None else None
18528        '''
18529         Rate limit information.
18530        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
18539    def to_dict(self):
18540        return {
18541            'meta': self.meta,
18542            'peering_group_node': self.peering_group_node,
18543            'rate_limit': self.rate_limit,
18544        }
@classmethod
def from_dict(cls, d)
18546    @classmethod
18547    def from_dict(cls, d):
18548        return cls(
18549            meta=d.get('meta'),
18550            peering_group_node=d.get('peering_group_node'),
18551            rate_limit=d.get('rate_limit'),
18552        )
class PeeringGroupNodeDeleteResponse:
18555class PeeringGroupNodeDeleteResponse:
18556    '''
18557         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
18558    '''
18559    __slots__ = [
18560        'meta',
18561        'rate_limit',
18562    ]
18563
18564    def __init__(
18565        self,
18566        meta=None,
18567        rate_limit=None,
18568    ):
18569        self.meta = meta if meta is not None else None
18570        '''
18571         Reserved for future use.
18572        '''
18573        self.rate_limit = rate_limit if rate_limit is not None else None
18574        '''
18575         Rate limit information.
18576        '''
18577
18578    def __repr__(self):
18579        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
18580            'meta: ' + repr(self.meta) + ' ' +\
18581            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18582            '>'
18583
18584    def to_dict(self):
18585        return {
18586            'meta': self.meta,
18587            'rate_limit': self.rate_limit,
18588        }
18589
18590    @classmethod
18591    def from_dict(cls, d):
18592        return cls(
18593            meta=d.get('meta'),
18594            rate_limit=d.get('rate_limit'),
18595        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
18564    def __init__(
18565        self,
18566        meta=None,
18567        rate_limit=None,
18568    ):
18569        self.meta = meta if meta is not None else None
18570        '''
18571         Reserved for future use.
18572        '''
18573        self.rate_limit = rate_limit if rate_limit is not None else None
18574        '''
18575         Rate limit information.
18576        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18584    def to_dict(self):
18585        return {
18586            'meta': self.meta,
18587            'rate_limit': self.rate_limit,
18588        }
@classmethod
def from_dict(cls, d)
18590    @classmethod
18591    def from_dict(cls, d):
18592        return cls(
18593            meta=d.get('meta'),
18594            rate_limit=d.get('rate_limit'),
18595        )
class PeeringGroupNodeGetResponse:
18598class PeeringGroupNodeGetResponse:
18599    '''
18600         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
18601    '''
18602    __slots__ = [
18603        'meta',
18604        'peering_group_node',
18605        'rate_limit',
18606    ]
18607
18608    def __init__(
18609        self,
18610        meta=None,
18611        peering_group_node=None,
18612        rate_limit=None,
18613    ):
18614        self.meta = meta if meta is not None else None
18615        '''
18616         Reserved for future use.
18617        '''
18618        self.peering_group_node = peering_group_node if peering_group_node is not None else None
18619        '''
18620         The requested PeeringGroupNode.
18621        '''
18622        self.rate_limit = rate_limit if rate_limit is not None else None
18623        '''
18624         Rate limit information.
18625        '''
18626
18627    def __repr__(self):
18628        return '<sdm.PeeringGroupNodeGetResponse ' + \
18629            'meta: ' + repr(self.meta) + ' ' +\
18630            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
18631            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18632            '>'
18633
18634    def to_dict(self):
18635        return {
18636            'meta': self.meta,
18637            'peering_group_node': self.peering_group_node,
18638            'rate_limit': self.rate_limit,
18639        }
18640
18641    @classmethod
18642    def from_dict(cls, d):
18643        return cls(
18644            meta=d.get('meta'),
18645            peering_group_node=d.get('peering_group_node'),
18646            rate_limit=d.get('rate_limit'),
18647        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
18608    def __init__(
18609        self,
18610        meta=None,
18611        peering_group_node=None,
18612        rate_limit=None,
18613    ):
18614        self.meta = meta if meta is not None else None
18615        '''
18616         Reserved for future use.
18617        '''
18618        self.peering_group_node = peering_group_node if peering_group_node is not None else None
18619        '''
18620         The requested PeeringGroupNode.
18621        '''
18622        self.rate_limit = rate_limit if rate_limit is not None else None
18623        '''
18624         Rate limit information.
18625        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
18634    def to_dict(self):
18635        return {
18636            'meta': self.meta,
18637            'peering_group_node': self.peering_group_node,
18638            'rate_limit': self.rate_limit,
18639        }
@classmethod
def from_dict(cls, d)
18641    @classmethod
18642    def from_dict(cls, d):
18643        return cls(
18644            meta=d.get('meta'),
18645            peering_group_node=d.get('peering_group_node'),
18646            rate_limit=d.get('rate_limit'),
18647        )
class PeeringGroupPeer:
18650class PeeringGroupPeer:
18651    '''
18652         PeeringGroupPeer represents the link between two PeeringGroups
18653    '''
18654    __slots__ = [
18655        'group_id',
18656        'id',
18657        'peers_with_group_id',
18658    ]
18659
18660    def __init__(
18661        self,
18662        group_id=None,
18663        id=None,
18664        peers_with_group_id=None,
18665    ):
18666        self.group_id = group_id if group_id is not None else ''
18667        '''
18668         Group ID from which the link will originate.
18669        '''
18670        self.id = id if id is not None else ''
18671        '''
18672         Unique identifier of the Attachment.
18673        '''
18674        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
18675        '''
18676         Peering Group ID to which Group ID will link.
18677        '''
18678
18679    def __repr__(self):
18680        return '<sdm.PeeringGroupPeer ' + \
18681            'group_id: ' + repr(self.group_id) + ' ' +\
18682            'id: ' + repr(self.id) + ' ' +\
18683            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
18684            '>'
18685
18686    def to_dict(self):
18687        return {
18688            'group_id': self.group_id,
18689            'id': self.id,
18690            'peers_with_group_id': self.peers_with_group_id,
18691        }
18692
18693    @classmethod
18694    def from_dict(cls, d):
18695        return cls(
18696            group_id=d.get('group_id'),
18697            id=d.get('id'),
18698            peers_with_group_id=d.get('peers_with_group_id'),
18699        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
18660    def __init__(
18661        self,
18662        group_id=None,
18663        id=None,
18664        peers_with_group_id=None,
18665    ):
18666        self.group_id = group_id if group_id is not None else ''
18667        '''
18668         Group ID from which the link will originate.
18669        '''
18670        self.id = id if id is not None else ''
18671        '''
18672         Unique identifier of the Attachment.
18673        '''
18674        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
18675        '''
18676         Peering Group ID to which Group ID will link.
18677        '''
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)
18686    def to_dict(self):
18687        return {
18688            'group_id': self.group_id,
18689            'id': self.id,
18690            'peers_with_group_id': self.peers_with_group_id,
18691        }
@classmethod
def from_dict(cls, d)
18693    @classmethod
18694    def from_dict(cls, d):
18695        return cls(
18696            group_id=d.get('group_id'),
18697            id=d.get('id'),
18698            peers_with_group_id=d.get('peers_with_group_id'),
18699        )
class PeeringGroupPeerCreateResponse:
18702class PeeringGroupPeerCreateResponse:
18703    '''
18704         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
18705    '''
18706    __slots__ = [
18707        'meta',
18708        'peering_group_peer',
18709        'rate_limit',
18710    ]
18711
18712    def __init__(
18713        self,
18714        meta=None,
18715        peering_group_peer=None,
18716        rate_limit=None,
18717    ):
18718        self.meta = meta if meta is not None else None
18719        '''
18720         Reserved for future use.
18721        '''
18722        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
18723        '''
18724         The created PeeringGroupPeer.
18725        '''
18726        self.rate_limit = rate_limit if rate_limit is not None else None
18727        '''
18728         Rate limit information.
18729        '''
18730
18731    def __repr__(self):
18732        return '<sdm.PeeringGroupPeerCreateResponse ' + \
18733            'meta: ' + repr(self.meta) + ' ' +\
18734            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
18735            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18736            '>'
18737
18738    def to_dict(self):
18739        return {
18740            'meta': self.meta,
18741            'peering_group_peer': self.peering_group_peer,
18742            'rate_limit': self.rate_limit,
18743        }
18744
18745    @classmethod
18746    def from_dict(cls, d):
18747        return cls(
18748            meta=d.get('meta'),
18749            peering_group_peer=d.get('peering_group_peer'),
18750            rate_limit=d.get('rate_limit'),
18751        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
18712    def __init__(
18713        self,
18714        meta=None,
18715        peering_group_peer=None,
18716        rate_limit=None,
18717    ):
18718        self.meta = meta if meta is not None else None
18719        '''
18720         Reserved for future use.
18721        '''
18722        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
18723        '''
18724         The created PeeringGroupPeer.
18725        '''
18726        self.rate_limit = rate_limit if rate_limit is not None else None
18727        '''
18728         Rate limit information.
18729        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
18738    def to_dict(self):
18739        return {
18740            'meta': self.meta,
18741            'peering_group_peer': self.peering_group_peer,
18742            'rate_limit': self.rate_limit,
18743        }
@classmethod
def from_dict(cls, d)
18745    @classmethod
18746    def from_dict(cls, d):
18747        return cls(
18748            meta=d.get('meta'),
18749            peering_group_peer=d.get('peering_group_peer'),
18750            rate_limit=d.get('rate_limit'),
18751        )
class PeeringGroupPeerDeleteResponse:
18754class PeeringGroupPeerDeleteResponse:
18755    '''
18756         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
18757    '''
18758    __slots__ = [
18759        'meta',
18760        'rate_limit',
18761    ]
18762
18763    def __init__(
18764        self,
18765        meta=None,
18766        rate_limit=None,
18767    ):
18768        self.meta = meta if meta is not None else None
18769        '''
18770         Reserved for future use.
18771        '''
18772        self.rate_limit = rate_limit if rate_limit is not None else None
18773        '''
18774         Rate limit information.
18775        '''
18776
18777    def __repr__(self):
18778        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
18779            'meta: ' + repr(self.meta) + ' ' +\
18780            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18781            '>'
18782
18783    def to_dict(self):
18784        return {
18785            'meta': self.meta,
18786            'rate_limit': self.rate_limit,
18787        }
18788
18789    @classmethod
18790    def from_dict(cls, d):
18791        return cls(
18792            meta=d.get('meta'),
18793            rate_limit=d.get('rate_limit'),
18794        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
18763    def __init__(
18764        self,
18765        meta=None,
18766        rate_limit=None,
18767    ):
18768        self.meta = meta if meta is not None else None
18769        '''
18770         Reserved for future use.
18771        '''
18772        self.rate_limit = rate_limit if rate_limit is not None else None
18773        '''
18774         Rate limit information.
18775        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18783    def to_dict(self):
18784        return {
18785            'meta': self.meta,
18786            'rate_limit': self.rate_limit,
18787        }
@classmethod
def from_dict(cls, d)
18789    @classmethod
18790    def from_dict(cls, d):
18791        return cls(
18792            meta=d.get('meta'),
18793            rate_limit=d.get('rate_limit'),
18794        )
class PeeringGroupPeerGetResponse:
18797class PeeringGroupPeerGetResponse:
18798    '''
18799         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
18800    '''
18801    __slots__ = [
18802        'meta',
18803        'peering_group_peer',
18804        'rate_limit',
18805    ]
18806
18807    def __init__(
18808        self,
18809        meta=None,
18810        peering_group_peer=None,
18811        rate_limit=None,
18812    ):
18813        self.meta = meta if meta is not None else None
18814        '''
18815         Reserved for future use.
18816        '''
18817        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
18818        '''
18819         The requested PeeringGroupPeer.
18820        '''
18821        self.rate_limit = rate_limit if rate_limit is not None else None
18822        '''
18823         Rate limit information.
18824        '''
18825
18826    def __repr__(self):
18827        return '<sdm.PeeringGroupPeerGetResponse ' + \
18828            'meta: ' + repr(self.meta) + ' ' +\
18829            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
18830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18831            '>'
18832
18833    def to_dict(self):
18834        return {
18835            'meta': self.meta,
18836            'peering_group_peer': self.peering_group_peer,
18837            'rate_limit': self.rate_limit,
18838        }
18839
18840    @classmethod
18841    def from_dict(cls, d):
18842        return cls(
18843            meta=d.get('meta'),
18844            peering_group_peer=d.get('peering_group_peer'),
18845            rate_limit=d.get('rate_limit'),
18846        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
18807    def __init__(
18808        self,
18809        meta=None,
18810        peering_group_peer=None,
18811        rate_limit=None,
18812    ):
18813        self.meta = meta if meta is not None else None
18814        '''
18815         Reserved for future use.
18816        '''
18817        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
18818        '''
18819         The requested PeeringGroupPeer.
18820        '''
18821        self.rate_limit = rate_limit if rate_limit is not None else None
18822        '''
18823         Rate limit information.
18824        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
18833    def to_dict(self):
18834        return {
18835            'meta': self.meta,
18836            'peering_group_peer': self.peering_group_peer,
18837            'rate_limit': self.rate_limit,
18838        }
@classmethod
def from_dict(cls, d)
18840    @classmethod
18841    def from_dict(cls, d):
18842        return cls(
18843            meta=d.get('meta'),
18844            peering_group_peer=d.get('peering_group_peer'),
18845            rate_limit=d.get('rate_limit'),
18846        )
class PeeringGroupResource:
18849class PeeringGroupResource:
18850    '''
18851         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
18852    '''
18853    __slots__ = [
18854        'group_id',
18855        'id',
18856        'resource_id',
18857    ]
18858
18859    def __init__(
18860        self,
18861        group_id=None,
18862        id=None,
18863        resource_id=None,
18864    ):
18865        self.group_id = group_id if group_id is not None else ''
18866        '''
18867         Peering Group ID to which the resource will be attached to.
18868        '''
18869        self.id = id if id is not None else ''
18870        '''
18871         Unique identifier of the Attachment.
18872        '''
18873        self.resource_id = resource_id if resource_id is not None else ''
18874        '''
18875         Resource ID to be attached.
18876        '''
18877
18878    def __repr__(self):
18879        return '<sdm.PeeringGroupResource ' + \
18880            'group_id: ' + repr(self.group_id) + ' ' +\
18881            'id: ' + repr(self.id) + ' ' +\
18882            'resource_id: ' + repr(self.resource_id) + ' ' +\
18883            '>'
18884
18885    def to_dict(self):
18886        return {
18887            'group_id': self.group_id,
18888            'id': self.id,
18889            'resource_id': self.resource_id,
18890        }
18891
18892    @classmethod
18893    def from_dict(cls, d):
18894        return cls(
18895            group_id=d.get('group_id'),
18896            id=d.get('id'),
18897            resource_id=d.get('resource_id'),
18898        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
18859    def __init__(
18860        self,
18861        group_id=None,
18862        id=None,
18863        resource_id=None,
18864    ):
18865        self.group_id = group_id if group_id is not None else ''
18866        '''
18867         Peering Group ID to which the resource will be attached to.
18868        '''
18869        self.id = id if id is not None else ''
18870        '''
18871         Unique identifier of the Attachment.
18872        '''
18873        self.resource_id = resource_id if resource_id is not None else ''
18874        '''
18875         Resource ID to be attached.
18876        '''
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)
18885    def to_dict(self):
18886        return {
18887            'group_id': self.group_id,
18888            'id': self.id,
18889            'resource_id': self.resource_id,
18890        }
@classmethod
def from_dict(cls, d)
18892    @classmethod
18893    def from_dict(cls, d):
18894        return cls(
18895            group_id=d.get('group_id'),
18896            id=d.get('id'),
18897            resource_id=d.get('resource_id'),
18898        )
class PeeringGroupResourceCreateResponse:
18901class PeeringGroupResourceCreateResponse:
18902    '''
18903         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
18904    '''
18905    __slots__ = [
18906        'meta',
18907        'peering_group_resource',
18908        'rate_limit',
18909    ]
18910
18911    def __init__(
18912        self,
18913        meta=None,
18914        peering_group_resource=None,
18915        rate_limit=None,
18916    ):
18917        self.meta = meta if meta is not None else None
18918        '''
18919         Reserved for future use.
18920        '''
18921        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
18922        '''
18923         The created PeeringGroupResource.
18924        '''
18925        self.rate_limit = rate_limit if rate_limit is not None else None
18926        '''
18927         Rate limit information.
18928        '''
18929
18930    def __repr__(self):
18931        return '<sdm.PeeringGroupResourceCreateResponse ' + \
18932            'meta: ' + repr(self.meta) + ' ' +\
18933            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
18934            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18935            '>'
18936
18937    def to_dict(self):
18938        return {
18939            'meta': self.meta,
18940            'peering_group_resource': self.peering_group_resource,
18941            'rate_limit': self.rate_limit,
18942        }
18943
18944    @classmethod
18945    def from_dict(cls, d):
18946        return cls(
18947            meta=d.get('meta'),
18948            peering_group_resource=d.get('peering_group_resource'),
18949            rate_limit=d.get('rate_limit'),
18950        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
18911    def __init__(
18912        self,
18913        meta=None,
18914        peering_group_resource=None,
18915        rate_limit=None,
18916    ):
18917        self.meta = meta if meta is not None else None
18918        '''
18919         Reserved for future use.
18920        '''
18921        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
18922        '''
18923         The created PeeringGroupResource.
18924        '''
18925        self.rate_limit = rate_limit if rate_limit is not None else None
18926        '''
18927         Rate limit information.
18928        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
18937    def to_dict(self):
18938        return {
18939            'meta': self.meta,
18940            'peering_group_resource': self.peering_group_resource,
18941            'rate_limit': self.rate_limit,
18942        }
@classmethod
def from_dict(cls, d)
18944    @classmethod
18945    def from_dict(cls, d):
18946        return cls(
18947            meta=d.get('meta'),
18948            peering_group_resource=d.get('peering_group_resource'),
18949            rate_limit=d.get('rate_limit'),
18950        )
class PeeringGroupResourceDeleteResponse:
18953class PeeringGroupResourceDeleteResponse:
18954    '''
18955         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
18956    '''
18957    __slots__ = [
18958        'meta',
18959        'rate_limit',
18960    ]
18961
18962    def __init__(
18963        self,
18964        meta=None,
18965        rate_limit=None,
18966    ):
18967        self.meta = meta if meta is not None else None
18968        '''
18969         Reserved for future use.
18970        '''
18971        self.rate_limit = rate_limit if rate_limit is not None else None
18972        '''
18973         Rate limit information.
18974        '''
18975
18976    def __repr__(self):
18977        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
18978            'meta: ' + repr(self.meta) + ' ' +\
18979            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18980            '>'
18981
18982    def to_dict(self):
18983        return {
18984            'meta': self.meta,
18985            'rate_limit': self.rate_limit,
18986        }
18987
18988    @classmethod
18989    def from_dict(cls, d):
18990        return cls(
18991            meta=d.get('meta'),
18992            rate_limit=d.get('rate_limit'),
18993        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
18962    def __init__(
18963        self,
18964        meta=None,
18965        rate_limit=None,
18966    ):
18967        self.meta = meta if meta is not None else None
18968        '''
18969         Reserved for future use.
18970        '''
18971        self.rate_limit = rate_limit if rate_limit is not None else None
18972        '''
18973         Rate limit information.
18974        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18982    def to_dict(self):
18983        return {
18984            'meta': self.meta,
18985            'rate_limit': self.rate_limit,
18986        }
@classmethod
def from_dict(cls, d)
18988    @classmethod
18989    def from_dict(cls, d):
18990        return cls(
18991            meta=d.get('meta'),
18992            rate_limit=d.get('rate_limit'),
18993        )
class PeeringGroupResourceGetResponse:
18996class PeeringGroupResourceGetResponse:
18997    '''
18998         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
18999    '''
19000    __slots__ = [
19001        'meta',
19002        'peering_group_resource',
19003        'rate_limit',
19004    ]
19005
19006    def __init__(
19007        self,
19008        meta=None,
19009        peering_group_resource=None,
19010        rate_limit=None,
19011    ):
19012        self.meta = meta if meta is not None else None
19013        '''
19014         Reserved for future use.
19015        '''
19016        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
19017        '''
19018         The requested PeeringGroupResource.
19019        '''
19020        self.rate_limit = rate_limit if rate_limit is not None else None
19021        '''
19022         Rate limit information.
19023        '''
19024
19025    def __repr__(self):
19026        return '<sdm.PeeringGroupResourceGetResponse ' + \
19027            'meta: ' + repr(self.meta) + ' ' +\
19028            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
19029            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19030            '>'
19031
19032    def to_dict(self):
19033        return {
19034            'meta': self.meta,
19035            'peering_group_resource': self.peering_group_resource,
19036            'rate_limit': self.rate_limit,
19037        }
19038
19039    @classmethod
19040    def from_dict(cls, d):
19041        return cls(
19042            meta=d.get('meta'),
19043            peering_group_resource=d.get('peering_group_resource'),
19044            rate_limit=d.get('rate_limit'),
19045        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
19006    def __init__(
19007        self,
19008        meta=None,
19009        peering_group_resource=None,
19010        rate_limit=None,
19011    ):
19012        self.meta = meta if meta is not None else None
19013        '''
19014         Reserved for future use.
19015        '''
19016        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
19017        '''
19018         The requested PeeringGroupResource.
19019        '''
19020        self.rate_limit = rate_limit if rate_limit is not None else None
19021        '''
19022         Rate limit information.
19023        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
19032    def to_dict(self):
19033        return {
19034            'meta': self.meta,
19035            'peering_group_resource': self.peering_group_resource,
19036            'rate_limit': self.rate_limit,
19037        }
@classmethod
def from_dict(cls, d)
19039    @classmethod
19040    def from_dict(cls, d):
19041        return cls(
19042            meta=d.get('meta'),
19043            peering_group_resource=d.get('peering_group_resource'),
19044            rate_limit=d.get('rate_limit'),
19045        )
class Policy:
19048class Policy:
19049    '''
19050         Policy is a collection of one or more statements that enforce fine-grained access control
19051     for the users of an organization.
19052    '''
19053    __slots__ = [
19054        'description',
19055        'id',
19056        'name',
19057        'policy',
19058    ]
19059
19060    def __init__(
19061        self,
19062        description=None,
19063        id=None,
19064        name=None,
19065        policy=None,
19066    ):
19067        self.description = description if description is not None else ''
19068        '''
19069         Optional description of the Policy.
19070        '''
19071        self.id = id if id is not None else ''
19072        '''
19073         Unique identifier of the Policy.
19074        '''
19075        self.name = name if name is not None else ''
19076        '''
19077         Unique human-readable name of the Policy.
19078        '''
19079        self.policy = policy if policy is not None else ''
19080        '''
19081         The content of the Policy, in Cedar policy language.
19082        '''
19083
19084    def __repr__(self):
19085        return '<sdm.Policy ' + \
19086            'description: ' + repr(self.description) + ' ' +\
19087            'id: ' + repr(self.id) + ' ' +\
19088            'name: ' + repr(self.name) + ' ' +\
19089            'policy: ' + repr(self.policy) + ' ' +\
19090            '>'
19091
19092    def to_dict(self):
19093        return {
19094            'description': self.description,
19095            'id': self.id,
19096            'name': self.name,
19097            'policy': self.policy,
19098        }
19099
19100    @classmethod
19101    def from_dict(cls, d):
19102        return cls(
19103            description=d.get('description'),
19104            id=d.get('id'),
19105            name=d.get('name'),
19106            policy=d.get('policy'),
19107        )

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)
19060    def __init__(
19061        self,
19062        description=None,
19063        id=None,
19064        name=None,
19065        policy=None,
19066    ):
19067        self.description = description if description is not None else ''
19068        '''
19069         Optional description of the Policy.
19070        '''
19071        self.id = id if id is not None else ''
19072        '''
19073         Unique identifier of the Policy.
19074        '''
19075        self.name = name if name is not None else ''
19076        '''
19077         Unique human-readable name of the Policy.
19078        '''
19079        self.policy = policy if policy is not None else ''
19080        '''
19081         The content of the Policy, in Cedar policy language.
19082        '''
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)
19092    def to_dict(self):
19093        return {
19094            'description': self.description,
19095            'id': self.id,
19096            'name': self.name,
19097            'policy': self.policy,
19098        }
@classmethod
def from_dict(cls, d)
19100    @classmethod
19101    def from_dict(cls, d):
19102        return cls(
19103            description=d.get('description'),
19104            id=d.get('id'),
19105            name=d.get('name'),
19106            policy=d.get('policy'),
19107        )
class PolicyCreateResponse:
19110class PolicyCreateResponse:
19111    '''
19112         PolicyCreateResponse reports how the Policy was created in the system.
19113    '''
19114    __slots__ = [
19115        'policy',
19116        'rate_limit',
19117    ]
19118
19119    def __init__(
19120        self,
19121        policy=None,
19122        rate_limit=None,
19123    ):
19124        self.policy = policy if policy is not None else None
19125        '''
19126         The created Policy.
19127        '''
19128        self.rate_limit = rate_limit if rate_limit is not None else None
19129        '''
19130         Rate limit information.
19131        '''
19132
19133    def __repr__(self):
19134        return '<sdm.PolicyCreateResponse ' + \
19135            'policy: ' + repr(self.policy) + ' ' +\
19136            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19137            '>'
19138
19139    def to_dict(self):
19140        return {
19141            'policy': self.policy,
19142            'rate_limit': self.rate_limit,
19143        }
19144
19145    @classmethod
19146    def from_dict(cls, d):
19147        return cls(
19148            policy=d.get('policy'),
19149            rate_limit=d.get('rate_limit'),
19150        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
19119    def __init__(
19120        self,
19121        policy=None,
19122        rate_limit=None,
19123    ):
19124        self.policy = policy if policy is not None else None
19125        '''
19126         The created Policy.
19127        '''
19128        self.rate_limit = rate_limit if rate_limit is not None else None
19129        '''
19130         Rate limit information.
19131        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
19139    def to_dict(self):
19140        return {
19141            'policy': self.policy,
19142            'rate_limit': self.rate_limit,
19143        }
@classmethod
def from_dict(cls, d)
19145    @classmethod
19146    def from_dict(cls, d):
19147        return cls(
19148            policy=d.get('policy'),
19149            rate_limit=d.get('rate_limit'),
19150        )
class PolicyDeleteResponse:
19153class PolicyDeleteResponse:
19154    '''
19155         PolicyDeleteResponse returns information about a Policy that was deleted.
19156    '''
19157    __slots__ = [
19158        'rate_limit',
19159    ]
19160
19161    def __init__(
19162        self,
19163        rate_limit=None,
19164    ):
19165        self.rate_limit = rate_limit if rate_limit is not None else None
19166        '''
19167         Rate limit information.
19168        '''
19169
19170    def __repr__(self):
19171        return '<sdm.PolicyDeleteResponse ' + \
19172            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19173            '>'
19174
19175    def to_dict(self):
19176        return {
19177            'rate_limit': self.rate_limit,
19178        }
19179
19180    @classmethod
19181    def from_dict(cls, d):
19182        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
19161    def __init__(
19162        self,
19163        rate_limit=None,
19164    ):
19165        self.rate_limit = rate_limit if rate_limit is not None else None
19166        '''
19167         Rate limit information.
19168        '''
rate_limit

Rate limit information.

def to_dict(self)
19175    def to_dict(self):
19176        return {
19177            'rate_limit': self.rate_limit,
19178        }
@classmethod
def from_dict(cls, d)
19180    @classmethod
19181    def from_dict(cls, d):
19182        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
19185class PolicyGetResponse:
19186    '''
19187         PolicyGetResponse returns a requested Policy.
19188    '''
19189    __slots__ = [
19190        'meta',
19191        'policy',
19192        'rate_limit',
19193    ]
19194
19195    def __init__(
19196        self,
19197        meta=None,
19198        policy=None,
19199        rate_limit=None,
19200    ):
19201        self.meta = meta if meta is not None else None
19202        '''
19203         Reserved for future use.
19204        '''
19205        self.policy = policy if policy is not None else None
19206        '''
19207         The requested Policy.
19208        '''
19209        self.rate_limit = rate_limit if rate_limit is not None else None
19210        '''
19211         Rate limit information.
19212        '''
19213
19214    def __repr__(self):
19215        return '<sdm.PolicyGetResponse ' + \
19216            'meta: ' + repr(self.meta) + ' ' +\
19217            'policy: ' + repr(self.policy) + ' ' +\
19218            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19219            '>'
19220
19221    def to_dict(self):
19222        return {
19223            'meta': self.meta,
19224            'policy': self.policy,
19225            'rate_limit': self.rate_limit,
19226        }
19227
19228    @classmethod
19229    def from_dict(cls, d):
19230        return cls(
19231            meta=d.get('meta'),
19232            policy=d.get('policy'),
19233            rate_limit=d.get('rate_limit'),
19234        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
19195    def __init__(
19196        self,
19197        meta=None,
19198        policy=None,
19199        rate_limit=None,
19200    ):
19201        self.meta = meta if meta is not None else None
19202        '''
19203         Reserved for future use.
19204        '''
19205        self.policy = policy if policy is not None else None
19206        '''
19207         The requested Policy.
19208        '''
19209        self.rate_limit = rate_limit if rate_limit is not None else None
19210        '''
19211         Rate limit information.
19212        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
19221    def to_dict(self):
19222        return {
19223            'meta': self.meta,
19224            'policy': self.policy,
19225            'rate_limit': self.rate_limit,
19226        }
@classmethod
def from_dict(cls, d)
19228    @classmethod
19229    def from_dict(cls, d):
19230        return cls(
19231            meta=d.get('meta'),
19232            policy=d.get('policy'),
19233            rate_limit=d.get('rate_limit'),
19234        )
class PolicyHistory:
19237class PolicyHistory:
19238    '''
19239         PolicyHistory records the state of a Policy at a given point in time,
19240     where every change (create, update and delete) to a Policy produces a
19241     PolicyHistory record.
19242    '''
19243    __slots__ = [
19244        'activity_id',
19245        'deleted_at',
19246        'policy',
19247        'timestamp',
19248    ]
19249
19250    def __init__(
19251        self,
19252        activity_id=None,
19253        deleted_at=None,
19254        policy=None,
19255        timestamp=None,
19256    ):
19257        self.activity_id = activity_id if activity_id is not None else ''
19258        '''
19259         The unique identifier of the Activity that produced this change to the Policy.
19260         May be empty for some system-initiated updates.
19261        '''
19262        self.deleted_at = deleted_at if deleted_at is not None else None
19263        '''
19264         If this Policy was deleted, the time it was deleted.
19265        '''
19266        self.policy = policy if policy is not None else None
19267        '''
19268         The complete Policy state at this time.
19269        '''
19270        self.timestamp = timestamp if timestamp is not None else None
19271        '''
19272         The time at which the Policy state was recorded.
19273        '''
19274
19275    def __repr__(self):
19276        return '<sdm.PolicyHistory ' + \
19277            'activity_id: ' + repr(self.activity_id) + ' ' +\
19278            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19279            'policy: ' + repr(self.policy) + ' ' +\
19280            'timestamp: ' + repr(self.timestamp) + ' ' +\
19281            '>'
19282
19283    def to_dict(self):
19284        return {
19285            'activity_id': self.activity_id,
19286            'deleted_at': self.deleted_at,
19287            'policy': self.policy,
19288            'timestamp': self.timestamp,
19289        }
19290
19291    @classmethod
19292    def from_dict(cls, d):
19293        return cls(
19294            activity_id=d.get('activity_id'),
19295            deleted_at=d.get('deleted_at'),
19296            policy=d.get('policy'),
19297            timestamp=d.get('timestamp'),
19298        )

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)
19250    def __init__(
19251        self,
19252        activity_id=None,
19253        deleted_at=None,
19254        policy=None,
19255        timestamp=None,
19256    ):
19257        self.activity_id = activity_id if activity_id is not None else ''
19258        '''
19259         The unique identifier of the Activity that produced this change to the Policy.
19260         May be empty for some system-initiated updates.
19261        '''
19262        self.deleted_at = deleted_at if deleted_at is not None else None
19263        '''
19264         If this Policy was deleted, the time it was deleted.
19265        '''
19266        self.policy = policy if policy is not None else None
19267        '''
19268         The complete Policy state at this time.
19269        '''
19270        self.timestamp = timestamp if timestamp is not None else None
19271        '''
19272         The time at which the Policy state was recorded.
19273        '''
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)
19283    def to_dict(self):
19284        return {
19285            'activity_id': self.activity_id,
19286            'deleted_at': self.deleted_at,
19287            'policy': self.policy,
19288            'timestamp': self.timestamp,
19289        }
@classmethod
def from_dict(cls, d)
19291    @classmethod
19292    def from_dict(cls, d):
19293        return cls(
19294            activity_id=d.get('activity_id'),
19295            deleted_at=d.get('deleted_at'),
19296            policy=d.get('policy'),
19297            timestamp=d.get('timestamp'),
19298        )
class PolicyListResponse:
19301class PolicyListResponse:
19302    '''
19303         PolicyListResponse returns a list of Policy records that meet
19304     the criteria of a PolicyListRequest.
19305    '''
19306    __slots__ = [
19307        'rate_limit',
19308    ]
19309
19310    def __init__(
19311        self,
19312        rate_limit=None,
19313    ):
19314        self.rate_limit = rate_limit if rate_limit is not None else None
19315        '''
19316         Rate limit information.
19317        '''
19318
19319    def __repr__(self):
19320        return '<sdm.PolicyListResponse ' + \
19321            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19322            '>'
19323
19324    def to_dict(self):
19325        return {
19326            'rate_limit': self.rate_limit,
19327        }
19328
19329    @classmethod
19330    def from_dict(cls, d):
19331        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)
19310    def __init__(
19311        self,
19312        rate_limit=None,
19313    ):
19314        self.rate_limit = rate_limit if rate_limit is not None else None
19315        '''
19316         Rate limit information.
19317        '''
rate_limit

Rate limit information.

def to_dict(self)
19324    def to_dict(self):
19325        return {
19326            'rate_limit': self.rate_limit,
19327        }
@classmethod
def from_dict(cls, d)
19329    @classmethod
19330    def from_dict(cls, d):
19331        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
19334class PolicyUpdateResponse:
19335    '''
19336         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
19337     a PolicyUpdateRequest.
19338    '''
19339    __slots__ = [
19340        'policy',
19341        'rate_limit',
19342    ]
19343
19344    def __init__(
19345        self,
19346        policy=None,
19347        rate_limit=None,
19348    ):
19349        self.policy = policy if policy is not None else None
19350        '''
19351         The updated Policy.
19352        '''
19353        self.rate_limit = rate_limit if rate_limit is not None else None
19354        '''
19355         Rate limit information.
19356        '''
19357
19358    def __repr__(self):
19359        return '<sdm.PolicyUpdateResponse ' + \
19360            'policy: ' + repr(self.policy) + ' ' +\
19361            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19362            '>'
19363
19364    def to_dict(self):
19365        return {
19366            'policy': self.policy,
19367            'rate_limit': self.rate_limit,
19368        }
19369
19370    @classmethod
19371    def from_dict(cls, d):
19372        return cls(
19373            policy=d.get('policy'),
19374            rate_limit=d.get('rate_limit'),
19375        )

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

PolicyUpdateResponse(policy=None, rate_limit=None)
19344    def __init__(
19345        self,
19346        policy=None,
19347        rate_limit=None,
19348    ):
19349        self.policy = policy if policy is not None else None
19350        '''
19351         The updated Policy.
19352        '''
19353        self.rate_limit = rate_limit if rate_limit is not None else None
19354        '''
19355         Rate limit information.
19356        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
19364    def to_dict(self):
19365        return {
19366            'policy': self.policy,
19367            'rate_limit': self.rate_limit,
19368        }
@classmethod
def from_dict(cls, d)
19370    @classmethod
19371    def from_dict(cls, d):
19372        return cls(
19373            policy=d.get('policy'),
19374            rate_limit=d.get('rate_limit'),
19375        )
class Postgres:
19378class Postgres:
19379    __slots__ = [
19380        'bind_interface',
19381        'database',
19382        'egress_filter',
19383        'healthy',
19384        'hostname',
19385        'id',
19386        'name',
19387        'override_database',
19388        'password',
19389        'port',
19390        'port_override',
19391        'proxy_cluster_id',
19392        'secret_store_id',
19393        'subdomain',
19394        'tags',
19395        'username',
19396    ]
19397
19398    def __init__(
19399        self,
19400        bind_interface=None,
19401        database=None,
19402        egress_filter=None,
19403        healthy=None,
19404        hostname=None,
19405        id=None,
19406        name=None,
19407        override_database=None,
19408        password=None,
19409        port=None,
19410        port_override=None,
19411        proxy_cluster_id=None,
19412        secret_store_id=None,
19413        subdomain=None,
19414        tags=None,
19415        username=None,
19416    ):
19417        self.bind_interface = bind_interface if bind_interface is not None else ''
19418        '''
19419         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19420        '''
19421        self.database = database if database is not None else ''
19422        '''
19423         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19424        '''
19425        self.egress_filter = egress_filter if egress_filter is not None else ''
19426        '''
19427         A filter applied to the routing logic to pin datasource to nodes.
19428        '''
19429        self.healthy = healthy if healthy is not None else False
19430        '''
19431         True if the datasource is reachable and the credentials are valid.
19432        '''
19433        self.hostname = hostname if hostname is not None else ''
19434        '''
19435         The host to dial to initiate a connection from the egress node to this resource.
19436        '''
19437        self.id = id if id is not None else ''
19438        '''
19439         Unique identifier of the Resource.
19440        '''
19441        self.name = name if name is not None else ''
19442        '''
19443         Unique human-readable name of the Resource.
19444        '''
19445        self.override_database = override_database if override_database is not None else False
19446        '''
19447         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.
19448        '''
19449        self.password = password if password is not None else ''
19450        '''
19451         The password to authenticate with.
19452        '''
19453        self.port = port if port is not None else 0
19454        '''
19455         The port to dial to initiate a connection from the egress node to this resource.
19456        '''
19457        self.port_override = port_override if port_override is not None else 0
19458        '''
19459         The local port used by clients to connect to this resource.
19460        '''
19461        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19462        '''
19463         ID of the proxy cluster for this resource, if any.
19464        '''
19465        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19466        '''
19467         ID of the secret store containing credentials for this resource, if any.
19468        '''
19469        self.subdomain = subdomain if subdomain is not None else ''
19470        '''
19471         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19472        '''
19473        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19474        '''
19475         Tags is a map of key, value pairs.
19476        '''
19477        self.username = username if username is not None else ''
19478        '''
19479         The username to authenticate with.
19480        '''
19481
19482    def __repr__(self):
19483        return '<sdm.Postgres ' + \
19484            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19485            'database: ' + repr(self.database) + ' ' +\
19486            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19487            'healthy: ' + repr(self.healthy) + ' ' +\
19488            'hostname: ' + repr(self.hostname) + ' ' +\
19489            'id: ' + repr(self.id) + ' ' +\
19490            'name: ' + repr(self.name) + ' ' +\
19491            'override_database: ' + repr(self.override_database) + ' ' +\
19492            'password: ' + repr(self.password) + ' ' +\
19493            'port: ' + repr(self.port) + ' ' +\
19494            'port_override: ' + repr(self.port_override) + ' ' +\
19495            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19496            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19497            'subdomain: ' + repr(self.subdomain) + ' ' +\
19498            'tags: ' + repr(self.tags) + ' ' +\
19499            'username: ' + repr(self.username) + ' ' +\
19500            '>'
19501
19502    def to_dict(self):
19503        return {
19504            'bind_interface': self.bind_interface,
19505            'database': self.database,
19506            'egress_filter': self.egress_filter,
19507            'healthy': self.healthy,
19508            'hostname': self.hostname,
19509            'id': self.id,
19510            'name': self.name,
19511            'override_database': self.override_database,
19512            'password': self.password,
19513            'port': self.port,
19514            'port_override': self.port_override,
19515            'proxy_cluster_id': self.proxy_cluster_id,
19516            'secret_store_id': self.secret_store_id,
19517            'subdomain': self.subdomain,
19518            'tags': self.tags,
19519            'username': self.username,
19520        }
19521
19522    @classmethod
19523    def from_dict(cls, d):
19524        return cls(
19525            bind_interface=d.get('bind_interface'),
19526            database=d.get('database'),
19527            egress_filter=d.get('egress_filter'),
19528            healthy=d.get('healthy'),
19529            hostname=d.get('hostname'),
19530            id=d.get('id'),
19531            name=d.get('name'),
19532            override_database=d.get('override_database'),
19533            password=d.get('password'),
19534            port=d.get('port'),
19535            port_override=d.get('port_override'),
19536            proxy_cluster_id=d.get('proxy_cluster_id'),
19537            secret_store_id=d.get('secret_store_id'),
19538            subdomain=d.get('subdomain'),
19539            tags=d.get('tags'),
19540            username=d.get('username'),
19541        )
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)
19398    def __init__(
19399        self,
19400        bind_interface=None,
19401        database=None,
19402        egress_filter=None,
19403        healthy=None,
19404        hostname=None,
19405        id=None,
19406        name=None,
19407        override_database=None,
19408        password=None,
19409        port=None,
19410        port_override=None,
19411        proxy_cluster_id=None,
19412        secret_store_id=None,
19413        subdomain=None,
19414        tags=None,
19415        username=None,
19416    ):
19417        self.bind_interface = bind_interface if bind_interface is not None else ''
19418        '''
19419         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19420        '''
19421        self.database = database if database is not None else ''
19422        '''
19423         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19424        '''
19425        self.egress_filter = egress_filter if egress_filter is not None else ''
19426        '''
19427         A filter applied to the routing logic to pin datasource to nodes.
19428        '''
19429        self.healthy = healthy if healthy is not None else False
19430        '''
19431         True if the datasource is reachable and the credentials are valid.
19432        '''
19433        self.hostname = hostname if hostname is not None else ''
19434        '''
19435         The host to dial to initiate a connection from the egress node to this resource.
19436        '''
19437        self.id = id if id is not None else ''
19438        '''
19439         Unique identifier of the Resource.
19440        '''
19441        self.name = name if name is not None else ''
19442        '''
19443         Unique human-readable name of the Resource.
19444        '''
19445        self.override_database = override_database if override_database is not None else False
19446        '''
19447         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.
19448        '''
19449        self.password = password if password is not None else ''
19450        '''
19451         The password to authenticate with.
19452        '''
19453        self.port = port if port is not None else 0
19454        '''
19455         The port to dial to initiate a connection from the egress node to this resource.
19456        '''
19457        self.port_override = port_override if port_override is not None else 0
19458        '''
19459         The local port used by clients to connect to this resource.
19460        '''
19461        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19462        '''
19463         ID of the proxy cluster for this resource, if any.
19464        '''
19465        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19466        '''
19467         ID of the secret store containing credentials for this resource, if any.
19468        '''
19469        self.subdomain = subdomain if subdomain is not None else ''
19470        '''
19471         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19472        '''
19473        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19474        '''
19475         Tags is a map of key, value pairs.
19476        '''
19477        self.username = username if username is not None else ''
19478        '''
19479         The username to authenticate with.
19480        '''
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)
19502    def to_dict(self):
19503        return {
19504            'bind_interface': self.bind_interface,
19505            'database': self.database,
19506            'egress_filter': self.egress_filter,
19507            'healthy': self.healthy,
19508            'hostname': self.hostname,
19509            'id': self.id,
19510            'name': self.name,
19511            'override_database': self.override_database,
19512            'password': self.password,
19513            'port': self.port,
19514            'port_override': self.port_override,
19515            'proxy_cluster_id': self.proxy_cluster_id,
19516            'secret_store_id': self.secret_store_id,
19517            'subdomain': self.subdomain,
19518            'tags': self.tags,
19519            'username': self.username,
19520        }
@classmethod
def from_dict(cls, d)
19522    @classmethod
19523    def from_dict(cls, d):
19524        return cls(
19525            bind_interface=d.get('bind_interface'),
19526            database=d.get('database'),
19527            egress_filter=d.get('egress_filter'),
19528            healthy=d.get('healthy'),
19529            hostname=d.get('hostname'),
19530            id=d.get('id'),
19531            name=d.get('name'),
19532            override_database=d.get('override_database'),
19533            password=d.get('password'),
19534            port=d.get('port'),
19535            port_override=d.get('port_override'),
19536            proxy_cluster_id=d.get('proxy_cluster_id'),
19537            secret_store_id=d.get('secret_store_id'),
19538            subdomain=d.get('subdomain'),
19539            tags=d.get('tags'),
19540            username=d.get('username'),
19541        )
class Presto:
19544class Presto:
19545    __slots__ = [
19546        'bind_interface',
19547        'database',
19548        'egress_filter',
19549        'healthy',
19550        'hostname',
19551        'id',
19552        'name',
19553        'password',
19554        'port',
19555        'port_override',
19556        'proxy_cluster_id',
19557        'secret_store_id',
19558        'subdomain',
19559        'tags',
19560        'tls_required',
19561        'username',
19562    ]
19563
19564    def __init__(
19565        self,
19566        bind_interface=None,
19567        database=None,
19568        egress_filter=None,
19569        healthy=None,
19570        hostname=None,
19571        id=None,
19572        name=None,
19573        password=None,
19574        port=None,
19575        port_override=None,
19576        proxy_cluster_id=None,
19577        secret_store_id=None,
19578        subdomain=None,
19579        tags=None,
19580        tls_required=None,
19581        username=None,
19582    ):
19583        self.bind_interface = bind_interface if bind_interface is not None else ''
19584        '''
19585         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19586        '''
19587        self.database = database if database is not None else ''
19588        '''
19589         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19590        '''
19591        self.egress_filter = egress_filter if egress_filter is not None else ''
19592        '''
19593         A filter applied to the routing logic to pin datasource to nodes.
19594        '''
19595        self.healthy = healthy if healthy is not None else False
19596        '''
19597         True if the datasource is reachable and the credentials are valid.
19598        '''
19599        self.hostname = hostname if hostname is not None else ''
19600        '''
19601         The host to dial to initiate a connection from the egress node to this resource.
19602        '''
19603        self.id = id if id is not None else ''
19604        '''
19605         Unique identifier of the Resource.
19606        '''
19607        self.name = name if name is not None else ''
19608        '''
19609         Unique human-readable name of the Resource.
19610        '''
19611        self.password = password if password is not None else ''
19612        '''
19613         The password to authenticate with.
19614        '''
19615        self.port = port if port is not None else 0
19616        '''
19617         The port to dial to initiate a connection from the egress node to this resource.
19618        '''
19619        self.port_override = port_override if port_override is not None else 0
19620        '''
19621         The local port used by clients to connect to this resource.
19622        '''
19623        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19624        '''
19625         ID of the proxy cluster for this resource, if any.
19626        '''
19627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19628        '''
19629         ID of the secret store containing credentials for this resource, if any.
19630        '''
19631        self.subdomain = subdomain if subdomain is not None else ''
19632        '''
19633         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19634        '''
19635        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19636        '''
19637         Tags is a map of key, value pairs.
19638        '''
19639        self.tls_required = tls_required if tls_required is not None else False
19640        '''
19641         If set, TLS must be used to connect to this resource.
19642        '''
19643        self.username = username if username is not None else ''
19644        '''
19645         The username to authenticate with.
19646        '''
19647
19648    def __repr__(self):
19649        return '<sdm.Presto ' + \
19650            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19651            'database: ' + repr(self.database) + ' ' +\
19652            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19653            'healthy: ' + repr(self.healthy) + ' ' +\
19654            'hostname: ' + repr(self.hostname) + ' ' +\
19655            'id: ' + repr(self.id) + ' ' +\
19656            'name: ' + repr(self.name) + ' ' +\
19657            'password: ' + repr(self.password) + ' ' +\
19658            'port: ' + repr(self.port) + ' ' +\
19659            'port_override: ' + repr(self.port_override) + ' ' +\
19660            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19661            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19662            'subdomain: ' + repr(self.subdomain) + ' ' +\
19663            'tags: ' + repr(self.tags) + ' ' +\
19664            'tls_required: ' + repr(self.tls_required) + ' ' +\
19665            'username: ' + repr(self.username) + ' ' +\
19666            '>'
19667
19668    def to_dict(self):
19669        return {
19670            'bind_interface': self.bind_interface,
19671            'database': self.database,
19672            'egress_filter': self.egress_filter,
19673            'healthy': self.healthy,
19674            'hostname': self.hostname,
19675            'id': self.id,
19676            'name': self.name,
19677            'password': self.password,
19678            'port': self.port,
19679            'port_override': self.port_override,
19680            'proxy_cluster_id': self.proxy_cluster_id,
19681            'secret_store_id': self.secret_store_id,
19682            'subdomain': self.subdomain,
19683            'tags': self.tags,
19684            'tls_required': self.tls_required,
19685            'username': self.username,
19686        }
19687
19688    @classmethod
19689    def from_dict(cls, d):
19690        return cls(
19691            bind_interface=d.get('bind_interface'),
19692            database=d.get('database'),
19693            egress_filter=d.get('egress_filter'),
19694            healthy=d.get('healthy'),
19695            hostname=d.get('hostname'),
19696            id=d.get('id'),
19697            name=d.get('name'),
19698            password=d.get('password'),
19699            port=d.get('port'),
19700            port_override=d.get('port_override'),
19701            proxy_cluster_id=d.get('proxy_cluster_id'),
19702            secret_store_id=d.get('secret_store_id'),
19703            subdomain=d.get('subdomain'),
19704            tags=d.get('tags'),
19705            tls_required=d.get('tls_required'),
19706            username=d.get('username'),
19707        )
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)
19564    def __init__(
19565        self,
19566        bind_interface=None,
19567        database=None,
19568        egress_filter=None,
19569        healthy=None,
19570        hostname=None,
19571        id=None,
19572        name=None,
19573        password=None,
19574        port=None,
19575        port_override=None,
19576        proxy_cluster_id=None,
19577        secret_store_id=None,
19578        subdomain=None,
19579        tags=None,
19580        tls_required=None,
19581        username=None,
19582    ):
19583        self.bind_interface = bind_interface if bind_interface is not None else ''
19584        '''
19585         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19586        '''
19587        self.database = database if database is not None else ''
19588        '''
19589         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19590        '''
19591        self.egress_filter = egress_filter if egress_filter is not None else ''
19592        '''
19593         A filter applied to the routing logic to pin datasource to nodes.
19594        '''
19595        self.healthy = healthy if healthy is not None else False
19596        '''
19597         True if the datasource is reachable and the credentials are valid.
19598        '''
19599        self.hostname = hostname if hostname is not None else ''
19600        '''
19601         The host to dial to initiate a connection from the egress node to this resource.
19602        '''
19603        self.id = id if id is not None else ''
19604        '''
19605         Unique identifier of the Resource.
19606        '''
19607        self.name = name if name is not None else ''
19608        '''
19609         Unique human-readable name of the Resource.
19610        '''
19611        self.password = password if password is not None else ''
19612        '''
19613         The password to authenticate with.
19614        '''
19615        self.port = port if port is not None else 0
19616        '''
19617         The port to dial to initiate a connection from the egress node to this resource.
19618        '''
19619        self.port_override = port_override if port_override is not None else 0
19620        '''
19621         The local port used by clients to connect to this resource.
19622        '''
19623        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19624        '''
19625         ID of the proxy cluster for this resource, if any.
19626        '''
19627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19628        '''
19629         ID of the secret store containing credentials for this resource, if any.
19630        '''
19631        self.subdomain = subdomain if subdomain is not None else ''
19632        '''
19633         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19634        '''
19635        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19636        '''
19637         Tags is a map of key, value pairs.
19638        '''
19639        self.tls_required = tls_required if tls_required is not None else False
19640        '''
19641         If set, TLS must be used to connect to this resource.
19642        '''
19643        self.username = username if username is not None else ''
19644        '''
19645         The username to authenticate with.
19646        '''
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)
19668    def to_dict(self):
19669        return {
19670            'bind_interface': self.bind_interface,
19671            'database': self.database,
19672            'egress_filter': self.egress_filter,
19673            'healthy': self.healthy,
19674            'hostname': self.hostname,
19675            'id': self.id,
19676            'name': self.name,
19677            'password': self.password,
19678            'port': self.port,
19679            'port_override': self.port_override,
19680            'proxy_cluster_id': self.proxy_cluster_id,
19681            'secret_store_id': self.secret_store_id,
19682            'subdomain': self.subdomain,
19683            'tags': self.tags,
19684            'tls_required': self.tls_required,
19685            'username': self.username,
19686        }
@classmethod
def from_dict(cls, d)
19688    @classmethod
19689    def from_dict(cls, d):
19690        return cls(
19691            bind_interface=d.get('bind_interface'),
19692            database=d.get('database'),
19693            egress_filter=d.get('egress_filter'),
19694            healthy=d.get('healthy'),
19695            hostname=d.get('hostname'),
19696            id=d.get('id'),
19697            name=d.get('name'),
19698            password=d.get('password'),
19699            port=d.get('port'),
19700            port_override=d.get('port_override'),
19701            proxy_cluster_id=d.get('proxy_cluster_id'),
19702            secret_store_id=d.get('secret_store_id'),
19703            subdomain=d.get('subdomain'),
19704            tags=d.get('tags'),
19705            tls_required=d.get('tls_required'),
19706            username=d.get('username'),
19707        )
class ProxyCluster:
19710class ProxyCluster:
19711    '''
19712         ProxyCluster represents a cluster of StrongDM proxies.
19713    '''
19714    __slots__ = [
19715        'address',
19716        'id',
19717        'maintenance_windows',
19718        'name',
19719        'tags',
19720    ]
19721
19722    def __init__(
19723        self,
19724        address=None,
19725        id=None,
19726        maintenance_windows=None,
19727        name=None,
19728        tags=None,
19729    ):
19730        self.address = address if address is not None else ''
19731        '''
19732         The public hostname/port tuple at which the proxy cluster will be
19733         accessible to clients.
19734        '''
19735        self.id = id if id is not None else ''
19736        '''
19737         Unique identifier of the Proxy Cluster.
19738        '''
19739        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
19740        '''
19741         Maintenance Windows define when this node is allowed to restart. If a node
19742         is requested to restart, it will check each window to determine if any of
19743         them permit it to restart, and if any do, it will. This check is repeated
19744         per window until the restart is successfully completed.
19745         
19746         If not set here, may be set on the command line or via an environment variable
19747         on the process itself; any server setting will take precedence over local
19748         settings. This setting is ineffective for nodes below version 38.44.0.
19749         
19750         If this setting is not applied via this remote configuration or via local
19751         configuration, the default setting is used: always allow restarts if serving
19752         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
19753        '''
19754        self.name = name if name is not None else ''
19755        '''
19756         Unique human-readable name of the proxy cluster. Names must
19757         include only letters, numbers, and hyphens (no spaces, underscores, or
19758         other special characters). Generated if not provided on create.
19759        '''
19760        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19761        '''
19762         Tags is a map of key, value pairs.
19763        '''
19764
19765    def __repr__(self):
19766        return '<sdm.ProxyCluster ' + \
19767            'address: ' + repr(self.address) + ' ' +\
19768            'id: ' + repr(self.id) + ' ' +\
19769            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
19770            'name: ' + repr(self.name) + ' ' +\
19771            'tags: ' + repr(self.tags) + ' ' +\
19772            '>'
19773
19774    def to_dict(self):
19775        return {
19776            'address': self.address,
19777            'id': self.id,
19778            'maintenance_windows': self.maintenance_windows,
19779            'name': self.name,
19780            'tags': self.tags,
19781        }
19782
19783    @classmethod
19784    def from_dict(cls, d):
19785        return cls(
19786            address=d.get('address'),
19787            id=d.get('id'),
19788            maintenance_windows=d.get('maintenance_windows'),
19789            name=d.get('name'),
19790            tags=d.get('tags'),
19791        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
19722    def __init__(
19723        self,
19724        address=None,
19725        id=None,
19726        maintenance_windows=None,
19727        name=None,
19728        tags=None,
19729    ):
19730        self.address = address if address is not None else ''
19731        '''
19732         The public hostname/port tuple at which the proxy cluster will be
19733         accessible to clients.
19734        '''
19735        self.id = id if id is not None else ''
19736        '''
19737         Unique identifier of the Proxy Cluster.
19738        '''
19739        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
19740        '''
19741         Maintenance Windows define when this node is allowed to restart. If a node
19742         is requested to restart, it will check each window to determine if any of
19743         them permit it to restart, and if any do, it will. This check is repeated
19744         per window until the restart is successfully completed.
19745         
19746         If not set here, may be set on the command line or via an environment variable
19747         on the process itself; any server setting will take precedence over local
19748         settings. This setting is ineffective for nodes below version 38.44.0.
19749         
19750         If this setting is not applied via this remote configuration or via local
19751         configuration, the default setting is used: always allow restarts if serving
19752         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
19753        '''
19754        self.name = name if name is not None else ''
19755        '''
19756         Unique human-readable name of the proxy cluster. Names must
19757         include only letters, numbers, and hyphens (no spaces, underscores, or
19758         other special characters). Generated if not provided on create.
19759        '''
19760        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19761        '''
19762         Tags is a map of key, value pairs.
19763        '''
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)
19774    def to_dict(self):
19775        return {
19776            'address': self.address,
19777            'id': self.id,
19778            'maintenance_windows': self.maintenance_windows,
19779            'name': self.name,
19780            'tags': self.tags,
19781        }
@classmethod
def from_dict(cls, d)
19783    @classmethod
19784    def from_dict(cls, d):
19785        return cls(
19786            address=d.get('address'),
19787            id=d.get('id'),
19788            maintenance_windows=d.get('maintenance_windows'),
19789            name=d.get('name'),
19790            tags=d.get('tags'),
19791        )
class ProxyClusterKey:
19794class ProxyClusterKey:
19795    '''
19796         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
19797     The proxies within a cluster share the same key. One cluster can have
19798     multiple keys in order to facilitate key rotation.
19799    '''
19800    __slots__ = [
19801        'created_at',
19802        'id',
19803        'last_used_at',
19804        'proxy_cluster_id',
19805    ]
19806
19807    def __init__(
19808        self,
19809        created_at=None,
19810        id=None,
19811        last_used_at=None,
19812        proxy_cluster_id=None,
19813    ):
19814        self.created_at = created_at if created_at is not None else None
19815        '''
19816         The timestamp when this key was created.
19817        '''
19818        self.id = id if id is not None else ''
19819        '''
19820         Unique identifier of the Relay.
19821        '''
19822        self.last_used_at = last_used_at if last_used_at is not None else None
19823        '''
19824         The timestamp when this key was last used, if at all.
19825        '''
19826        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19827        '''
19828         The ID of the proxy cluster which this key authenticates to.
19829        '''
19830
19831    def __repr__(self):
19832        return '<sdm.ProxyClusterKey ' + \
19833            'created_at: ' + repr(self.created_at) + ' ' +\
19834            'id: ' + repr(self.id) + ' ' +\
19835            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
19836            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19837            '>'
19838
19839    def to_dict(self):
19840        return {
19841            'created_at': self.created_at,
19842            'id': self.id,
19843            'last_used_at': self.last_used_at,
19844            'proxy_cluster_id': self.proxy_cluster_id,
19845        }
19846
19847    @classmethod
19848    def from_dict(cls, d):
19849        return cls(
19850            created_at=d.get('created_at'),
19851            id=d.get('id'),
19852            last_used_at=d.get('last_used_at'),
19853            proxy_cluster_id=d.get('proxy_cluster_id'),
19854        )

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)
19807    def __init__(
19808        self,
19809        created_at=None,
19810        id=None,
19811        last_used_at=None,
19812        proxy_cluster_id=None,
19813    ):
19814        self.created_at = created_at if created_at is not None else None
19815        '''
19816         The timestamp when this key was created.
19817        '''
19818        self.id = id if id is not None else ''
19819        '''
19820         Unique identifier of the Relay.
19821        '''
19822        self.last_used_at = last_used_at if last_used_at is not None else None
19823        '''
19824         The timestamp when this key was last used, if at all.
19825        '''
19826        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19827        '''
19828         The ID of the proxy cluster which this key authenticates to.
19829        '''
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)
19839    def to_dict(self):
19840        return {
19841            'created_at': self.created_at,
19842            'id': self.id,
19843            'last_used_at': self.last_used_at,
19844            'proxy_cluster_id': self.proxy_cluster_id,
19845        }
@classmethod
def from_dict(cls, d)
19847    @classmethod
19848    def from_dict(cls, d):
19849        return cls(
19850            created_at=d.get('created_at'),
19851            id=d.get('id'),
19852            last_used_at=d.get('last_used_at'),
19853            proxy_cluster_id=d.get('proxy_cluster_id'),
19854        )
class ProxyClusterKeyCreateResponse:
19857class ProxyClusterKeyCreateResponse:
19858    '''
19859         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
19860    '''
19861    __slots__ = [
19862        'meta',
19863        'proxy_cluster_key',
19864        'rate_limit',
19865        'secret_key',
19866    ]
19867
19868    def __init__(
19869        self,
19870        meta=None,
19871        proxy_cluster_key=None,
19872        rate_limit=None,
19873        secret_key=None,
19874    ):
19875        self.meta = meta if meta is not None else None
19876        '''
19877         Reserved for future use.
19878        '''
19879        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
19880        '''
19881         The created ProxyClusterKey.
19882        '''
19883        self.rate_limit = rate_limit if rate_limit is not None else None
19884        '''
19885         Rate limit information.
19886        '''
19887        self.secret_key = secret_key if secret_key is not None else ''
19888        '''
19889         The secret key component of this key. It must be saved upon creation
19890         because it will not be available for retrieval later.
19891        '''
19892
19893    def __repr__(self):
19894        return '<sdm.ProxyClusterKeyCreateResponse ' + \
19895            'meta: ' + repr(self.meta) + ' ' +\
19896            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
19897            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19898            'secret_key: ' + repr(self.secret_key) + ' ' +\
19899            '>'
19900
19901    def to_dict(self):
19902        return {
19903            'meta': self.meta,
19904            'proxy_cluster_key': self.proxy_cluster_key,
19905            'rate_limit': self.rate_limit,
19906            'secret_key': self.secret_key,
19907        }
19908
19909    @classmethod
19910    def from_dict(cls, d):
19911        return cls(
19912            meta=d.get('meta'),
19913            proxy_cluster_key=d.get('proxy_cluster_key'),
19914            rate_limit=d.get('rate_limit'),
19915            secret_key=d.get('secret_key'),
19916        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
19868    def __init__(
19869        self,
19870        meta=None,
19871        proxy_cluster_key=None,
19872        rate_limit=None,
19873        secret_key=None,
19874    ):
19875        self.meta = meta if meta is not None else None
19876        '''
19877         Reserved for future use.
19878        '''
19879        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
19880        '''
19881         The created ProxyClusterKey.
19882        '''
19883        self.rate_limit = rate_limit if rate_limit is not None else None
19884        '''
19885         Rate limit information.
19886        '''
19887        self.secret_key = secret_key if secret_key is not None else ''
19888        '''
19889         The secret key component of this key. It must be saved upon creation
19890         because it will not be available for retrieval later.
19891        '''
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)
19901    def to_dict(self):
19902        return {
19903            'meta': self.meta,
19904            'proxy_cluster_key': self.proxy_cluster_key,
19905            'rate_limit': self.rate_limit,
19906            'secret_key': self.secret_key,
19907        }
@classmethod
def from_dict(cls, d)
19909    @classmethod
19910    def from_dict(cls, d):
19911        return cls(
19912            meta=d.get('meta'),
19913            proxy_cluster_key=d.get('proxy_cluster_key'),
19914            rate_limit=d.get('rate_limit'),
19915            secret_key=d.get('secret_key'),
19916        )
class ProxyClusterKeyDeleteResponse:
19919class ProxyClusterKeyDeleteResponse:
19920    '''
19921         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
19922    '''
19923    __slots__ = [
19924        'meta',
19925        'rate_limit',
19926    ]
19927
19928    def __init__(
19929        self,
19930        meta=None,
19931        rate_limit=None,
19932    ):
19933        self.meta = meta if meta is not None else None
19934        '''
19935         Reserved for future use.
19936        '''
19937        self.rate_limit = rate_limit if rate_limit is not None else None
19938        '''
19939         Rate limit information.
19940        '''
19941
19942    def __repr__(self):
19943        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
19944            'meta: ' + repr(self.meta) + ' ' +\
19945            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19946            '>'
19947
19948    def to_dict(self):
19949        return {
19950            'meta': self.meta,
19951            'rate_limit': self.rate_limit,
19952        }
19953
19954    @classmethod
19955    def from_dict(cls, d):
19956        return cls(
19957            meta=d.get('meta'),
19958            rate_limit=d.get('rate_limit'),
19959        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
19928    def __init__(
19929        self,
19930        meta=None,
19931        rate_limit=None,
19932    ):
19933        self.meta = meta if meta is not None else None
19934        '''
19935         Reserved for future use.
19936        '''
19937        self.rate_limit = rate_limit if rate_limit is not None else None
19938        '''
19939         Rate limit information.
19940        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19948    def to_dict(self):
19949        return {
19950            'meta': self.meta,
19951            'rate_limit': self.rate_limit,
19952        }
@classmethod
def from_dict(cls, d)
19954    @classmethod
19955    def from_dict(cls, d):
19956        return cls(
19957            meta=d.get('meta'),
19958            rate_limit=d.get('rate_limit'),
19959        )
class ProxyClusterKeyGetResponse:
19962class ProxyClusterKeyGetResponse:
19963    '''
19964         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
19965    '''
19966    __slots__ = [
19967        'meta',
19968        'proxy_cluster_key',
19969        'rate_limit',
19970    ]
19971
19972    def __init__(
19973        self,
19974        meta=None,
19975        proxy_cluster_key=None,
19976        rate_limit=None,
19977    ):
19978        self.meta = meta if meta is not None else None
19979        '''
19980         Reserved for future use.
19981        '''
19982        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
19983        '''
19984         The requested ProxyClusterKey.
19985        '''
19986        self.rate_limit = rate_limit if rate_limit is not None else None
19987        '''
19988         Rate limit information.
19989        '''
19990
19991    def __repr__(self):
19992        return '<sdm.ProxyClusterKeyGetResponse ' + \
19993            'meta: ' + repr(self.meta) + ' ' +\
19994            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
19995            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19996            '>'
19997
19998    def to_dict(self):
19999        return {
20000            'meta': self.meta,
20001            'proxy_cluster_key': self.proxy_cluster_key,
20002            'rate_limit': self.rate_limit,
20003        }
20004
20005    @classmethod
20006    def from_dict(cls, d):
20007        return cls(
20008            meta=d.get('meta'),
20009            proxy_cluster_key=d.get('proxy_cluster_key'),
20010            rate_limit=d.get('rate_limit'),
20011        )

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
19972    def __init__(
19973        self,
19974        meta=None,
19975        proxy_cluster_key=None,
19976        rate_limit=None,
19977    ):
19978        self.meta = meta if meta is not None else None
19979        '''
19980         Reserved for future use.
19981        '''
19982        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
19983        '''
19984         The requested ProxyClusterKey.
19985        '''
19986        self.rate_limit = rate_limit if rate_limit is not None else None
19987        '''
19988         Rate limit information.
19989        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

def to_dict(self)
19998    def to_dict(self):
19999        return {
20000            'meta': self.meta,
20001            'proxy_cluster_key': self.proxy_cluster_key,
20002            'rate_limit': self.rate_limit,
20003        }
@classmethod
def from_dict(cls, d)
20005    @classmethod
20006    def from_dict(cls, d):
20007        return cls(
20008            meta=d.get('meta'),
20009            proxy_cluster_key=d.get('proxy_cluster_key'),
20010            rate_limit=d.get('rate_limit'),
20011        )
class Query:
20014class Query:
20015    '''
20016         A Query is a record of a single client request to a resource, such as a SQL query.
20017     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
20018     interactive sessions will return two Query records with the same identifier, one record
20019     at the start of the query and a second record upon the completion of the query with
20020     additional detail.
20021    '''
20022    __slots__ = [
20023        'account_email',
20024        'account_first_name',
20025        'account_id',
20026        'account_last_name',
20027        'account_tags',
20028        'authzjson',
20029        'capture',
20030        'client_ip',
20031        'completed_at',
20032        'duration',
20033        'egress_node_id',
20034        'encrypted',
20035        'id',
20036        'identity_alias_username',
20037        'query_body',
20038        'query_category',
20039        'query_hash',
20040        'query_key',
20041        'record_count',
20042        'remote_identity_username',
20043        'replayable',
20044        'resource_id',
20045        'resource_name',
20046        'resource_tags',
20047        'resource_type',
20048        'source_ip',
20049        'target',
20050        'timestamp',
20051    ]
20052
20053    def __init__(
20054        self,
20055        account_email=None,
20056        account_first_name=None,
20057        account_id=None,
20058        account_last_name=None,
20059        account_tags=None,
20060        authzjson=None,
20061        capture=None,
20062        client_ip=None,
20063        completed_at=None,
20064        duration=None,
20065        egress_node_id=None,
20066        encrypted=None,
20067        id=None,
20068        identity_alias_username=None,
20069        query_body=None,
20070        query_category=None,
20071        query_hash=None,
20072        query_key=None,
20073        record_count=None,
20074        remote_identity_username=None,
20075        replayable=None,
20076        resource_id=None,
20077        resource_name=None,
20078        resource_tags=None,
20079        resource_type=None,
20080        source_ip=None,
20081        target=None,
20082        timestamp=None,
20083    ):
20084        self.account_email = account_email if account_email is not None else ''
20085        '''
20086         The email of the account performing this query, at the time the query was executed.
20087         If the account email is later changed, that change will not be reflected via this field.
20088        '''
20089        self.account_first_name = account_first_name if account_first_name is not None else ''
20090        '''
20091         The given name of the account performing this query, at the time the query was executed.
20092         If the account is later renamed, that change will not be reflected via this field.
20093        '''
20094        self.account_id = account_id if account_id is not None else ''
20095        '''
20096         Unique identifier of the Account that performed the Query.
20097        '''
20098        self.account_last_name = account_last_name if account_last_name is not None else ''
20099        '''
20100         The family name of the account performing this query, at the time the query was executed.
20101         If the account is later renamed, that change will not be reflected via this field.
20102        '''
20103        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
20104        )
20105        '''
20106         The tags of the account accessed, at the time the query was executed. If the account
20107         tags are later changed, that change will not be reflected via this field.
20108        '''
20109        self.authzjson = authzjson if authzjson is not None else ''
20110        '''
20111         Authorization metadata associated with this query.
20112        '''
20113        self.capture = capture if capture is not None else None
20114        '''
20115         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
20116         about the captured query.
20117        '''
20118        self.client_ip = client_ip if client_ip is not None else ''
20119        '''
20120         The IP address the Query was performed from, as detected at the StrongDM control plane.
20121        '''
20122        self.completed_at = completed_at if completed_at is not None else None
20123        '''
20124         The time at which the Query was completed.
20125         Empty if this record indicates the start of a long-running query.
20126        '''
20127        self.duration = duration if duration is not None else None
20128        '''
20129         The duration of the Query.
20130        '''
20131        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
20132        '''
20133         The unique ID of the node through which the Resource was accessed.
20134        '''
20135        self.encrypted = encrypted if encrypted is not None else False
20136        '''
20137         Indicates that the body of the Query is encrypted.
20138        '''
20139        self.id = id if id is not None else ''
20140        '''
20141         Unique identifier of the Query.
20142        '''
20143        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
20144        '''
20145         The username of the IdentityAlias used to access the Resource.
20146        '''
20147        self.query_body = query_body if query_body is not None else ''
20148        '''
20149         The captured content of the Query.
20150         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
20151        '''
20152        self.query_category = query_category if query_category is not None else ''
20153        '''
20154         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
20155        '''
20156        self.query_hash = query_hash if query_hash is not None else ''
20157        '''
20158         The hash of the body of the Query.
20159        '''
20160        self.query_key = query_key if query_key is not None else ''
20161        '''
20162         The symmetric key used to encrypt the body of this Query and its replay if replayable.
20163         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
20164         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
20165         If the Query is not encrypted, this field is empty.
20166        '''
20167        self.record_count = record_count if record_count is not None else 0
20168        '''
20169         The number of records returned by the Query, for a database Resource.
20170        '''
20171        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
20172        '''
20173         The username of the RemoteIdentity used to access the Resource.
20174        '''
20175        self.replayable = replayable if replayable is not None else False
20176        '''
20177         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
20178        '''
20179        self.resource_id = resource_id if resource_id is not None else ''
20180        '''
20181         Unique identifier of the Resource against which the Query was performed.
20182        '''
20183        self.resource_name = resource_name if resource_name is not None else ''
20184        '''
20185         The name of the resource accessed, at the time the query was executed. If the resource
20186         is later renamed, that change will not be reflected via this field.
20187        '''
20188        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
20189        )
20190        '''
20191         The tags of the resource accessed, at the time the query was executed. If the resource
20192         tags are later changed, that change will not be reflected via this field.
20193        '''
20194        self.resource_type = resource_type if resource_type is not None else ''
20195        '''
20196         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
20197        '''
20198        self.source_ip = source_ip if source_ip is not None else ''
20199        '''
20200         The IP address the Query was performed from, as detected at the ingress gateway.
20201        '''
20202        self.target = target if target is not None else ''
20203        '''
20204         The target destination of the query, in host:port format.
20205        '''
20206        self.timestamp = timestamp if timestamp is not None else None
20207        '''
20208         The time at which the Query was started.
20209        '''
20210
20211    def __repr__(self):
20212        return '<sdm.Query ' + \
20213            'account_email: ' + repr(self.account_email) + ' ' +\
20214            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
20215            'account_id: ' + repr(self.account_id) + ' ' +\
20216            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
20217            'account_tags: ' + repr(self.account_tags) + ' ' +\
20218            'authzjson: ' + repr(self.authzjson) + ' ' +\
20219            'capture: ' + repr(self.capture) + ' ' +\
20220            'client_ip: ' + repr(self.client_ip) + ' ' +\
20221            'completed_at: ' + repr(self.completed_at) + ' ' +\
20222            'duration: ' + repr(self.duration) + ' ' +\
20223            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
20224            'encrypted: ' + repr(self.encrypted) + ' ' +\
20225            'id: ' + repr(self.id) + ' ' +\
20226            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
20227            'query_body: ' + repr(self.query_body) + ' ' +\
20228            'query_category: ' + repr(self.query_category) + ' ' +\
20229            'query_hash: ' + repr(self.query_hash) + ' ' +\
20230            'query_key: ' + repr(self.query_key) + ' ' +\
20231            'record_count: ' + repr(self.record_count) + ' ' +\
20232            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
20233            'replayable: ' + repr(self.replayable) + ' ' +\
20234            'resource_id: ' + repr(self.resource_id) + ' ' +\
20235            'resource_name: ' + repr(self.resource_name) + ' ' +\
20236            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
20237            'resource_type: ' + repr(self.resource_type) + ' ' +\
20238            'source_ip: ' + repr(self.source_ip) + ' ' +\
20239            'target: ' + repr(self.target) + ' ' +\
20240            'timestamp: ' + repr(self.timestamp) + ' ' +\
20241            '>'
20242
20243    def to_dict(self):
20244        return {
20245            'account_email': self.account_email,
20246            'account_first_name': self.account_first_name,
20247            'account_id': self.account_id,
20248            'account_last_name': self.account_last_name,
20249            'account_tags': self.account_tags,
20250            'authzjson': self.authzjson,
20251            'capture': self.capture,
20252            'client_ip': self.client_ip,
20253            'completed_at': self.completed_at,
20254            'duration': self.duration,
20255            'egress_node_id': self.egress_node_id,
20256            'encrypted': self.encrypted,
20257            'id': self.id,
20258            'identity_alias_username': self.identity_alias_username,
20259            'query_body': self.query_body,
20260            'query_category': self.query_category,
20261            'query_hash': self.query_hash,
20262            'query_key': self.query_key,
20263            'record_count': self.record_count,
20264            'remote_identity_username': self.remote_identity_username,
20265            'replayable': self.replayable,
20266            'resource_id': self.resource_id,
20267            'resource_name': self.resource_name,
20268            'resource_tags': self.resource_tags,
20269            'resource_type': self.resource_type,
20270            'source_ip': self.source_ip,
20271            'target': self.target,
20272            'timestamp': self.timestamp,
20273        }
20274
20275    @classmethod
20276    def from_dict(cls, d):
20277        return cls(
20278            account_email=d.get('account_email'),
20279            account_first_name=d.get('account_first_name'),
20280            account_id=d.get('account_id'),
20281            account_last_name=d.get('account_last_name'),
20282            account_tags=d.get('account_tags'),
20283            authzjson=d.get('authzjson'),
20284            capture=d.get('capture'),
20285            client_ip=d.get('client_ip'),
20286            completed_at=d.get('completed_at'),
20287            duration=d.get('duration'),
20288            egress_node_id=d.get('egress_node_id'),
20289            encrypted=d.get('encrypted'),
20290            id=d.get('id'),
20291            identity_alias_username=d.get('identity_alias_username'),
20292            query_body=d.get('query_body'),
20293            query_category=d.get('query_category'),
20294            query_hash=d.get('query_hash'),
20295            query_key=d.get('query_key'),
20296            record_count=d.get('record_count'),
20297            remote_identity_username=d.get('remote_identity_username'),
20298            replayable=d.get('replayable'),
20299            resource_id=d.get('resource_id'),
20300            resource_name=d.get('resource_name'),
20301            resource_tags=d.get('resource_tags'),
20302            resource_type=d.get('resource_type'),
20303            source_ip=d.get('source_ip'),
20304            target=d.get('target'),
20305            timestamp=d.get('timestamp'),
20306        )

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, 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)
20053    def __init__(
20054        self,
20055        account_email=None,
20056        account_first_name=None,
20057        account_id=None,
20058        account_last_name=None,
20059        account_tags=None,
20060        authzjson=None,
20061        capture=None,
20062        client_ip=None,
20063        completed_at=None,
20064        duration=None,
20065        egress_node_id=None,
20066        encrypted=None,
20067        id=None,
20068        identity_alias_username=None,
20069        query_body=None,
20070        query_category=None,
20071        query_hash=None,
20072        query_key=None,
20073        record_count=None,
20074        remote_identity_username=None,
20075        replayable=None,
20076        resource_id=None,
20077        resource_name=None,
20078        resource_tags=None,
20079        resource_type=None,
20080        source_ip=None,
20081        target=None,
20082        timestamp=None,
20083    ):
20084        self.account_email = account_email if account_email is not None else ''
20085        '''
20086         The email of the account performing this query, at the time the query was executed.
20087         If the account email is later changed, that change will not be reflected via this field.
20088        '''
20089        self.account_first_name = account_first_name if account_first_name is not None else ''
20090        '''
20091         The given name of the account performing this query, at the time the query was executed.
20092         If the account is later renamed, that change will not be reflected via this field.
20093        '''
20094        self.account_id = account_id if account_id is not None else ''
20095        '''
20096         Unique identifier of the Account that performed the Query.
20097        '''
20098        self.account_last_name = account_last_name if account_last_name is not None else ''
20099        '''
20100         The family name of the account performing this query, at the time the query was executed.
20101         If the account is later renamed, that change will not be reflected via this field.
20102        '''
20103        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
20104        )
20105        '''
20106         The tags of the account accessed, at the time the query was executed. If the account
20107         tags are later changed, that change will not be reflected via this field.
20108        '''
20109        self.authzjson = authzjson if authzjson is not None else ''
20110        '''
20111         Authorization metadata associated with this query.
20112        '''
20113        self.capture = capture if capture is not None else None
20114        '''
20115         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
20116         about the captured query.
20117        '''
20118        self.client_ip = client_ip if client_ip is not None else ''
20119        '''
20120         The IP address the Query was performed from, as detected at the StrongDM control plane.
20121        '''
20122        self.completed_at = completed_at if completed_at is not None else None
20123        '''
20124         The time at which the Query was completed.
20125         Empty if this record indicates the start of a long-running query.
20126        '''
20127        self.duration = duration if duration is not None else None
20128        '''
20129         The duration of the Query.
20130        '''
20131        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
20132        '''
20133         The unique ID of the node through which the Resource was accessed.
20134        '''
20135        self.encrypted = encrypted if encrypted is not None else False
20136        '''
20137         Indicates that the body of the Query is encrypted.
20138        '''
20139        self.id = id if id is not None else ''
20140        '''
20141         Unique identifier of the Query.
20142        '''
20143        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
20144        '''
20145         The username of the IdentityAlias used to access the Resource.
20146        '''
20147        self.query_body = query_body if query_body is not None else ''
20148        '''
20149         The captured content of the Query.
20150         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
20151        '''
20152        self.query_category = query_category if query_category is not None else ''
20153        '''
20154         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
20155        '''
20156        self.query_hash = query_hash if query_hash is not None else ''
20157        '''
20158         The hash of the body of the Query.
20159        '''
20160        self.query_key = query_key if query_key is not None else ''
20161        '''
20162         The symmetric key used to encrypt the body of this Query and its replay if replayable.
20163         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
20164         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
20165         If the Query is not encrypted, this field is empty.
20166        '''
20167        self.record_count = record_count if record_count is not None else 0
20168        '''
20169         The number of records returned by the Query, for a database Resource.
20170        '''
20171        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
20172        '''
20173         The username of the RemoteIdentity used to access the Resource.
20174        '''
20175        self.replayable = replayable if replayable is not None else False
20176        '''
20177         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
20178        '''
20179        self.resource_id = resource_id if resource_id is not None else ''
20180        '''
20181         Unique identifier of the Resource against which the Query was performed.
20182        '''
20183        self.resource_name = resource_name if resource_name is not None else ''
20184        '''
20185         The name of the resource accessed, at the time the query was executed. If the resource
20186         is later renamed, that change will not be reflected via this field.
20187        '''
20188        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
20189        )
20190        '''
20191         The tags of the resource accessed, at the time the query was executed. If the resource
20192         tags are later changed, that change will not be reflected via this field.
20193        '''
20194        self.resource_type = resource_type if resource_type is not None else ''
20195        '''
20196         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
20197        '''
20198        self.source_ip = source_ip if source_ip is not None else ''
20199        '''
20200         The IP address the Query was performed from, as detected at the ingress gateway.
20201        '''
20202        self.target = target if target is not None else ''
20203        '''
20204         The target destination of the query, in host:port format.
20205        '''
20206        self.timestamp = timestamp if timestamp is not None else None
20207        '''
20208         The time at which the Query was started.
20209        '''
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.

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)
20243    def to_dict(self):
20244        return {
20245            'account_email': self.account_email,
20246            'account_first_name': self.account_first_name,
20247            'account_id': self.account_id,
20248            'account_last_name': self.account_last_name,
20249            'account_tags': self.account_tags,
20250            'authzjson': self.authzjson,
20251            'capture': self.capture,
20252            'client_ip': self.client_ip,
20253            'completed_at': self.completed_at,
20254            'duration': self.duration,
20255            'egress_node_id': self.egress_node_id,
20256            'encrypted': self.encrypted,
20257            'id': self.id,
20258            'identity_alias_username': self.identity_alias_username,
20259            'query_body': self.query_body,
20260            'query_category': self.query_category,
20261            'query_hash': self.query_hash,
20262            'query_key': self.query_key,
20263            'record_count': self.record_count,
20264            'remote_identity_username': self.remote_identity_username,
20265            'replayable': self.replayable,
20266            'resource_id': self.resource_id,
20267            'resource_name': self.resource_name,
20268            'resource_tags': self.resource_tags,
20269            'resource_type': self.resource_type,
20270            'source_ip': self.source_ip,
20271            'target': self.target,
20272            'timestamp': self.timestamp,
20273        }
@classmethod
def from_dict(cls, d)
20275    @classmethod
20276    def from_dict(cls, d):
20277        return cls(
20278            account_email=d.get('account_email'),
20279            account_first_name=d.get('account_first_name'),
20280            account_id=d.get('account_id'),
20281            account_last_name=d.get('account_last_name'),
20282            account_tags=d.get('account_tags'),
20283            authzjson=d.get('authzjson'),
20284            capture=d.get('capture'),
20285            client_ip=d.get('client_ip'),
20286            completed_at=d.get('completed_at'),
20287            duration=d.get('duration'),
20288            egress_node_id=d.get('egress_node_id'),
20289            encrypted=d.get('encrypted'),
20290            id=d.get('id'),
20291            identity_alias_username=d.get('identity_alias_username'),
20292            query_body=d.get('query_body'),
20293            query_category=d.get('query_category'),
20294            query_hash=d.get('query_hash'),
20295            query_key=d.get('query_key'),
20296            record_count=d.get('record_count'),
20297            remote_identity_username=d.get('remote_identity_username'),
20298            replayable=d.get('replayable'),
20299            resource_id=d.get('resource_id'),
20300            resource_name=d.get('resource_name'),
20301            resource_tags=d.get('resource_tags'),
20302            resource_type=d.get('resource_type'),
20303            source_ip=d.get('source_ip'),
20304            target=d.get('target'),
20305            timestamp=d.get('timestamp'),
20306        )
class QueryCapture:
20309class QueryCapture:
20310    '''
20311         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
20312    '''
20313    __slots__ = [
20314        'client_command',
20315        'command',
20316        'container',
20317        'env',
20318        'file_name',
20319        'file_size',
20320        'height',
20321        'impersonation_groups',
20322        'impersonation_user',
20323        'pod',
20324        'privilege_groups',
20325        'request_body',
20326        'request_method',
20327        'request_uri',
20328        'type',
20329        'width',
20330    ]
20331
20332    def __init__(
20333        self,
20334        client_command=None,
20335        command=None,
20336        container=None,
20337        env=None,
20338        file_name=None,
20339        file_size=None,
20340        height=None,
20341        impersonation_groups=None,
20342        impersonation_user=None,
20343        pod=None,
20344        privilege_groups=None,
20345        request_body=None,
20346        request_method=None,
20347        request_uri=None,
20348        type=None,
20349        width=None,
20350    ):
20351        self.client_command = client_command if client_command is not None else ''
20352        '''
20353         The command executed on the client for a Kubernetes session.
20354        '''
20355        self.command = command if command is not None else ''
20356        '''
20357         The command executed over an SSH or Kubernetes session.
20358        '''
20359        self.container = container if container is not None else ''
20360        '''
20361         The target container of a Kubernetes operation.
20362        '''
20363        self.env = env if env is not None else {}
20364        '''
20365         The environment variables for an SSH or Kubernetes session.
20366        '''
20367        self.file_name = file_name if file_name is not None else ''
20368        '''
20369         The remote file name of an SCP operation.
20370        '''
20371        self.file_size = file_size if file_size is not None else 0
20372        '''
20373         The file size transferred for an SCP operation.
20374        '''
20375        self.height = height if height is not None else 0
20376        '''
20377         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
20378        '''
20379        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
20380        '''
20381         The impersonation groups of a Kubernetes operation.
20382        '''
20383        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
20384        '''
20385         The impersonation user of a Kubernetes operation.
20386        '''
20387        self.pod = pod if pod is not None else ''
20388        '''
20389         The target pod of a Kubernetes operation.
20390        '''
20391        self.privilege_groups = privilege_groups if privilege_groups is not None else []
20392        '''
20393         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
20394        '''
20395        self.request_body = request_body if request_body is not None else b''
20396        '''
20397         The HTTP request body of a Kubernetes operation.
20398        '''
20399        self.request_method = request_method if request_method is not None else ''
20400        '''
20401         The HTTP request method of a Kubernetes operation.
20402        '''
20403        self.request_uri = request_uri if request_uri is not None else ''
20404        '''
20405         The HTTP request URI of a Kubernetes operation.
20406        '''
20407        self.type = type if type is not None else ''
20408        '''
20409         The CaptureType of this query capture, one of the CaptureType constants.
20410        '''
20411        self.width = width if width is not None else 0
20412        '''
20413         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
20414        '''
20415
20416    def __repr__(self):
20417        return '<sdm.QueryCapture ' + \
20418            'client_command: ' + repr(self.client_command) + ' ' +\
20419            'command: ' + repr(self.command) + ' ' +\
20420            'container: ' + repr(self.container) + ' ' +\
20421            'env: ' + repr(self.env) + ' ' +\
20422            'file_name: ' + repr(self.file_name) + ' ' +\
20423            'file_size: ' + repr(self.file_size) + ' ' +\
20424            'height: ' + repr(self.height) + ' ' +\
20425            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
20426            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
20427            'pod: ' + repr(self.pod) + ' ' +\
20428            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
20429            'request_body: ' + repr(self.request_body) + ' ' +\
20430            'request_method: ' + repr(self.request_method) + ' ' +\
20431            'request_uri: ' + repr(self.request_uri) + ' ' +\
20432            'type: ' + repr(self.type) + ' ' +\
20433            'width: ' + repr(self.width) + ' ' +\
20434            '>'
20435
20436    def to_dict(self):
20437        return {
20438            'client_command': self.client_command,
20439            'command': self.command,
20440            'container': self.container,
20441            'env': self.env,
20442            'file_name': self.file_name,
20443            'file_size': self.file_size,
20444            'height': self.height,
20445            'impersonation_groups': self.impersonation_groups,
20446            'impersonation_user': self.impersonation_user,
20447            'pod': self.pod,
20448            'privilege_groups': self.privilege_groups,
20449            'request_body': self.request_body,
20450            'request_method': self.request_method,
20451            'request_uri': self.request_uri,
20452            'type': self.type,
20453            'width': self.width,
20454        }
20455
20456    @classmethod
20457    def from_dict(cls, d):
20458        return cls(
20459            client_command=d.get('client_command'),
20460            command=d.get('command'),
20461            container=d.get('container'),
20462            env=d.get('env'),
20463            file_name=d.get('file_name'),
20464            file_size=d.get('file_size'),
20465            height=d.get('height'),
20466            impersonation_groups=d.get('impersonation_groups'),
20467            impersonation_user=d.get('impersonation_user'),
20468            pod=d.get('pod'),
20469            privilege_groups=d.get('privilege_groups'),
20470            request_body=d.get('request_body'),
20471            request_method=d.get('request_method'),
20472            request_uri=d.get('request_uri'),
20473            type=d.get('type'),
20474            width=d.get('width'),
20475        )

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)
20332    def __init__(
20333        self,
20334        client_command=None,
20335        command=None,
20336        container=None,
20337        env=None,
20338        file_name=None,
20339        file_size=None,
20340        height=None,
20341        impersonation_groups=None,
20342        impersonation_user=None,
20343        pod=None,
20344        privilege_groups=None,
20345        request_body=None,
20346        request_method=None,
20347        request_uri=None,
20348        type=None,
20349        width=None,
20350    ):
20351        self.client_command = client_command if client_command is not None else ''
20352        '''
20353         The command executed on the client for a Kubernetes session.
20354        '''
20355        self.command = command if command is not None else ''
20356        '''
20357         The command executed over an SSH or Kubernetes session.
20358        '''
20359        self.container = container if container is not None else ''
20360        '''
20361         The target container of a Kubernetes operation.
20362        '''
20363        self.env = env if env is not None else {}
20364        '''
20365         The environment variables for an SSH or Kubernetes session.
20366        '''
20367        self.file_name = file_name if file_name is not None else ''
20368        '''
20369         The remote file name of an SCP operation.
20370        '''
20371        self.file_size = file_size if file_size is not None else 0
20372        '''
20373         The file size transferred for an SCP operation.
20374        '''
20375        self.height = height if height is not None else 0
20376        '''
20377         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
20378        '''
20379        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
20380        '''
20381         The impersonation groups of a Kubernetes operation.
20382        '''
20383        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
20384        '''
20385         The impersonation user of a Kubernetes operation.
20386        '''
20387        self.pod = pod if pod is not None else ''
20388        '''
20389         The target pod of a Kubernetes operation.
20390        '''
20391        self.privilege_groups = privilege_groups if privilege_groups is not None else []
20392        '''
20393         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
20394        '''
20395        self.request_body = request_body if request_body is not None else b''
20396        '''
20397         The HTTP request body of a Kubernetes operation.
20398        '''
20399        self.request_method = request_method if request_method is not None else ''
20400        '''
20401         The HTTP request method of a Kubernetes operation.
20402        '''
20403        self.request_uri = request_uri if request_uri is not None else ''
20404        '''
20405         The HTTP request URI of a Kubernetes operation.
20406        '''
20407        self.type = type if type is not None else ''
20408        '''
20409         The CaptureType of this query capture, one of the CaptureType constants.
20410        '''
20411        self.width = width if width is not None else 0
20412        '''
20413         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
20414        '''
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)
20436    def to_dict(self):
20437        return {
20438            'client_command': self.client_command,
20439            'command': self.command,
20440            'container': self.container,
20441            'env': self.env,
20442            'file_name': self.file_name,
20443            'file_size': self.file_size,
20444            'height': self.height,
20445            'impersonation_groups': self.impersonation_groups,
20446            'impersonation_user': self.impersonation_user,
20447            'pod': self.pod,
20448            'privilege_groups': self.privilege_groups,
20449            'request_body': self.request_body,
20450            'request_method': self.request_method,
20451            'request_uri': self.request_uri,
20452            'type': self.type,
20453            'width': self.width,
20454        }
@classmethod
def from_dict(cls, d)
20456    @classmethod
20457    def from_dict(cls, d):
20458        return cls(
20459            client_command=d.get('client_command'),
20460            command=d.get('command'),
20461            container=d.get('container'),
20462            env=d.get('env'),
20463            file_name=d.get('file_name'),
20464            file_size=d.get('file_size'),
20465            height=d.get('height'),
20466            impersonation_groups=d.get('impersonation_groups'),
20467            impersonation_user=d.get('impersonation_user'),
20468            pod=d.get('pod'),
20469            privilege_groups=d.get('privilege_groups'),
20470            request_body=d.get('request_body'),
20471            request_method=d.get('request_method'),
20472            request_uri=d.get('request_uri'),
20473            type=d.get('type'),
20474            width=d.get('width'),
20475        )
class RDP:
20478class RDP:
20479    __slots__ = [
20480        'bind_interface',
20481        'downgrade_nla_connections',
20482        'egress_filter',
20483        'healthy',
20484        'hostname',
20485        'id',
20486        'lock_required',
20487        'name',
20488        'password',
20489        'port',
20490        'port_override',
20491        'proxy_cluster_id',
20492        'secret_store_id',
20493        'subdomain',
20494        'tags',
20495        'username',
20496    ]
20497
20498    def __init__(
20499        self,
20500        bind_interface=None,
20501        downgrade_nla_connections=None,
20502        egress_filter=None,
20503        healthy=None,
20504        hostname=None,
20505        id=None,
20506        lock_required=None,
20507        name=None,
20508        password=None,
20509        port=None,
20510        port_override=None,
20511        proxy_cluster_id=None,
20512        secret_store_id=None,
20513        subdomain=None,
20514        tags=None,
20515        username=None,
20516    ):
20517        self.bind_interface = bind_interface if bind_interface is not None else ''
20518        '''
20519         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20520        '''
20521        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
20522        '''
20523         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.
20524        '''
20525        self.egress_filter = egress_filter if egress_filter is not None else ''
20526        '''
20527         A filter applied to the routing logic to pin datasource to nodes.
20528        '''
20529        self.healthy = healthy if healthy is not None else False
20530        '''
20531         True if the datasource is reachable and the credentials are valid.
20532        '''
20533        self.hostname = hostname if hostname is not None else ''
20534        '''
20535         The host to dial to initiate a connection from the egress node to this resource.
20536        '''
20537        self.id = id if id is not None else ''
20538        '''
20539         Unique identifier of the Resource.
20540        '''
20541        self.lock_required = lock_required if lock_required is not None else False
20542        '''
20543         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
20544        '''
20545        self.name = name if name is not None else ''
20546        '''
20547         Unique human-readable name of the Resource.
20548        '''
20549        self.password = password if password is not None else ''
20550        '''
20551         The password to authenticate with.
20552        '''
20553        self.port = port if port is not None else 0
20554        '''
20555         The port to dial to initiate a connection from the egress node to this resource.
20556        '''
20557        self.port_override = port_override if port_override is not None else 0
20558        '''
20559         The local port used by clients to connect to this resource.
20560        '''
20561        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20562        '''
20563         ID of the proxy cluster for this resource, if any.
20564        '''
20565        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20566        '''
20567         ID of the secret store containing credentials for this resource, if any.
20568        '''
20569        self.subdomain = subdomain if subdomain is not None else ''
20570        '''
20571         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20572        '''
20573        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20574        '''
20575         Tags is a map of key, value pairs.
20576        '''
20577        self.username = username if username is not None else ''
20578        '''
20579         The username to authenticate with.
20580        '''
20581
20582    def __repr__(self):
20583        return '<sdm.RDP ' + \
20584            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20585            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
20586            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20587            'healthy: ' + repr(self.healthy) + ' ' +\
20588            'hostname: ' + repr(self.hostname) + ' ' +\
20589            'id: ' + repr(self.id) + ' ' +\
20590            'lock_required: ' + repr(self.lock_required) + ' ' +\
20591            'name: ' + repr(self.name) + ' ' +\
20592            'password: ' + repr(self.password) + ' ' +\
20593            'port: ' + repr(self.port) + ' ' +\
20594            'port_override: ' + repr(self.port_override) + ' ' +\
20595            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20596            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20597            'subdomain: ' + repr(self.subdomain) + ' ' +\
20598            'tags: ' + repr(self.tags) + ' ' +\
20599            'username: ' + repr(self.username) + ' ' +\
20600            '>'
20601
20602    def to_dict(self):
20603        return {
20604            'bind_interface': self.bind_interface,
20605            'downgrade_nla_connections': self.downgrade_nla_connections,
20606            'egress_filter': self.egress_filter,
20607            'healthy': self.healthy,
20608            'hostname': self.hostname,
20609            'id': self.id,
20610            'lock_required': self.lock_required,
20611            'name': self.name,
20612            'password': self.password,
20613            'port': self.port,
20614            'port_override': self.port_override,
20615            'proxy_cluster_id': self.proxy_cluster_id,
20616            'secret_store_id': self.secret_store_id,
20617            'subdomain': self.subdomain,
20618            'tags': self.tags,
20619            'username': self.username,
20620        }
20621
20622    @classmethod
20623    def from_dict(cls, d):
20624        return cls(
20625            bind_interface=d.get('bind_interface'),
20626            downgrade_nla_connections=d.get('downgrade_nla_connections'),
20627            egress_filter=d.get('egress_filter'),
20628            healthy=d.get('healthy'),
20629            hostname=d.get('hostname'),
20630            id=d.get('id'),
20631            lock_required=d.get('lock_required'),
20632            name=d.get('name'),
20633            password=d.get('password'),
20634            port=d.get('port'),
20635            port_override=d.get('port_override'),
20636            proxy_cluster_id=d.get('proxy_cluster_id'),
20637            secret_store_id=d.get('secret_store_id'),
20638            subdomain=d.get('subdomain'),
20639            tags=d.get('tags'),
20640            username=d.get('username'),
20641        )
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)
20498    def __init__(
20499        self,
20500        bind_interface=None,
20501        downgrade_nla_connections=None,
20502        egress_filter=None,
20503        healthy=None,
20504        hostname=None,
20505        id=None,
20506        lock_required=None,
20507        name=None,
20508        password=None,
20509        port=None,
20510        port_override=None,
20511        proxy_cluster_id=None,
20512        secret_store_id=None,
20513        subdomain=None,
20514        tags=None,
20515        username=None,
20516    ):
20517        self.bind_interface = bind_interface if bind_interface is not None else ''
20518        '''
20519         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20520        '''
20521        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
20522        '''
20523         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.
20524        '''
20525        self.egress_filter = egress_filter if egress_filter is not None else ''
20526        '''
20527         A filter applied to the routing logic to pin datasource to nodes.
20528        '''
20529        self.healthy = healthy if healthy is not None else False
20530        '''
20531         True if the datasource is reachable and the credentials are valid.
20532        '''
20533        self.hostname = hostname if hostname is not None else ''
20534        '''
20535         The host to dial to initiate a connection from the egress node to this resource.
20536        '''
20537        self.id = id if id is not None else ''
20538        '''
20539         Unique identifier of the Resource.
20540        '''
20541        self.lock_required = lock_required if lock_required is not None else False
20542        '''
20543         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
20544        '''
20545        self.name = name if name is not None else ''
20546        '''
20547         Unique human-readable name of the Resource.
20548        '''
20549        self.password = password if password is not None else ''
20550        '''
20551         The password to authenticate with.
20552        '''
20553        self.port = port if port is not None else 0
20554        '''
20555         The port to dial to initiate a connection from the egress node to this resource.
20556        '''
20557        self.port_override = port_override if port_override is not None else 0
20558        '''
20559         The local port used by clients to connect to this resource.
20560        '''
20561        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20562        '''
20563         ID of the proxy cluster for this resource, if any.
20564        '''
20565        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20566        '''
20567         ID of the secret store containing credentials for this resource, if any.
20568        '''
20569        self.subdomain = subdomain if subdomain is not None else ''
20570        '''
20571         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20572        '''
20573        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20574        '''
20575         Tags is a map of key, value pairs.
20576        '''
20577        self.username = username if username is not None else ''
20578        '''
20579         The username to authenticate with.
20580        '''
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)
20602    def to_dict(self):
20603        return {
20604            'bind_interface': self.bind_interface,
20605            'downgrade_nla_connections': self.downgrade_nla_connections,
20606            'egress_filter': self.egress_filter,
20607            'healthy': self.healthy,
20608            'hostname': self.hostname,
20609            'id': self.id,
20610            'lock_required': self.lock_required,
20611            'name': self.name,
20612            'password': self.password,
20613            'port': self.port,
20614            'port_override': self.port_override,
20615            'proxy_cluster_id': self.proxy_cluster_id,
20616            'secret_store_id': self.secret_store_id,
20617            'subdomain': self.subdomain,
20618            'tags': self.tags,
20619            'username': self.username,
20620        }
@classmethod
def from_dict(cls, d)
20622    @classmethod
20623    def from_dict(cls, d):
20624        return cls(
20625            bind_interface=d.get('bind_interface'),
20626            downgrade_nla_connections=d.get('downgrade_nla_connections'),
20627            egress_filter=d.get('egress_filter'),
20628            healthy=d.get('healthy'),
20629            hostname=d.get('hostname'),
20630            id=d.get('id'),
20631            lock_required=d.get('lock_required'),
20632            name=d.get('name'),
20633            password=d.get('password'),
20634            port=d.get('port'),
20635            port_override=d.get('port_override'),
20636            proxy_cluster_id=d.get('proxy_cluster_id'),
20637            secret_store_id=d.get('secret_store_id'),
20638            subdomain=d.get('subdomain'),
20639            tags=d.get('tags'),
20640            username=d.get('username'),
20641        )
class RDPCert:
20644class RDPCert:
20645    __slots__ = [
20646        'bind_interface',
20647        'egress_filter',
20648        'healthy',
20649        'hostname',
20650        'id',
20651        'identity_alias_healthcheck_username',
20652        'identity_set_id',
20653        'lock_required',
20654        'name',
20655        'port',
20656        'port_override',
20657        'proxy_cluster_id',
20658        'secret_store_id',
20659        'subdomain',
20660        'tags',
20661        'username',
20662    ]
20663
20664    def __init__(
20665        self,
20666        bind_interface=None,
20667        egress_filter=None,
20668        healthy=None,
20669        hostname=None,
20670        id=None,
20671        identity_alias_healthcheck_username=None,
20672        identity_set_id=None,
20673        lock_required=None,
20674        name=None,
20675        port=None,
20676        port_override=None,
20677        proxy_cluster_id=None,
20678        secret_store_id=None,
20679        subdomain=None,
20680        tags=None,
20681        username=None,
20682    ):
20683        self.bind_interface = bind_interface if bind_interface is not None else ''
20684        '''
20685         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20686        '''
20687        self.egress_filter = egress_filter if egress_filter is not None else ''
20688        '''
20689         A filter applied to the routing logic to pin datasource to nodes.
20690        '''
20691        self.healthy = healthy if healthy is not None else False
20692        '''
20693         True if the datasource is reachable and the credentials are valid.
20694        '''
20695        self.hostname = hostname if hostname is not None else ''
20696        '''
20697         The host to dial to initiate a connection from the egress node to this resource.
20698        '''
20699        self.id = id if id is not None else ''
20700        '''
20701         Unique identifier of the Resource.
20702        '''
20703        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
20704        '''
20705         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
20706        '''
20707        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
20708        '''
20709         The ID of the identity set to use for identity connections.
20710        '''
20711        self.lock_required = lock_required if lock_required is not None else False
20712        '''
20713         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
20714        '''
20715        self.name = name if name is not None else ''
20716        '''
20717         Unique human-readable name of the Resource.
20718        '''
20719        self.port = port if port is not None else 0
20720        '''
20721         The port to dial to initiate a connection from the egress node to this resource.
20722        '''
20723        self.port_override = port_override if port_override is not None else 0
20724        '''
20725         The local port used by clients to connect to this resource.
20726        '''
20727        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20728        '''
20729         ID of the proxy cluster for this resource, if any.
20730        '''
20731        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20732        '''
20733         ID of the secret store containing credentials for this resource, if any.
20734        '''
20735        self.subdomain = subdomain if subdomain is not None else ''
20736        '''
20737         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20738        '''
20739        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20740        '''
20741         Tags is a map of key, value pairs.
20742        '''
20743        self.username = username if username is not None else ''
20744        '''
20745         The username to authenticate with.
20746        '''
20747
20748    def __repr__(self):
20749        return '<sdm.RDPCert ' + \
20750            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20751            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20752            'healthy: ' + repr(self.healthy) + ' ' +\
20753            'hostname: ' + repr(self.hostname) + ' ' +\
20754            'id: ' + repr(self.id) + ' ' +\
20755            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
20756            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
20757            'lock_required: ' + repr(self.lock_required) + ' ' +\
20758            'name: ' + repr(self.name) + ' ' +\
20759            'port: ' + repr(self.port) + ' ' +\
20760            'port_override: ' + repr(self.port_override) + ' ' +\
20761            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20762            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20763            'subdomain: ' + repr(self.subdomain) + ' ' +\
20764            'tags: ' + repr(self.tags) + ' ' +\
20765            'username: ' + repr(self.username) + ' ' +\
20766            '>'
20767
20768    def to_dict(self):
20769        return {
20770            'bind_interface': self.bind_interface,
20771            'egress_filter': self.egress_filter,
20772            'healthy': self.healthy,
20773            'hostname': self.hostname,
20774            'id': self.id,
20775            'identity_alias_healthcheck_username':
20776            self.identity_alias_healthcheck_username,
20777            'identity_set_id': self.identity_set_id,
20778            'lock_required': self.lock_required,
20779            'name': self.name,
20780            'port': self.port,
20781            'port_override': self.port_override,
20782            'proxy_cluster_id': self.proxy_cluster_id,
20783            'secret_store_id': self.secret_store_id,
20784            'subdomain': self.subdomain,
20785            'tags': self.tags,
20786            'username': self.username,
20787        }
20788
20789    @classmethod
20790    def from_dict(cls, d):
20791        return cls(
20792            bind_interface=d.get('bind_interface'),
20793            egress_filter=d.get('egress_filter'),
20794            healthy=d.get('healthy'),
20795            hostname=d.get('hostname'),
20796            id=d.get('id'),
20797            identity_alias_healthcheck_username=d.get(
20798                'identity_alias_healthcheck_username'),
20799            identity_set_id=d.get('identity_set_id'),
20800            lock_required=d.get('lock_required'),
20801            name=d.get('name'),
20802            port=d.get('port'),
20803            port_override=d.get('port_override'),
20804            proxy_cluster_id=d.get('proxy_cluster_id'),
20805            secret_store_id=d.get('secret_store_id'),
20806            subdomain=d.get('subdomain'),
20807            tags=d.get('tags'),
20808            username=d.get('username'),
20809        )
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)
20664    def __init__(
20665        self,
20666        bind_interface=None,
20667        egress_filter=None,
20668        healthy=None,
20669        hostname=None,
20670        id=None,
20671        identity_alias_healthcheck_username=None,
20672        identity_set_id=None,
20673        lock_required=None,
20674        name=None,
20675        port=None,
20676        port_override=None,
20677        proxy_cluster_id=None,
20678        secret_store_id=None,
20679        subdomain=None,
20680        tags=None,
20681        username=None,
20682    ):
20683        self.bind_interface = bind_interface if bind_interface is not None else ''
20684        '''
20685         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20686        '''
20687        self.egress_filter = egress_filter if egress_filter is not None else ''
20688        '''
20689         A filter applied to the routing logic to pin datasource to nodes.
20690        '''
20691        self.healthy = healthy if healthy is not None else False
20692        '''
20693         True if the datasource is reachable and the credentials are valid.
20694        '''
20695        self.hostname = hostname if hostname is not None else ''
20696        '''
20697         The host to dial to initiate a connection from the egress node to this resource.
20698        '''
20699        self.id = id if id is not None else ''
20700        '''
20701         Unique identifier of the Resource.
20702        '''
20703        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
20704        '''
20705         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
20706        '''
20707        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
20708        '''
20709         The ID of the identity set to use for identity connections.
20710        '''
20711        self.lock_required = lock_required if lock_required is not None else False
20712        '''
20713         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
20714        '''
20715        self.name = name if name is not None else ''
20716        '''
20717         Unique human-readable name of the Resource.
20718        '''
20719        self.port = port if port is not None else 0
20720        '''
20721         The port to dial to initiate a connection from the egress node to this resource.
20722        '''
20723        self.port_override = port_override if port_override is not None else 0
20724        '''
20725         The local port used by clients to connect to this resource.
20726        '''
20727        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20728        '''
20729         ID of the proxy cluster for this resource, if any.
20730        '''
20731        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20732        '''
20733         ID of the secret store containing credentials for this resource, if any.
20734        '''
20735        self.subdomain = subdomain if subdomain is not None else ''
20736        '''
20737         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20738        '''
20739        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20740        '''
20741         Tags is a map of key, value pairs.
20742        '''
20743        self.username = username if username is not None else ''
20744        '''
20745         The username to authenticate with.
20746        '''
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)
20768    def to_dict(self):
20769        return {
20770            'bind_interface': self.bind_interface,
20771            'egress_filter': self.egress_filter,
20772            'healthy': self.healthy,
20773            'hostname': self.hostname,
20774            'id': self.id,
20775            'identity_alias_healthcheck_username':
20776            self.identity_alias_healthcheck_username,
20777            'identity_set_id': self.identity_set_id,
20778            'lock_required': self.lock_required,
20779            'name': self.name,
20780            'port': self.port,
20781            'port_override': self.port_override,
20782            'proxy_cluster_id': self.proxy_cluster_id,
20783            'secret_store_id': self.secret_store_id,
20784            'subdomain': self.subdomain,
20785            'tags': self.tags,
20786            'username': self.username,
20787        }
@classmethod
def from_dict(cls, d)
20789    @classmethod
20790    def from_dict(cls, d):
20791        return cls(
20792            bind_interface=d.get('bind_interface'),
20793            egress_filter=d.get('egress_filter'),
20794            healthy=d.get('healthy'),
20795            hostname=d.get('hostname'),
20796            id=d.get('id'),
20797            identity_alias_healthcheck_username=d.get(
20798                'identity_alias_healthcheck_username'),
20799            identity_set_id=d.get('identity_set_id'),
20800            lock_required=d.get('lock_required'),
20801            name=d.get('name'),
20802            port=d.get('port'),
20803            port_override=d.get('port_override'),
20804            proxy_cluster_id=d.get('proxy_cluster_id'),
20805            secret_store_id=d.get('secret_store_id'),
20806            subdomain=d.get('subdomain'),
20807            tags=d.get('tags'),
20808            username=d.get('username'),
20809        )
class RDSPostgresIAM:
20812class RDSPostgresIAM:
20813    __slots__ = [
20814        'bind_interface',
20815        'database',
20816        'egress_filter',
20817        'healthy',
20818        'hostname',
20819        'id',
20820        'name',
20821        'override_database',
20822        'port',
20823        'port_override',
20824        'proxy_cluster_id',
20825        'region',
20826        'role_assumption_arn',
20827        'secret_store_id',
20828        'subdomain',
20829        'tags',
20830        'username',
20831    ]
20832
20833    def __init__(
20834        self,
20835        bind_interface=None,
20836        database=None,
20837        egress_filter=None,
20838        healthy=None,
20839        hostname=None,
20840        id=None,
20841        name=None,
20842        override_database=None,
20843        port=None,
20844        port_override=None,
20845        proxy_cluster_id=None,
20846        region=None,
20847        role_assumption_arn=None,
20848        secret_store_id=None,
20849        subdomain=None,
20850        tags=None,
20851        username=None,
20852    ):
20853        self.bind_interface = bind_interface if bind_interface is not None else ''
20854        '''
20855         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20856        '''
20857        self.database = database if database is not None else ''
20858        '''
20859         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20860        '''
20861        self.egress_filter = egress_filter if egress_filter is not None else ''
20862        '''
20863         A filter applied to the routing logic to pin datasource to nodes.
20864        '''
20865        self.healthy = healthy if healthy is not None else False
20866        '''
20867         True if the datasource is reachable and the credentials are valid.
20868        '''
20869        self.hostname = hostname if hostname is not None else ''
20870        '''
20871         The host to dial to initiate a connection from the egress node to this resource.
20872        '''
20873        self.id = id if id is not None else ''
20874        '''
20875         Unique identifier of the Resource.
20876        '''
20877        self.name = name if name is not None else ''
20878        '''
20879         Unique human-readable name of the Resource.
20880        '''
20881        self.override_database = override_database if override_database is not None else False
20882        '''
20883         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.
20884        '''
20885        self.port = port if port is not None else 0
20886        '''
20887         The port to dial to initiate a connection from the egress node to this resource.
20888        '''
20889        self.port_override = port_override if port_override is not None else 0
20890        '''
20891         The local port used by clients to connect to this resource.
20892        '''
20893        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20894        '''
20895         ID of the proxy cluster for this resource, if any.
20896        '''
20897        self.region = region if region is not None else ''
20898        '''
20899         The AWS region to connect to.
20900        '''
20901        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
20902        '''
20903         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
20904        '''
20905        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20906        '''
20907         ID of the secret store containing credentials for this resource, if any.
20908        '''
20909        self.subdomain = subdomain if subdomain is not None else ''
20910        '''
20911         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20912        '''
20913        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20914        '''
20915         Tags is a map of key, value pairs.
20916        '''
20917        self.username = username if username is not None else ''
20918        '''
20919         The username to authenticate with.
20920        '''
20921
20922    def __repr__(self):
20923        return '<sdm.RDSPostgresIAM ' + \
20924            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20925            'database: ' + repr(self.database) + ' ' +\
20926            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20927            'healthy: ' + repr(self.healthy) + ' ' +\
20928            'hostname: ' + repr(self.hostname) + ' ' +\
20929            'id: ' + repr(self.id) + ' ' +\
20930            'name: ' + repr(self.name) + ' ' +\
20931            'override_database: ' + repr(self.override_database) + ' ' +\
20932            'port: ' + repr(self.port) + ' ' +\
20933            'port_override: ' + repr(self.port_override) + ' ' +\
20934            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20935            'region: ' + repr(self.region) + ' ' +\
20936            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
20937            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20938            'subdomain: ' + repr(self.subdomain) + ' ' +\
20939            'tags: ' + repr(self.tags) + ' ' +\
20940            'username: ' + repr(self.username) + ' ' +\
20941            '>'
20942
20943    def to_dict(self):
20944        return {
20945            'bind_interface': self.bind_interface,
20946            'database': self.database,
20947            'egress_filter': self.egress_filter,
20948            'healthy': self.healthy,
20949            'hostname': self.hostname,
20950            'id': self.id,
20951            'name': self.name,
20952            'override_database': self.override_database,
20953            'port': self.port,
20954            'port_override': self.port_override,
20955            'proxy_cluster_id': self.proxy_cluster_id,
20956            'region': self.region,
20957            'role_assumption_arn': self.role_assumption_arn,
20958            'secret_store_id': self.secret_store_id,
20959            'subdomain': self.subdomain,
20960            'tags': self.tags,
20961            'username': self.username,
20962        }
20963
20964    @classmethod
20965    def from_dict(cls, d):
20966        return cls(
20967            bind_interface=d.get('bind_interface'),
20968            database=d.get('database'),
20969            egress_filter=d.get('egress_filter'),
20970            healthy=d.get('healthy'),
20971            hostname=d.get('hostname'),
20972            id=d.get('id'),
20973            name=d.get('name'),
20974            override_database=d.get('override_database'),
20975            port=d.get('port'),
20976            port_override=d.get('port_override'),
20977            proxy_cluster_id=d.get('proxy_cluster_id'),
20978            region=d.get('region'),
20979            role_assumption_arn=d.get('role_assumption_arn'),
20980            secret_store_id=d.get('secret_store_id'),
20981            subdomain=d.get('subdomain'),
20982            tags=d.get('tags'),
20983            username=d.get('username'),
20984        )
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)
20833    def __init__(
20834        self,
20835        bind_interface=None,
20836        database=None,
20837        egress_filter=None,
20838        healthy=None,
20839        hostname=None,
20840        id=None,
20841        name=None,
20842        override_database=None,
20843        port=None,
20844        port_override=None,
20845        proxy_cluster_id=None,
20846        region=None,
20847        role_assumption_arn=None,
20848        secret_store_id=None,
20849        subdomain=None,
20850        tags=None,
20851        username=None,
20852    ):
20853        self.bind_interface = bind_interface if bind_interface is not None else ''
20854        '''
20855         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20856        '''
20857        self.database = database if database is not None else ''
20858        '''
20859         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20860        '''
20861        self.egress_filter = egress_filter if egress_filter is not None else ''
20862        '''
20863         A filter applied to the routing logic to pin datasource to nodes.
20864        '''
20865        self.healthy = healthy if healthy is not None else False
20866        '''
20867         True if the datasource is reachable and the credentials are valid.
20868        '''
20869        self.hostname = hostname if hostname is not None else ''
20870        '''
20871         The host to dial to initiate a connection from the egress node to this resource.
20872        '''
20873        self.id = id if id is not None else ''
20874        '''
20875         Unique identifier of the Resource.
20876        '''
20877        self.name = name if name is not None else ''
20878        '''
20879         Unique human-readable name of the Resource.
20880        '''
20881        self.override_database = override_database if override_database is not None else False
20882        '''
20883         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.
20884        '''
20885        self.port = port if port is not None else 0
20886        '''
20887         The port to dial to initiate a connection from the egress node to this resource.
20888        '''
20889        self.port_override = port_override if port_override is not None else 0
20890        '''
20891         The local port used by clients to connect to this resource.
20892        '''
20893        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20894        '''
20895         ID of the proxy cluster for this resource, if any.
20896        '''
20897        self.region = region if region is not None else ''
20898        '''
20899         The AWS region to connect to.
20900        '''
20901        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
20902        '''
20903         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
20904        '''
20905        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20906        '''
20907         ID of the secret store containing credentials for this resource, if any.
20908        '''
20909        self.subdomain = subdomain if subdomain is not None else ''
20910        '''
20911         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20912        '''
20913        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20914        '''
20915         Tags is a map of key, value pairs.
20916        '''
20917        self.username = username if username is not None else ''
20918        '''
20919         The username to authenticate with.
20920        '''
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)
20943    def to_dict(self):
20944        return {
20945            'bind_interface': self.bind_interface,
20946            'database': self.database,
20947            'egress_filter': self.egress_filter,
20948            'healthy': self.healthy,
20949            'hostname': self.hostname,
20950            'id': self.id,
20951            'name': self.name,
20952            'override_database': self.override_database,
20953            'port': self.port,
20954            'port_override': self.port_override,
20955            'proxy_cluster_id': self.proxy_cluster_id,
20956            'region': self.region,
20957            'role_assumption_arn': self.role_assumption_arn,
20958            'secret_store_id': self.secret_store_id,
20959            'subdomain': self.subdomain,
20960            'tags': self.tags,
20961            'username': self.username,
20962        }
@classmethod
def from_dict(cls, d)
20964    @classmethod
20965    def from_dict(cls, d):
20966        return cls(
20967            bind_interface=d.get('bind_interface'),
20968            database=d.get('database'),
20969            egress_filter=d.get('egress_filter'),
20970            healthy=d.get('healthy'),
20971            hostname=d.get('hostname'),
20972            id=d.get('id'),
20973            name=d.get('name'),
20974            override_database=d.get('override_database'),
20975            port=d.get('port'),
20976            port_override=d.get('port_override'),
20977            proxy_cluster_id=d.get('proxy_cluster_id'),
20978            region=d.get('region'),
20979            role_assumption_arn=d.get('role_assumption_arn'),
20980            secret_store_id=d.get('secret_store_id'),
20981            subdomain=d.get('subdomain'),
20982            tags=d.get('tags'),
20983            username=d.get('username'),
20984        )
class RabbitMQAMQP091:
20987class RabbitMQAMQP091:
20988    __slots__ = [
20989        'bind_interface',
20990        'egress_filter',
20991        'healthy',
20992        'hostname',
20993        'id',
20994        'name',
20995        'password',
20996        'port',
20997        'port_override',
20998        'proxy_cluster_id',
20999        'secret_store_id',
21000        'subdomain',
21001        'tags',
21002        'tls_required',
21003        'username',
21004    ]
21005
21006    def __init__(
21007        self,
21008        bind_interface=None,
21009        egress_filter=None,
21010        healthy=None,
21011        hostname=None,
21012        id=None,
21013        name=None,
21014        password=None,
21015        port=None,
21016        port_override=None,
21017        proxy_cluster_id=None,
21018        secret_store_id=None,
21019        subdomain=None,
21020        tags=None,
21021        tls_required=None,
21022        username=None,
21023    ):
21024        self.bind_interface = bind_interface if bind_interface is not None else ''
21025        '''
21026         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21027        '''
21028        self.egress_filter = egress_filter if egress_filter is not None else ''
21029        '''
21030         A filter applied to the routing logic to pin datasource to nodes.
21031        '''
21032        self.healthy = healthy if healthy is not None else False
21033        '''
21034         True if the datasource is reachable and the credentials are valid.
21035        '''
21036        self.hostname = hostname if hostname is not None else ''
21037        '''
21038         The host to dial to initiate a connection from the egress node to this resource.
21039        '''
21040        self.id = id if id is not None else ''
21041        '''
21042         Unique identifier of the Resource.
21043        '''
21044        self.name = name if name is not None else ''
21045        '''
21046         Unique human-readable name of the Resource.
21047        '''
21048        self.password = password if password is not None else ''
21049        '''
21050         The password to authenticate with.
21051        '''
21052        self.port = port if port is not None else 0
21053        '''
21054         The port to dial to initiate a connection from the egress node to this resource.
21055        '''
21056        self.port_override = port_override if port_override is not None else 0
21057        '''
21058         The local port used by clients to connect to this resource.
21059        '''
21060        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21061        '''
21062         ID of the proxy cluster for this resource, if any.
21063        '''
21064        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21065        '''
21066         ID of the secret store containing credentials for this resource, if any.
21067        '''
21068        self.subdomain = subdomain if subdomain is not None else ''
21069        '''
21070         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21071        '''
21072        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21073        '''
21074         Tags is a map of key, value pairs.
21075        '''
21076        self.tls_required = tls_required if tls_required is not None else False
21077        '''
21078         If set, TLS must be used to connect to this resource.
21079        '''
21080        self.username = username if username is not None else ''
21081        '''
21082         The username to authenticate with.
21083        '''
21084
21085    def __repr__(self):
21086        return '<sdm.RabbitMQAMQP091 ' + \
21087            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21088            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21089            'healthy: ' + repr(self.healthy) + ' ' +\
21090            'hostname: ' + repr(self.hostname) + ' ' +\
21091            'id: ' + repr(self.id) + ' ' +\
21092            'name: ' + repr(self.name) + ' ' +\
21093            'password: ' + repr(self.password) + ' ' +\
21094            'port: ' + repr(self.port) + ' ' +\
21095            'port_override: ' + repr(self.port_override) + ' ' +\
21096            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21097            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21098            'subdomain: ' + repr(self.subdomain) + ' ' +\
21099            'tags: ' + repr(self.tags) + ' ' +\
21100            'tls_required: ' + repr(self.tls_required) + ' ' +\
21101            'username: ' + repr(self.username) + ' ' +\
21102            '>'
21103
21104    def to_dict(self):
21105        return {
21106            'bind_interface': self.bind_interface,
21107            'egress_filter': self.egress_filter,
21108            'healthy': self.healthy,
21109            'hostname': self.hostname,
21110            'id': self.id,
21111            'name': self.name,
21112            'password': self.password,
21113            'port': self.port,
21114            'port_override': self.port_override,
21115            'proxy_cluster_id': self.proxy_cluster_id,
21116            'secret_store_id': self.secret_store_id,
21117            'subdomain': self.subdomain,
21118            'tags': self.tags,
21119            'tls_required': self.tls_required,
21120            'username': self.username,
21121        }
21122
21123    @classmethod
21124    def from_dict(cls, d):
21125        return cls(
21126            bind_interface=d.get('bind_interface'),
21127            egress_filter=d.get('egress_filter'),
21128            healthy=d.get('healthy'),
21129            hostname=d.get('hostname'),
21130            id=d.get('id'),
21131            name=d.get('name'),
21132            password=d.get('password'),
21133            port=d.get('port'),
21134            port_override=d.get('port_override'),
21135            proxy_cluster_id=d.get('proxy_cluster_id'),
21136            secret_store_id=d.get('secret_store_id'),
21137            subdomain=d.get('subdomain'),
21138            tags=d.get('tags'),
21139            tls_required=d.get('tls_required'),
21140            username=d.get('username'),
21141        )
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)
21006    def __init__(
21007        self,
21008        bind_interface=None,
21009        egress_filter=None,
21010        healthy=None,
21011        hostname=None,
21012        id=None,
21013        name=None,
21014        password=None,
21015        port=None,
21016        port_override=None,
21017        proxy_cluster_id=None,
21018        secret_store_id=None,
21019        subdomain=None,
21020        tags=None,
21021        tls_required=None,
21022        username=None,
21023    ):
21024        self.bind_interface = bind_interface if bind_interface is not None else ''
21025        '''
21026         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21027        '''
21028        self.egress_filter = egress_filter if egress_filter is not None else ''
21029        '''
21030         A filter applied to the routing logic to pin datasource to nodes.
21031        '''
21032        self.healthy = healthy if healthy is not None else False
21033        '''
21034         True if the datasource is reachable and the credentials are valid.
21035        '''
21036        self.hostname = hostname if hostname is not None else ''
21037        '''
21038         The host to dial to initiate a connection from the egress node to this resource.
21039        '''
21040        self.id = id if id is not None else ''
21041        '''
21042         Unique identifier of the Resource.
21043        '''
21044        self.name = name if name is not None else ''
21045        '''
21046         Unique human-readable name of the Resource.
21047        '''
21048        self.password = password if password is not None else ''
21049        '''
21050         The password to authenticate with.
21051        '''
21052        self.port = port if port is not None else 0
21053        '''
21054         The port to dial to initiate a connection from the egress node to this resource.
21055        '''
21056        self.port_override = port_override if port_override is not None else 0
21057        '''
21058         The local port used by clients to connect to this resource.
21059        '''
21060        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21061        '''
21062         ID of the proxy cluster for this resource, if any.
21063        '''
21064        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21065        '''
21066         ID of the secret store containing credentials for this resource, if any.
21067        '''
21068        self.subdomain = subdomain if subdomain is not None else ''
21069        '''
21070         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21071        '''
21072        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21073        '''
21074         Tags is a map of key, value pairs.
21075        '''
21076        self.tls_required = tls_required if tls_required is not None else False
21077        '''
21078         If set, TLS must be used to connect to this resource.
21079        '''
21080        self.username = username if username is not None else ''
21081        '''
21082         The username to authenticate with.
21083        '''
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)
21104    def to_dict(self):
21105        return {
21106            'bind_interface': self.bind_interface,
21107            'egress_filter': self.egress_filter,
21108            'healthy': self.healthy,
21109            'hostname': self.hostname,
21110            'id': self.id,
21111            'name': self.name,
21112            'password': self.password,
21113            'port': self.port,
21114            'port_override': self.port_override,
21115            'proxy_cluster_id': self.proxy_cluster_id,
21116            'secret_store_id': self.secret_store_id,
21117            'subdomain': self.subdomain,
21118            'tags': self.tags,
21119            'tls_required': self.tls_required,
21120            'username': self.username,
21121        }
@classmethod
def from_dict(cls, d)
21123    @classmethod
21124    def from_dict(cls, d):
21125        return cls(
21126            bind_interface=d.get('bind_interface'),
21127            egress_filter=d.get('egress_filter'),
21128            healthy=d.get('healthy'),
21129            hostname=d.get('hostname'),
21130            id=d.get('id'),
21131            name=d.get('name'),
21132            password=d.get('password'),
21133            port=d.get('port'),
21134            port_override=d.get('port_override'),
21135            proxy_cluster_id=d.get('proxy_cluster_id'),
21136            secret_store_id=d.get('secret_store_id'),
21137            subdomain=d.get('subdomain'),
21138            tags=d.get('tags'),
21139            tls_required=d.get('tls_required'),
21140            username=d.get('username'),
21141        )
class RateLimitMetadata:
21144class RateLimitMetadata:
21145    '''
21146         RateLimitMetadata contains information about remaining requests avaialable
21147     to the user over some timeframe.
21148    '''
21149    __slots__ = [
21150        'bucket',
21151        'limit',
21152        'remaining',
21153        'reset_at',
21154    ]
21155
21156    def __init__(
21157        self,
21158        bucket=None,
21159        limit=None,
21160        remaining=None,
21161        reset_at=None,
21162    ):
21163        self.bucket = bucket if bucket is not None else ''
21164        '''
21165         The bucket this user/token is associated with, which may be shared between
21166         multiple users/tokens.
21167        '''
21168        self.limit = limit if limit is not None else 0
21169        '''
21170         How many total requests the user/token is authorized to make before being
21171         rate limited.
21172        '''
21173        self.remaining = remaining if remaining is not None else 0
21174        '''
21175         How many remaining requests out of the limit are still avaialable.
21176        '''
21177        self.reset_at = reset_at if reset_at is not None else None
21178        '''
21179         The time when remaining will be reset to limit.
21180        '''
21181
21182    def __repr__(self):
21183        return '<sdm.RateLimitMetadata ' + \
21184            'bucket: ' + repr(self.bucket) + ' ' +\
21185            'limit: ' + repr(self.limit) + ' ' +\
21186            'remaining: ' + repr(self.remaining) + ' ' +\
21187            'reset_at: ' + repr(self.reset_at) + ' ' +\
21188            '>'
21189
21190    def to_dict(self):
21191        return {
21192            'bucket': self.bucket,
21193            'limit': self.limit,
21194            'remaining': self.remaining,
21195            'reset_at': self.reset_at,
21196        }
21197
21198    @classmethod
21199    def from_dict(cls, d):
21200        return cls(
21201            bucket=d.get('bucket'),
21202            limit=d.get('limit'),
21203            remaining=d.get('remaining'),
21204            reset_at=d.get('reset_at'),
21205        )

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

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
21156    def __init__(
21157        self,
21158        bucket=None,
21159        limit=None,
21160        remaining=None,
21161        reset_at=None,
21162    ):
21163        self.bucket = bucket if bucket is not None else ''
21164        '''
21165         The bucket this user/token is associated with, which may be shared between
21166         multiple users/tokens.
21167        '''
21168        self.limit = limit if limit is not None else 0
21169        '''
21170         How many total requests the user/token is authorized to make before being
21171         rate limited.
21172        '''
21173        self.remaining = remaining if remaining is not None else 0
21174        '''
21175         How many remaining requests out of the limit are still avaialable.
21176        '''
21177        self.reset_at = reset_at if reset_at is not None else None
21178        '''
21179         The time when remaining will be reset to limit.
21180        '''
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)
21190    def to_dict(self):
21191        return {
21192            'bucket': self.bucket,
21193            'limit': self.limit,
21194            'remaining': self.remaining,
21195            'reset_at': self.reset_at,
21196        }
@classmethod
def from_dict(cls, d)
21198    @classmethod
21199    def from_dict(cls, d):
21200        return cls(
21201            bucket=d.get('bucket'),
21202            limit=d.get('limit'),
21203            remaining=d.get('remaining'),
21204            reset_at=d.get('reset_at'),
21205        )
class RawTCP:
21208class RawTCP:
21209    __slots__ = [
21210        'bind_interface',
21211        'egress_filter',
21212        'healthy',
21213        'hostname',
21214        'id',
21215        'name',
21216        'port',
21217        'port_override',
21218        'proxy_cluster_id',
21219        'secret_store_id',
21220        'subdomain',
21221        'tags',
21222    ]
21223
21224    def __init__(
21225        self,
21226        bind_interface=None,
21227        egress_filter=None,
21228        healthy=None,
21229        hostname=None,
21230        id=None,
21231        name=None,
21232        port=None,
21233        port_override=None,
21234        proxy_cluster_id=None,
21235        secret_store_id=None,
21236        subdomain=None,
21237        tags=None,
21238    ):
21239        self.bind_interface = bind_interface if bind_interface is not None else ''
21240        '''
21241         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21242        '''
21243        self.egress_filter = egress_filter if egress_filter is not None else ''
21244        '''
21245         A filter applied to the routing logic to pin datasource to nodes.
21246        '''
21247        self.healthy = healthy if healthy is not None else False
21248        '''
21249         True if the datasource is reachable and the credentials are valid.
21250        '''
21251        self.hostname = hostname if hostname is not None else ''
21252        '''
21253         The host to dial to initiate a connection from the egress node to this resource.
21254        '''
21255        self.id = id if id is not None else ''
21256        '''
21257         Unique identifier of the Resource.
21258        '''
21259        self.name = name if name is not None else ''
21260        '''
21261         Unique human-readable name of the Resource.
21262        '''
21263        self.port = port if port is not None else 0
21264        '''
21265         The port to dial to initiate a connection from the egress node to this resource.
21266        '''
21267        self.port_override = port_override if port_override is not None else 0
21268        '''
21269         The local port used by clients to connect to this resource.
21270        '''
21271        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21272        '''
21273         ID of the proxy cluster for this resource, if any.
21274        '''
21275        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21276        '''
21277         ID of the secret store containing credentials for this resource, if any.
21278        '''
21279        self.subdomain = subdomain if subdomain is not None else ''
21280        '''
21281         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21282        '''
21283        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21284        '''
21285         Tags is a map of key, value pairs.
21286        '''
21287
21288    def __repr__(self):
21289        return '<sdm.RawTCP ' + \
21290            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21291            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21292            'healthy: ' + repr(self.healthy) + ' ' +\
21293            'hostname: ' + repr(self.hostname) + ' ' +\
21294            'id: ' + repr(self.id) + ' ' +\
21295            'name: ' + repr(self.name) + ' ' +\
21296            'port: ' + repr(self.port) + ' ' +\
21297            'port_override: ' + repr(self.port_override) + ' ' +\
21298            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21299            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21300            'subdomain: ' + repr(self.subdomain) + ' ' +\
21301            'tags: ' + repr(self.tags) + ' ' +\
21302            '>'
21303
21304    def to_dict(self):
21305        return {
21306            'bind_interface': self.bind_interface,
21307            'egress_filter': self.egress_filter,
21308            'healthy': self.healthy,
21309            'hostname': self.hostname,
21310            'id': self.id,
21311            'name': self.name,
21312            'port': self.port,
21313            'port_override': self.port_override,
21314            'proxy_cluster_id': self.proxy_cluster_id,
21315            'secret_store_id': self.secret_store_id,
21316            'subdomain': self.subdomain,
21317            'tags': self.tags,
21318        }
21319
21320    @classmethod
21321    def from_dict(cls, d):
21322        return cls(
21323            bind_interface=d.get('bind_interface'),
21324            egress_filter=d.get('egress_filter'),
21325            healthy=d.get('healthy'),
21326            hostname=d.get('hostname'),
21327            id=d.get('id'),
21328            name=d.get('name'),
21329            port=d.get('port'),
21330            port_override=d.get('port_override'),
21331            proxy_cluster_id=d.get('proxy_cluster_id'),
21332            secret_store_id=d.get('secret_store_id'),
21333            subdomain=d.get('subdomain'),
21334            tags=d.get('tags'),
21335        )
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)
21224    def __init__(
21225        self,
21226        bind_interface=None,
21227        egress_filter=None,
21228        healthy=None,
21229        hostname=None,
21230        id=None,
21231        name=None,
21232        port=None,
21233        port_override=None,
21234        proxy_cluster_id=None,
21235        secret_store_id=None,
21236        subdomain=None,
21237        tags=None,
21238    ):
21239        self.bind_interface = bind_interface if bind_interface is not None else ''
21240        '''
21241         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21242        '''
21243        self.egress_filter = egress_filter if egress_filter is not None else ''
21244        '''
21245         A filter applied to the routing logic to pin datasource to nodes.
21246        '''
21247        self.healthy = healthy if healthy is not None else False
21248        '''
21249         True if the datasource is reachable and the credentials are valid.
21250        '''
21251        self.hostname = hostname if hostname is not None else ''
21252        '''
21253         The host to dial to initiate a connection from the egress node to this resource.
21254        '''
21255        self.id = id if id is not None else ''
21256        '''
21257         Unique identifier of the Resource.
21258        '''
21259        self.name = name if name is not None else ''
21260        '''
21261         Unique human-readable name of the Resource.
21262        '''
21263        self.port = port if port is not None else 0
21264        '''
21265         The port to dial to initiate a connection from the egress node to this resource.
21266        '''
21267        self.port_override = port_override if port_override is not None else 0
21268        '''
21269         The local port used by clients to connect to this resource.
21270        '''
21271        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21272        '''
21273         ID of the proxy cluster for this resource, if any.
21274        '''
21275        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21276        '''
21277         ID of the secret store containing credentials for this resource, if any.
21278        '''
21279        self.subdomain = subdomain if subdomain is not None else ''
21280        '''
21281         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21282        '''
21283        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21284        '''
21285         Tags is a map of key, value pairs.
21286        '''
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)
21304    def to_dict(self):
21305        return {
21306            'bind_interface': self.bind_interface,
21307            'egress_filter': self.egress_filter,
21308            'healthy': self.healthy,
21309            'hostname': self.hostname,
21310            'id': self.id,
21311            'name': self.name,
21312            'port': self.port,
21313            'port_override': self.port_override,
21314            'proxy_cluster_id': self.proxy_cluster_id,
21315            'secret_store_id': self.secret_store_id,
21316            'subdomain': self.subdomain,
21317            'tags': self.tags,
21318        }
@classmethod
def from_dict(cls, d)
21320    @classmethod
21321    def from_dict(cls, d):
21322        return cls(
21323            bind_interface=d.get('bind_interface'),
21324            egress_filter=d.get('egress_filter'),
21325            healthy=d.get('healthy'),
21326            hostname=d.get('hostname'),
21327            id=d.get('id'),
21328            name=d.get('name'),
21329            port=d.get('port'),
21330            port_override=d.get('port_override'),
21331            proxy_cluster_id=d.get('proxy_cluster_id'),
21332            secret_store_id=d.get('secret_store_id'),
21333            subdomain=d.get('subdomain'),
21334            tags=d.get('tags'),
21335        )
class Redis:
21338class Redis:
21339    __slots__ = [
21340        'bind_interface',
21341        'egress_filter',
21342        'healthy',
21343        'hostname',
21344        'id',
21345        'name',
21346        'password',
21347        'port',
21348        'port_override',
21349        'proxy_cluster_id',
21350        'secret_store_id',
21351        'subdomain',
21352        'tags',
21353        'tls_required',
21354        'username',
21355    ]
21356
21357    def __init__(
21358        self,
21359        bind_interface=None,
21360        egress_filter=None,
21361        healthy=None,
21362        hostname=None,
21363        id=None,
21364        name=None,
21365        password=None,
21366        port=None,
21367        port_override=None,
21368        proxy_cluster_id=None,
21369        secret_store_id=None,
21370        subdomain=None,
21371        tags=None,
21372        tls_required=None,
21373        username=None,
21374    ):
21375        self.bind_interface = bind_interface if bind_interface is not None else ''
21376        '''
21377         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21378        '''
21379        self.egress_filter = egress_filter if egress_filter is not None else ''
21380        '''
21381         A filter applied to the routing logic to pin datasource to nodes.
21382        '''
21383        self.healthy = healthy if healthy is not None else False
21384        '''
21385         True if the datasource is reachable and the credentials are valid.
21386        '''
21387        self.hostname = hostname if hostname is not None else ''
21388        '''
21389         The host to dial to initiate a connection from the egress node to this resource.
21390        '''
21391        self.id = id if id is not None else ''
21392        '''
21393         Unique identifier of the Resource.
21394        '''
21395        self.name = name if name is not None else ''
21396        '''
21397         Unique human-readable name of the Resource.
21398        '''
21399        self.password = password if password is not None else ''
21400        '''
21401         The password to authenticate with.
21402        '''
21403        self.port = port if port is not None else 0
21404        '''
21405         The port to dial to initiate a connection from the egress node to this resource.
21406        '''
21407        self.port_override = port_override if port_override is not None else 0
21408        '''
21409         The local port used by clients to connect to this resource.
21410        '''
21411        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21412        '''
21413         ID of the proxy cluster for this resource, if any.
21414        '''
21415        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21416        '''
21417         ID of the secret store containing credentials for this resource, if any.
21418        '''
21419        self.subdomain = subdomain if subdomain is not None else ''
21420        '''
21421         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21422        '''
21423        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21424        '''
21425         Tags is a map of key, value pairs.
21426        '''
21427        self.tls_required = tls_required if tls_required is not None else False
21428        '''
21429         If set, TLS must be used to connect to this resource.
21430        '''
21431        self.username = username if username is not None else ''
21432        '''
21433         The username to authenticate with.
21434        '''
21435
21436    def __repr__(self):
21437        return '<sdm.Redis ' + \
21438            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21439            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21440            'healthy: ' + repr(self.healthy) + ' ' +\
21441            'hostname: ' + repr(self.hostname) + ' ' +\
21442            'id: ' + repr(self.id) + ' ' +\
21443            'name: ' + repr(self.name) + ' ' +\
21444            'password: ' + repr(self.password) + ' ' +\
21445            'port: ' + repr(self.port) + ' ' +\
21446            'port_override: ' + repr(self.port_override) + ' ' +\
21447            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21448            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21449            'subdomain: ' + repr(self.subdomain) + ' ' +\
21450            'tags: ' + repr(self.tags) + ' ' +\
21451            'tls_required: ' + repr(self.tls_required) + ' ' +\
21452            'username: ' + repr(self.username) + ' ' +\
21453            '>'
21454
21455    def to_dict(self):
21456        return {
21457            'bind_interface': self.bind_interface,
21458            'egress_filter': self.egress_filter,
21459            'healthy': self.healthy,
21460            'hostname': self.hostname,
21461            'id': self.id,
21462            'name': self.name,
21463            'password': self.password,
21464            'port': self.port,
21465            'port_override': self.port_override,
21466            'proxy_cluster_id': self.proxy_cluster_id,
21467            'secret_store_id': self.secret_store_id,
21468            'subdomain': self.subdomain,
21469            'tags': self.tags,
21470            'tls_required': self.tls_required,
21471            'username': self.username,
21472        }
21473
21474    @classmethod
21475    def from_dict(cls, d):
21476        return cls(
21477            bind_interface=d.get('bind_interface'),
21478            egress_filter=d.get('egress_filter'),
21479            healthy=d.get('healthy'),
21480            hostname=d.get('hostname'),
21481            id=d.get('id'),
21482            name=d.get('name'),
21483            password=d.get('password'),
21484            port=d.get('port'),
21485            port_override=d.get('port_override'),
21486            proxy_cluster_id=d.get('proxy_cluster_id'),
21487            secret_store_id=d.get('secret_store_id'),
21488            subdomain=d.get('subdomain'),
21489            tags=d.get('tags'),
21490            tls_required=d.get('tls_required'),
21491            username=d.get('username'),
21492        )
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)
21357    def __init__(
21358        self,
21359        bind_interface=None,
21360        egress_filter=None,
21361        healthy=None,
21362        hostname=None,
21363        id=None,
21364        name=None,
21365        password=None,
21366        port=None,
21367        port_override=None,
21368        proxy_cluster_id=None,
21369        secret_store_id=None,
21370        subdomain=None,
21371        tags=None,
21372        tls_required=None,
21373        username=None,
21374    ):
21375        self.bind_interface = bind_interface if bind_interface is not None else ''
21376        '''
21377         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21378        '''
21379        self.egress_filter = egress_filter if egress_filter is not None else ''
21380        '''
21381         A filter applied to the routing logic to pin datasource to nodes.
21382        '''
21383        self.healthy = healthy if healthy is not None else False
21384        '''
21385         True if the datasource is reachable and the credentials are valid.
21386        '''
21387        self.hostname = hostname if hostname is not None else ''
21388        '''
21389         The host to dial to initiate a connection from the egress node to this resource.
21390        '''
21391        self.id = id if id is not None else ''
21392        '''
21393         Unique identifier of the Resource.
21394        '''
21395        self.name = name if name is not None else ''
21396        '''
21397         Unique human-readable name of the Resource.
21398        '''
21399        self.password = password if password is not None else ''
21400        '''
21401         The password to authenticate with.
21402        '''
21403        self.port = port if port is not None else 0
21404        '''
21405         The port to dial to initiate a connection from the egress node to this resource.
21406        '''
21407        self.port_override = port_override if port_override is not None else 0
21408        '''
21409         The local port used by clients to connect to this resource.
21410        '''
21411        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21412        '''
21413         ID of the proxy cluster for this resource, if any.
21414        '''
21415        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21416        '''
21417         ID of the secret store containing credentials for this resource, if any.
21418        '''
21419        self.subdomain = subdomain if subdomain is not None else ''
21420        '''
21421         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21422        '''
21423        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21424        '''
21425         Tags is a map of key, value pairs.
21426        '''
21427        self.tls_required = tls_required if tls_required is not None else False
21428        '''
21429         If set, TLS must be used to connect to this resource.
21430        '''
21431        self.username = username if username is not None else ''
21432        '''
21433         The username to authenticate with.
21434        '''
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)
21455    def to_dict(self):
21456        return {
21457            'bind_interface': self.bind_interface,
21458            'egress_filter': self.egress_filter,
21459            'healthy': self.healthy,
21460            'hostname': self.hostname,
21461            'id': self.id,
21462            'name': self.name,
21463            'password': self.password,
21464            'port': self.port,
21465            'port_override': self.port_override,
21466            'proxy_cluster_id': self.proxy_cluster_id,
21467            'secret_store_id': self.secret_store_id,
21468            'subdomain': self.subdomain,
21469            'tags': self.tags,
21470            'tls_required': self.tls_required,
21471            'username': self.username,
21472        }
@classmethod
def from_dict(cls, d)
21474    @classmethod
21475    def from_dict(cls, d):
21476        return cls(
21477            bind_interface=d.get('bind_interface'),
21478            egress_filter=d.get('egress_filter'),
21479            healthy=d.get('healthy'),
21480            hostname=d.get('hostname'),
21481            id=d.get('id'),
21482            name=d.get('name'),
21483            password=d.get('password'),
21484            port=d.get('port'),
21485            port_override=d.get('port_override'),
21486            proxy_cluster_id=d.get('proxy_cluster_id'),
21487            secret_store_id=d.get('secret_store_id'),
21488            subdomain=d.get('subdomain'),
21489            tags=d.get('tags'),
21490            tls_required=d.get('tls_required'),
21491            username=d.get('username'),
21492        )
class Redshift:
21495class Redshift:
21496    __slots__ = [
21497        'bind_interface',
21498        'database',
21499        'egress_filter',
21500        'healthy',
21501        'hostname',
21502        'id',
21503        'name',
21504        'override_database',
21505        'password',
21506        'port',
21507        'port_override',
21508        'proxy_cluster_id',
21509        'secret_store_id',
21510        'subdomain',
21511        'tags',
21512        'username',
21513    ]
21514
21515    def __init__(
21516        self,
21517        bind_interface=None,
21518        database=None,
21519        egress_filter=None,
21520        healthy=None,
21521        hostname=None,
21522        id=None,
21523        name=None,
21524        override_database=None,
21525        password=None,
21526        port=None,
21527        port_override=None,
21528        proxy_cluster_id=None,
21529        secret_store_id=None,
21530        subdomain=None,
21531        tags=None,
21532        username=None,
21533    ):
21534        self.bind_interface = bind_interface if bind_interface is not None else ''
21535        '''
21536         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21537        '''
21538        self.database = database if database is not None else ''
21539        '''
21540         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21541        '''
21542        self.egress_filter = egress_filter if egress_filter is not None else ''
21543        '''
21544         A filter applied to the routing logic to pin datasource to nodes.
21545        '''
21546        self.healthy = healthy if healthy is not None else False
21547        '''
21548         True if the datasource is reachable and the credentials are valid.
21549        '''
21550        self.hostname = hostname if hostname is not None else ''
21551        '''
21552         The host to dial to initiate a connection from the egress node to this resource.
21553        '''
21554        self.id = id if id is not None else ''
21555        '''
21556         Unique identifier of the Resource.
21557        '''
21558        self.name = name if name is not None else ''
21559        '''
21560         Unique human-readable name of the Resource.
21561        '''
21562        self.override_database = override_database if override_database is not None else False
21563        '''
21564         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.
21565        '''
21566        self.password = password if password is not None else ''
21567        '''
21568         The password to authenticate with.
21569        '''
21570        self.port = port if port is not None else 0
21571        '''
21572         The port to dial to initiate a connection from the egress node to this resource.
21573        '''
21574        self.port_override = port_override if port_override is not None else 0
21575        '''
21576         The local port used by clients to connect to this resource.
21577        '''
21578        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21579        '''
21580         ID of the proxy cluster for this resource, if any.
21581        '''
21582        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21583        '''
21584         ID of the secret store containing credentials for this resource, if any.
21585        '''
21586        self.subdomain = subdomain if subdomain is not None else ''
21587        '''
21588         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21589        '''
21590        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21591        '''
21592         Tags is a map of key, value pairs.
21593        '''
21594        self.username = username if username is not None else ''
21595        '''
21596         The username to authenticate with.
21597        '''
21598
21599    def __repr__(self):
21600        return '<sdm.Redshift ' + \
21601            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21602            'database: ' + repr(self.database) + ' ' +\
21603            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21604            'healthy: ' + repr(self.healthy) + ' ' +\
21605            'hostname: ' + repr(self.hostname) + ' ' +\
21606            'id: ' + repr(self.id) + ' ' +\
21607            'name: ' + repr(self.name) + ' ' +\
21608            'override_database: ' + repr(self.override_database) + ' ' +\
21609            'password: ' + repr(self.password) + ' ' +\
21610            'port: ' + repr(self.port) + ' ' +\
21611            'port_override: ' + repr(self.port_override) + ' ' +\
21612            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21613            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21614            'subdomain: ' + repr(self.subdomain) + ' ' +\
21615            'tags: ' + repr(self.tags) + ' ' +\
21616            'username: ' + repr(self.username) + ' ' +\
21617            '>'
21618
21619    def to_dict(self):
21620        return {
21621            'bind_interface': self.bind_interface,
21622            'database': self.database,
21623            'egress_filter': self.egress_filter,
21624            'healthy': self.healthy,
21625            'hostname': self.hostname,
21626            'id': self.id,
21627            'name': self.name,
21628            'override_database': self.override_database,
21629            'password': self.password,
21630            'port': self.port,
21631            'port_override': self.port_override,
21632            'proxy_cluster_id': self.proxy_cluster_id,
21633            'secret_store_id': self.secret_store_id,
21634            'subdomain': self.subdomain,
21635            'tags': self.tags,
21636            'username': self.username,
21637        }
21638
21639    @classmethod
21640    def from_dict(cls, d):
21641        return cls(
21642            bind_interface=d.get('bind_interface'),
21643            database=d.get('database'),
21644            egress_filter=d.get('egress_filter'),
21645            healthy=d.get('healthy'),
21646            hostname=d.get('hostname'),
21647            id=d.get('id'),
21648            name=d.get('name'),
21649            override_database=d.get('override_database'),
21650            password=d.get('password'),
21651            port=d.get('port'),
21652            port_override=d.get('port_override'),
21653            proxy_cluster_id=d.get('proxy_cluster_id'),
21654            secret_store_id=d.get('secret_store_id'),
21655            subdomain=d.get('subdomain'),
21656            tags=d.get('tags'),
21657            username=d.get('username'),
21658        )
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)
21515    def __init__(
21516        self,
21517        bind_interface=None,
21518        database=None,
21519        egress_filter=None,
21520        healthy=None,
21521        hostname=None,
21522        id=None,
21523        name=None,
21524        override_database=None,
21525        password=None,
21526        port=None,
21527        port_override=None,
21528        proxy_cluster_id=None,
21529        secret_store_id=None,
21530        subdomain=None,
21531        tags=None,
21532        username=None,
21533    ):
21534        self.bind_interface = bind_interface if bind_interface is not None else ''
21535        '''
21536         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21537        '''
21538        self.database = database if database is not None else ''
21539        '''
21540         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21541        '''
21542        self.egress_filter = egress_filter if egress_filter is not None else ''
21543        '''
21544         A filter applied to the routing logic to pin datasource to nodes.
21545        '''
21546        self.healthy = healthy if healthy is not None else False
21547        '''
21548         True if the datasource is reachable and the credentials are valid.
21549        '''
21550        self.hostname = hostname if hostname is not None else ''
21551        '''
21552         The host to dial to initiate a connection from the egress node to this resource.
21553        '''
21554        self.id = id if id is not None else ''
21555        '''
21556         Unique identifier of the Resource.
21557        '''
21558        self.name = name if name is not None else ''
21559        '''
21560         Unique human-readable name of the Resource.
21561        '''
21562        self.override_database = override_database if override_database is not None else False
21563        '''
21564         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.
21565        '''
21566        self.password = password if password is not None else ''
21567        '''
21568         The password to authenticate with.
21569        '''
21570        self.port = port if port is not None else 0
21571        '''
21572         The port to dial to initiate a connection from the egress node to this resource.
21573        '''
21574        self.port_override = port_override if port_override is not None else 0
21575        '''
21576         The local port used by clients to connect to this resource.
21577        '''
21578        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21579        '''
21580         ID of the proxy cluster for this resource, if any.
21581        '''
21582        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21583        '''
21584         ID of the secret store containing credentials for this resource, if any.
21585        '''
21586        self.subdomain = subdomain if subdomain is not None else ''
21587        '''
21588         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21589        '''
21590        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21591        '''
21592         Tags is a map of key, value pairs.
21593        '''
21594        self.username = username if username is not None else ''
21595        '''
21596         The username to authenticate with.
21597        '''
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)
21619    def to_dict(self):
21620        return {
21621            'bind_interface': self.bind_interface,
21622            'database': self.database,
21623            'egress_filter': self.egress_filter,
21624            'healthy': self.healthy,
21625            'hostname': self.hostname,
21626            'id': self.id,
21627            'name': self.name,
21628            'override_database': self.override_database,
21629            'password': self.password,
21630            'port': self.port,
21631            'port_override': self.port_override,
21632            'proxy_cluster_id': self.proxy_cluster_id,
21633            'secret_store_id': self.secret_store_id,
21634            'subdomain': self.subdomain,
21635            'tags': self.tags,
21636            'username': self.username,
21637        }
@classmethod
def from_dict(cls, d)
21639    @classmethod
21640    def from_dict(cls, d):
21641        return cls(
21642            bind_interface=d.get('bind_interface'),
21643            database=d.get('database'),
21644            egress_filter=d.get('egress_filter'),
21645            healthy=d.get('healthy'),
21646            hostname=d.get('hostname'),
21647            id=d.get('id'),
21648            name=d.get('name'),
21649            override_database=d.get('override_database'),
21650            password=d.get('password'),
21651            port=d.get('port'),
21652            port_override=d.get('port_override'),
21653            proxy_cluster_id=d.get('proxy_cluster_id'),
21654            secret_store_id=d.get('secret_store_id'),
21655            subdomain=d.get('subdomain'),
21656            tags=d.get('tags'),
21657            username=d.get('username'),
21658        )
class RedshiftIAM:
21661class RedshiftIAM:
21662    '''
21663    RedshiftIAM is currently unstable, and its API may change, or it may be removed,
21664    without a major version bump.
21665    '''
21666    __slots__ = [
21667        'bind_interface',
21668        'cluster_id',
21669        'database',
21670        'egress_filter',
21671        'healthy',
21672        'hostname',
21673        'id',
21674        'name',
21675        'override_database',
21676        'port',
21677        'port_override',
21678        'proxy_cluster_id',
21679        'region',
21680        'role_assumption_arn',
21681        'secret_store_id',
21682        'subdomain',
21683        'tags',
21684    ]
21685
21686    def __init__(
21687        self,
21688        bind_interface=None,
21689        cluster_id=None,
21690        database=None,
21691        egress_filter=None,
21692        healthy=None,
21693        hostname=None,
21694        id=None,
21695        name=None,
21696        override_database=None,
21697        port=None,
21698        port_override=None,
21699        proxy_cluster_id=None,
21700        region=None,
21701        role_assumption_arn=None,
21702        secret_store_id=None,
21703        subdomain=None,
21704        tags=None,
21705    ):
21706        self.bind_interface = bind_interface if bind_interface is not None else ''
21707        '''
21708         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21709        '''
21710        self.cluster_id = cluster_id if cluster_id is not None else ''
21711        '''
21712         Cluster Identified of Redshift cluster
21713        '''
21714        self.database = database if database is not None else ''
21715        '''
21716         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21717        '''
21718        self.egress_filter = egress_filter if egress_filter is not None else ''
21719        '''
21720         A filter applied to the routing logic to pin datasource to nodes.
21721        '''
21722        self.healthy = healthy if healthy is not None else False
21723        '''
21724         True if the datasource is reachable and the credentials are valid.
21725        '''
21726        self.hostname = hostname if hostname is not None else ''
21727        '''
21728         The host to dial to initiate a connection from the egress node to this resource.
21729        '''
21730        self.id = id if id is not None else ''
21731        '''
21732         Unique identifier of the Resource.
21733        '''
21734        self.name = name if name is not None else ''
21735        '''
21736         Unique human-readable name of the Resource.
21737        '''
21738        self.override_database = override_database if override_database is not None else False
21739        '''
21740         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.
21741        '''
21742        self.port = port if port is not None else 0
21743        '''
21744         The port to dial to initiate a connection from the egress node to this resource.
21745        '''
21746        self.port_override = port_override if port_override is not None else 0
21747        '''
21748         The local port used by clients to connect to this resource.
21749        '''
21750        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21751        '''
21752         ID of the proxy cluster for this resource, if any.
21753        '''
21754        self.region = region if region is not None else ''
21755        '''
21756         The AWS region to connect to.
21757        '''
21758        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
21759        '''
21760         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
21761        '''
21762        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21763        '''
21764         ID of the secret store containing credentials for this resource, if any.
21765        '''
21766        self.subdomain = subdomain if subdomain is not None else ''
21767        '''
21768         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21769        '''
21770        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21771        '''
21772         Tags is a map of key, value pairs.
21773        '''
21774
21775    def __repr__(self):
21776        return '<sdm.RedshiftIAM ' + \
21777            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21778            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
21779            'database: ' + repr(self.database) + ' ' +\
21780            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21781            'healthy: ' + repr(self.healthy) + ' ' +\
21782            'hostname: ' + repr(self.hostname) + ' ' +\
21783            'id: ' + repr(self.id) + ' ' +\
21784            'name: ' + repr(self.name) + ' ' +\
21785            'override_database: ' + repr(self.override_database) + ' ' +\
21786            'port: ' + repr(self.port) + ' ' +\
21787            'port_override: ' + repr(self.port_override) + ' ' +\
21788            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21789            'region: ' + repr(self.region) + ' ' +\
21790            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
21791            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21792            'subdomain: ' + repr(self.subdomain) + ' ' +\
21793            'tags: ' + repr(self.tags) + ' ' +\
21794            '>'
21795
21796    def to_dict(self):
21797        return {
21798            'bind_interface': self.bind_interface,
21799            'cluster_id': self.cluster_id,
21800            'database': self.database,
21801            'egress_filter': self.egress_filter,
21802            'healthy': self.healthy,
21803            'hostname': self.hostname,
21804            'id': self.id,
21805            'name': self.name,
21806            'override_database': self.override_database,
21807            'port': self.port,
21808            'port_override': self.port_override,
21809            'proxy_cluster_id': self.proxy_cluster_id,
21810            'region': self.region,
21811            'role_assumption_arn': self.role_assumption_arn,
21812            'secret_store_id': self.secret_store_id,
21813            'subdomain': self.subdomain,
21814            'tags': self.tags,
21815        }
21816
21817    @classmethod
21818    def from_dict(cls, d):
21819        return cls(
21820            bind_interface=d.get('bind_interface'),
21821            cluster_id=d.get('cluster_id'),
21822            database=d.get('database'),
21823            egress_filter=d.get('egress_filter'),
21824            healthy=d.get('healthy'),
21825            hostname=d.get('hostname'),
21826            id=d.get('id'),
21827            name=d.get('name'),
21828            override_database=d.get('override_database'),
21829            port=d.get('port'),
21830            port_override=d.get('port_override'),
21831            proxy_cluster_id=d.get('proxy_cluster_id'),
21832            region=d.get('region'),
21833            role_assumption_arn=d.get('role_assumption_arn'),
21834            secret_store_id=d.get('secret_store_id'),
21835            subdomain=d.get('subdomain'),
21836            tags=d.get('tags'),
21837        )

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

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)
21686    def __init__(
21687        self,
21688        bind_interface=None,
21689        cluster_id=None,
21690        database=None,
21691        egress_filter=None,
21692        healthy=None,
21693        hostname=None,
21694        id=None,
21695        name=None,
21696        override_database=None,
21697        port=None,
21698        port_override=None,
21699        proxy_cluster_id=None,
21700        region=None,
21701        role_assumption_arn=None,
21702        secret_store_id=None,
21703        subdomain=None,
21704        tags=None,
21705    ):
21706        self.bind_interface = bind_interface if bind_interface is not None else ''
21707        '''
21708         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21709        '''
21710        self.cluster_id = cluster_id if cluster_id is not None else ''
21711        '''
21712         Cluster Identified of Redshift cluster
21713        '''
21714        self.database = database if database is not None else ''
21715        '''
21716         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21717        '''
21718        self.egress_filter = egress_filter if egress_filter is not None else ''
21719        '''
21720         A filter applied to the routing logic to pin datasource to nodes.
21721        '''
21722        self.healthy = healthy if healthy is not None else False
21723        '''
21724         True if the datasource is reachable and the credentials are valid.
21725        '''
21726        self.hostname = hostname if hostname is not None else ''
21727        '''
21728         The host to dial to initiate a connection from the egress node to this resource.
21729        '''
21730        self.id = id if id is not None else ''
21731        '''
21732         Unique identifier of the Resource.
21733        '''
21734        self.name = name if name is not None else ''
21735        '''
21736         Unique human-readable name of the Resource.
21737        '''
21738        self.override_database = override_database if override_database is not None else False
21739        '''
21740         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.
21741        '''
21742        self.port = port if port is not None else 0
21743        '''
21744         The port to dial to initiate a connection from the egress node to this resource.
21745        '''
21746        self.port_override = port_override if port_override is not None else 0
21747        '''
21748         The local port used by clients to connect to this resource.
21749        '''
21750        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21751        '''
21752         ID of the proxy cluster for this resource, if any.
21753        '''
21754        self.region = region if region is not None else ''
21755        '''
21756         The AWS region to connect to.
21757        '''
21758        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
21759        '''
21760         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
21761        '''
21762        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21763        '''
21764         ID of the secret store containing credentials for this resource, if any.
21765        '''
21766        self.subdomain = subdomain if subdomain is not None else ''
21767        '''
21768         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21769        '''
21770        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21771        '''
21772         Tags is a map of key, value pairs.
21773        '''
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)
21796    def to_dict(self):
21797        return {
21798            'bind_interface': self.bind_interface,
21799            'cluster_id': self.cluster_id,
21800            'database': self.database,
21801            'egress_filter': self.egress_filter,
21802            'healthy': self.healthy,
21803            'hostname': self.hostname,
21804            'id': self.id,
21805            'name': self.name,
21806            'override_database': self.override_database,
21807            'port': self.port,
21808            'port_override': self.port_override,
21809            'proxy_cluster_id': self.proxy_cluster_id,
21810            'region': self.region,
21811            'role_assumption_arn': self.role_assumption_arn,
21812            'secret_store_id': self.secret_store_id,
21813            'subdomain': self.subdomain,
21814            'tags': self.tags,
21815        }
@classmethod
def from_dict(cls, d)
21817    @classmethod
21818    def from_dict(cls, d):
21819        return cls(
21820            bind_interface=d.get('bind_interface'),
21821            cluster_id=d.get('cluster_id'),
21822            database=d.get('database'),
21823            egress_filter=d.get('egress_filter'),
21824            healthy=d.get('healthy'),
21825            hostname=d.get('hostname'),
21826            id=d.get('id'),
21827            name=d.get('name'),
21828            override_database=d.get('override_database'),
21829            port=d.get('port'),
21830            port_override=d.get('port_override'),
21831            proxy_cluster_id=d.get('proxy_cluster_id'),
21832            region=d.get('region'),
21833            role_assumption_arn=d.get('role_assumption_arn'),
21834            secret_store_id=d.get('secret_store_id'),
21835            subdomain=d.get('subdomain'),
21836            tags=d.get('tags'),
21837        )
class RedshiftServerlessIAM:
21840class RedshiftServerlessIAM:
21841    '''
21842    RedshiftServerlessIAM is currently unstable, and its API may change, or it may be removed,
21843    without a major version bump.
21844    '''
21845    __slots__ = [
21846        'bind_interface',
21847        'database',
21848        'egress_filter',
21849        'healthy',
21850        'hostname',
21851        'id',
21852        'name',
21853        'override_database',
21854        'port',
21855        'port_override',
21856        'proxy_cluster_id',
21857        'region',
21858        'role_assumption_arn',
21859        'secret_store_id',
21860        'subdomain',
21861        'tags',
21862        'workgroup',
21863    ]
21864
21865    def __init__(
21866        self,
21867        bind_interface=None,
21868        database=None,
21869        egress_filter=None,
21870        healthy=None,
21871        hostname=None,
21872        id=None,
21873        name=None,
21874        override_database=None,
21875        port=None,
21876        port_override=None,
21877        proxy_cluster_id=None,
21878        region=None,
21879        role_assumption_arn=None,
21880        secret_store_id=None,
21881        subdomain=None,
21882        tags=None,
21883        workgroup=None,
21884    ):
21885        self.bind_interface = bind_interface if bind_interface is not None else ''
21886        '''
21887         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21888        '''
21889        self.database = database if database is not None else ''
21890        '''
21891         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21892        '''
21893        self.egress_filter = egress_filter if egress_filter is not None else ''
21894        '''
21895         A filter applied to the routing logic to pin datasource to nodes.
21896        '''
21897        self.healthy = healthy if healthy is not None else False
21898        '''
21899         True if the datasource is reachable and the credentials are valid.
21900        '''
21901        self.hostname = hostname if hostname is not None else ''
21902        '''
21903         The host to dial to initiate a connection from the egress node to this resource.
21904        '''
21905        self.id = id if id is not None else ''
21906        '''
21907         Unique identifier of the Resource.
21908        '''
21909        self.name = name if name is not None else ''
21910        '''
21911         Unique human-readable name of the Resource.
21912        '''
21913        self.override_database = override_database if override_database is not None else False
21914        '''
21915         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.
21916        '''
21917        self.port = port if port is not None else 0
21918        '''
21919         The port to dial to initiate a connection from the egress node to this resource.
21920        '''
21921        self.port_override = port_override if port_override is not None else 0
21922        '''
21923         The local port used by clients to connect to this resource.
21924        '''
21925        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21926        '''
21927         ID of the proxy cluster for this resource, if any.
21928        '''
21929        self.region = region if region is not None else ''
21930        '''
21931         The AWS region to connect to.
21932        '''
21933        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
21934        '''
21935         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
21936        '''
21937        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21938        '''
21939         ID of the secret store containing credentials for this resource, if any.
21940        '''
21941        self.subdomain = subdomain if subdomain is not None else ''
21942        '''
21943         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21944        '''
21945        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21946        '''
21947         Tags is a map of key, value pairs.
21948        '''
21949        self.workgroup = workgroup if workgroup is not None else ''
21950        '''
21951         Workgroup name in the serverless Redshift
21952        '''
21953
21954    def __repr__(self):
21955        return '<sdm.RedshiftServerlessIAM ' + \
21956            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21957            'database: ' + repr(self.database) + ' ' +\
21958            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21959            'healthy: ' + repr(self.healthy) + ' ' +\
21960            'hostname: ' + repr(self.hostname) + ' ' +\
21961            'id: ' + repr(self.id) + ' ' +\
21962            'name: ' + repr(self.name) + ' ' +\
21963            'override_database: ' + repr(self.override_database) + ' ' +\
21964            'port: ' + repr(self.port) + ' ' +\
21965            'port_override: ' + repr(self.port_override) + ' ' +\
21966            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21967            'region: ' + repr(self.region) + ' ' +\
21968            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
21969            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21970            'subdomain: ' + repr(self.subdomain) + ' ' +\
21971            'tags: ' + repr(self.tags) + ' ' +\
21972            'workgroup: ' + repr(self.workgroup) + ' ' +\
21973            '>'
21974
21975    def to_dict(self):
21976        return {
21977            'bind_interface': self.bind_interface,
21978            'database': self.database,
21979            'egress_filter': self.egress_filter,
21980            'healthy': self.healthy,
21981            'hostname': self.hostname,
21982            'id': self.id,
21983            'name': self.name,
21984            'override_database': self.override_database,
21985            'port': self.port,
21986            'port_override': self.port_override,
21987            'proxy_cluster_id': self.proxy_cluster_id,
21988            'region': self.region,
21989            'role_assumption_arn': self.role_assumption_arn,
21990            'secret_store_id': self.secret_store_id,
21991            'subdomain': self.subdomain,
21992            'tags': self.tags,
21993            'workgroup': self.workgroup,
21994        }
21995
21996    @classmethod
21997    def from_dict(cls, d):
21998        return cls(
21999            bind_interface=d.get('bind_interface'),
22000            database=d.get('database'),
22001            egress_filter=d.get('egress_filter'),
22002            healthy=d.get('healthy'),
22003            hostname=d.get('hostname'),
22004            id=d.get('id'),
22005            name=d.get('name'),
22006            override_database=d.get('override_database'),
22007            port=d.get('port'),
22008            port_override=d.get('port_override'),
22009            proxy_cluster_id=d.get('proxy_cluster_id'),
22010            region=d.get('region'),
22011            role_assumption_arn=d.get('role_assumption_arn'),
22012            secret_store_id=d.get('secret_store_id'),
22013            subdomain=d.get('subdomain'),
22014            tags=d.get('tags'),
22015            workgroup=d.get('workgroup'),
22016        )

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

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)
21865    def __init__(
21866        self,
21867        bind_interface=None,
21868        database=None,
21869        egress_filter=None,
21870        healthy=None,
21871        hostname=None,
21872        id=None,
21873        name=None,
21874        override_database=None,
21875        port=None,
21876        port_override=None,
21877        proxy_cluster_id=None,
21878        region=None,
21879        role_assumption_arn=None,
21880        secret_store_id=None,
21881        subdomain=None,
21882        tags=None,
21883        workgroup=None,
21884    ):
21885        self.bind_interface = bind_interface if bind_interface is not None else ''
21886        '''
21887         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21888        '''
21889        self.database = database if database is not None else ''
21890        '''
21891         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21892        '''
21893        self.egress_filter = egress_filter if egress_filter is not None else ''
21894        '''
21895         A filter applied to the routing logic to pin datasource to nodes.
21896        '''
21897        self.healthy = healthy if healthy is not None else False
21898        '''
21899         True if the datasource is reachable and the credentials are valid.
21900        '''
21901        self.hostname = hostname if hostname is not None else ''
21902        '''
21903         The host to dial to initiate a connection from the egress node to this resource.
21904        '''
21905        self.id = id if id is not None else ''
21906        '''
21907         Unique identifier of the Resource.
21908        '''
21909        self.name = name if name is not None else ''
21910        '''
21911         Unique human-readable name of the Resource.
21912        '''
21913        self.override_database = override_database if override_database is not None else False
21914        '''
21915         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.
21916        '''
21917        self.port = port if port is not None else 0
21918        '''
21919         The port to dial to initiate a connection from the egress node to this resource.
21920        '''
21921        self.port_override = port_override if port_override is not None else 0
21922        '''
21923         The local port used by clients to connect to this resource.
21924        '''
21925        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21926        '''
21927         ID of the proxy cluster for this resource, if any.
21928        '''
21929        self.region = region if region is not None else ''
21930        '''
21931         The AWS region to connect to.
21932        '''
21933        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
21934        '''
21935         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
21936        '''
21937        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21938        '''
21939         ID of the secret store containing credentials for this resource, if any.
21940        '''
21941        self.subdomain = subdomain if subdomain is not None else ''
21942        '''
21943         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21944        '''
21945        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21946        '''
21947         Tags is a map of key, value pairs.
21948        '''
21949        self.workgroup = workgroup if workgroup is not None else ''
21950        '''
21951         Workgroup name in the serverless Redshift
21952        '''
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)
21975    def to_dict(self):
21976        return {
21977            'bind_interface': self.bind_interface,
21978            'database': self.database,
21979            'egress_filter': self.egress_filter,
21980            'healthy': self.healthy,
21981            'hostname': self.hostname,
21982            'id': self.id,
21983            'name': self.name,
21984            'override_database': self.override_database,
21985            'port': self.port,
21986            'port_override': self.port_override,
21987            'proxy_cluster_id': self.proxy_cluster_id,
21988            'region': self.region,
21989            'role_assumption_arn': self.role_assumption_arn,
21990            'secret_store_id': self.secret_store_id,
21991            'subdomain': self.subdomain,
21992            'tags': self.tags,
21993            'workgroup': self.workgroup,
21994        }
@classmethod
def from_dict(cls, d)
21996    @classmethod
21997    def from_dict(cls, d):
21998        return cls(
21999            bind_interface=d.get('bind_interface'),
22000            database=d.get('database'),
22001            egress_filter=d.get('egress_filter'),
22002            healthy=d.get('healthy'),
22003            hostname=d.get('hostname'),
22004            id=d.get('id'),
22005            name=d.get('name'),
22006            override_database=d.get('override_database'),
22007            port=d.get('port'),
22008            port_override=d.get('port_override'),
22009            proxy_cluster_id=d.get('proxy_cluster_id'),
22010            region=d.get('region'),
22011            role_assumption_arn=d.get('role_assumption_arn'),
22012            secret_store_id=d.get('secret_store_id'),
22013            subdomain=d.get('subdomain'),
22014            tags=d.get('tags'),
22015            workgroup=d.get('workgroup'),
22016        )
class Relay:
22019class Relay:
22020    '''
22021         Relay represents a StrongDM CLI installation running in relay mode.
22022    '''
22023    __slots__ = [
22024        'device',
22025        'gateway_filter',
22026        'id',
22027        'location',
22028        'maintenance_windows',
22029        'name',
22030        'state',
22031        'tags',
22032        'version',
22033    ]
22034
22035    def __init__(
22036        self,
22037        device=None,
22038        gateway_filter=None,
22039        id=None,
22040        location=None,
22041        maintenance_windows=None,
22042        name=None,
22043        state=None,
22044        tags=None,
22045        version=None,
22046    ):
22047        self.device = device if device is not None else ''
22048        '''
22049         Device is a read only device name uploaded by the gateway process when
22050         it comes online.
22051        '''
22052        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
22053        '''
22054         GatewayFilter can be used to restrict the peering between relays and
22055         gateways. Deprecated.
22056        '''
22057        self.id = id if id is not None else ''
22058        '''
22059         Unique identifier of the Relay.
22060        '''
22061        self.location = location if location is not None else ''
22062        '''
22063         Location is a read only network location uploaded by the gateway process
22064         when it comes online.
22065        '''
22066        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22067        '''
22068         Maintenance Windows define when this node is allowed to restart. If a node
22069         is requested to restart, it will check each window to determine if any of
22070         them permit it to restart, and if any do, it will. This check is repeated
22071         per window until the restart is successfully completed.
22072         
22073         If not set here, may be set on the command line or via an environment variable
22074         on the process itself; any server setting will take precedence over local
22075         settings. This setting is ineffective for nodes below version 38.44.0.
22076         
22077         If this setting is not applied via this remote configuration or via local
22078         configuration, the default setting is used: always allow restarts if serving
22079         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22080        '''
22081        self.name = name if name is not None else ''
22082        '''
22083         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.
22084        '''
22085        self.state = state if state is not None else ''
22086        '''
22087         The current state of the relay, one of the NodeState constants.
22088        '''
22089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22090        '''
22091         Tags is a map of key, value pairs.
22092        '''
22093        self.version = version if version is not None else ''
22094        '''
22095         Version is a read only sdm binary version uploaded by the gateway process
22096         when it comes online.
22097        '''
22098
22099    def __repr__(self):
22100        return '<sdm.Relay ' + \
22101            'device: ' + repr(self.device) + ' ' +\
22102            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
22103            'id: ' + repr(self.id) + ' ' +\
22104            'location: ' + repr(self.location) + ' ' +\
22105            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
22106            'name: ' + repr(self.name) + ' ' +\
22107            'state: ' + repr(self.state) + ' ' +\
22108            'tags: ' + repr(self.tags) + ' ' +\
22109            'version: ' + repr(self.version) + ' ' +\
22110            '>'
22111
22112    def to_dict(self):
22113        return {
22114            'device': self.device,
22115            'gateway_filter': self.gateway_filter,
22116            'id': self.id,
22117            'location': self.location,
22118            'maintenance_windows': self.maintenance_windows,
22119            'name': self.name,
22120            'state': self.state,
22121            'tags': self.tags,
22122            'version': self.version,
22123        }
22124
22125    @classmethod
22126    def from_dict(cls, d):
22127        return cls(
22128            device=d.get('device'),
22129            gateway_filter=d.get('gateway_filter'),
22130            id=d.get('id'),
22131            location=d.get('location'),
22132            maintenance_windows=d.get('maintenance_windows'),
22133            name=d.get('name'),
22134            state=d.get('state'),
22135            tags=d.get('tags'),
22136            version=d.get('version'),
22137        )

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)
22035    def __init__(
22036        self,
22037        device=None,
22038        gateway_filter=None,
22039        id=None,
22040        location=None,
22041        maintenance_windows=None,
22042        name=None,
22043        state=None,
22044        tags=None,
22045        version=None,
22046    ):
22047        self.device = device if device is not None else ''
22048        '''
22049         Device is a read only device name uploaded by the gateway process when
22050         it comes online.
22051        '''
22052        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
22053        '''
22054         GatewayFilter can be used to restrict the peering between relays and
22055         gateways. Deprecated.
22056        '''
22057        self.id = id if id is not None else ''
22058        '''
22059         Unique identifier of the Relay.
22060        '''
22061        self.location = location if location is not None else ''
22062        '''
22063         Location is a read only network location uploaded by the gateway process
22064         when it comes online.
22065        '''
22066        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22067        '''
22068         Maintenance Windows define when this node is allowed to restart. If a node
22069         is requested to restart, it will check each window to determine if any of
22070         them permit it to restart, and if any do, it will. This check is repeated
22071         per window until the restart is successfully completed.
22072         
22073         If not set here, may be set on the command line or via an environment variable
22074         on the process itself; any server setting will take precedence over local
22075         settings. This setting is ineffective for nodes below version 38.44.0.
22076         
22077         If this setting is not applied via this remote configuration or via local
22078         configuration, the default setting is used: always allow restarts if serving
22079         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22080        '''
22081        self.name = name if name is not None else ''
22082        '''
22083         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.
22084        '''
22085        self.state = state if state is not None else ''
22086        '''
22087         The current state of the relay, one of the NodeState constants.
22088        '''
22089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22090        '''
22091         Tags is a map of key, value pairs.
22092        '''
22093        self.version = version if version is not None else ''
22094        '''
22095         Version is a read only sdm binary version uploaded by the gateway process
22096         when it comes online.
22097        '''
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)
22112    def to_dict(self):
22113        return {
22114            'device': self.device,
22115            'gateway_filter': self.gateway_filter,
22116            'id': self.id,
22117            'location': self.location,
22118            'maintenance_windows': self.maintenance_windows,
22119            'name': self.name,
22120            'state': self.state,
22121            'tags': self.tags,
22122            'version': self.version,
22123        }
@classmethod
def from_dict(cls, d)
22125    @classmethod
22126    def from_dict(cls, d):
22127        return cls(
22128            device=d.get('device'),
22129            gateway_filter=d.get('gateway_filter'),
22130            id=d.get('id'),
22131            location=d.get('location'),
22132            maintenance_windows=d.get('maintenance_windows'),
22133            name=d.get('name'),
22134            state=d.get('state'),
22135            tags=d.get('tags'),
22136            version=d.get('version'),
22137        )
class RemoteIdentity:
22140class RemoteIdentity:
22141    '''
22142         RemoteIdentities define the username to be used for a specific account
22143     when connecting to a remote resource using that group.
22144    '''
22145    __slots__ = [
22146        'account_id',
22147        'id',
22148        'remote_identity_group_id',
22149        'username',
22150    ]
22151
22152    def __init__(
22153        self,
22154        account_id=None,
22155        id=None,
22156        remote_identity_group_id=None,
22157        username=None,
22158    ):
22159        self.account_id = account_id if account_id is not None else ''
22160        '''
22161         The account for this remote identity.
22162        '''
22163        self.id = id if id is not None else ''
22164        '''
22165         Unique identifier of the RemoteIdentity.
22166        '''
22167        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
22168        '''
22169         The remote identity group.
22170        '''
22171        self.username = username if username is not None else ''
22172        '''
22173         The username to be used as the remote identity for this account.
22174        '''
22175
22176    def __repr__(self):
22177        return '<sdm.RemoteIdentity ' + \
22178            'account_id: ' + repr(self.account_id) + ' ' +\
22179            'id: ' + repr(self.id) + ' ' +\
22180            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
22181            'username: ' + repr(self.username) + ' ' +\
22182            '>'
22183
22184    def to_dict(self):
22185        return {
22186            'account_id': self.account_id,
22187            'id': self.id,
22188            'remote_identity_group_id': self.remote_identity_group_id,
22189            'username': self.username,
22190        }
22191
22192    @classmethod
22193    def from_dict(cls, d):
22194        return cls(
22195            account_id=d.get('account_id'),
22196            id=d.get('id'),
22197            remote_identity_group_id=d.get('remote_identity_group_id'),
22198            username=d.get('username'),
22199        )

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)
22152    def __init__(
22153        self,
22154        account_id=None,
22155        id=None,
22156        remote_identity_group_id=None,
22157        username=None,
22158    ):
22159        self.account_id = account_id if account_id is not None else ''
22160        '''
22161         The account for this remote identity.
22162        '''
22163        self.id = id if id is not None else ''
22164        '''
22165         Unique identifier of the RemoteIdentity.
22166        '''
22167        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
22168        '''
22169         The remote identity group.
22170        '''
22171        self.username = username if username is not None else ''
22172        '''
22173         The username to be used as the remote identity for this account.
22174        '''
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)
22184    def to_dict(self):
22185        return {
22186            'account_id': self.account_id,
22187            'id': self.id,
22188            'remote_identity_group_id': self.remote_identity_group_id,
22189            'username': self.username,
22190        }
@classmethod
def from_dict(cls, d)
22192    @classmethod
22193    def from_dict(cls, d):
22194        return cls(
22195            account_id=d.get('account_id'),
22196            id=d.get('id'),
22197            remote_identity_group_id=d.get('remote_identity_group_id'),
22198            username=d.get('username'),
22199        )
class RemoteIdentityCreateResponse:
22202class RemoteIdentityCreateResponse:
22203    '''
22204         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
22205    '''
22206    __slots__ = [
22207        'meta',
22208        'rate_limit',
22209        'remote_identity',
22210    ]
22211
22212    def __init__(
22213        self,
22214        meta=None,
22215        rate_limit=None,
22216        remote_identity=None,
22217    ):
22218        self.meta = meta if meta is not None else None
22219        '''
22220         Reserved for future use.
22221        '''
22222        self.rate_limit = rate_limit if rate_limit is not None else None
22223        '''
22224         Rate limit information.
22225        '''
22226        self.remote_identity = remote_identity if remote_identity is not None else None
22227        '''
22228         The created RemoteIdentity.
22229        '''
22230
22231    def __repr__(self):
22232        return '<sdm.RemoteIdentityCreateResponse ' + \
22233            'meta: ' + repr(self.meta) + ' ' +\
22234            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22235            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22236            '>'
22237
22238    def to_dict(self):
22239        return {
22240            'meta': self.meta,
22241            'rate_limit': self.rate_limit,
22242            'remote_identity': self.remote_identity,
22243        }
22244
22245    @classmethod
22246    def from_dict(cls, d):
22247        return cls(
22248            meta=d.get('meta'),
22249            rate_limit=d.get('rate_limit'),
22250            remote_identity=d.get('remote_identity'),
22251        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
22212    def __init__(
22213        self,
22214        meta=None,
22215        rate_limit=None,
22216        remote_identity=None,
22217    ):
22218        self.meta = meta if meta is not None else None
22219        '''
22220         Reserved for future use.
22221        '''
22222        self.rate_limit = rate_limit if rate_limit is not None else None
22223        '''
22224         Rate limit information.
22225        '''
22226        self.remote_identity = remote_identity if remote_identity is not None else None
22227        '''
22228         The created RemoteIdentity.
22229        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
22238    def to_dict(self):
22239        return {
22240            'meta': self.meta,
22241            'rate_limit': self.rate_limit,
22242            'remote_identity': self.remote_identity,
22243        }
@classmethod
def from_dict(cls, d)
22245    @classmethod
22246    def from_dict(cls, d):
22247        return cls(
22248            meta=d.get('meta'),
22249            rate_limit=d.get('rate_limit'),
22250            remote_identity=d.get('remote_identity'),
22251        )
class RemoteIdentityDeleteResponse:
22254class RemoteIdentityDeleteResponse:
22255    '''
22256         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
22257    '''
22258    __slots__ = [
22259        'meta',
22260        'rate_limit',
22261    ]
22262
22263    def __init__(
22264        self,
22265        meta=None,
22266        rate_limit=None,
22267    ):
22268        self.meta = meta if meta is not None else None
22269        '''
22270         Reserved for future use.
22271        '''
22272        self.rate_limit = rate_limit if rate_limit is not None else None
22273        '''
22274         Rate limit information.
22275        '''
22276
22277    def __repr__(self):
22278        return '<sdm.RemoteIdentityDeleteResponse ' + \
22279            'meta: ' + repr(self.meta) + ' ' +\
22280            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22281            '>'
22282
22283    def to_dict(self):
22284        return {
22285            'meta': self.meta,
22286            'rate_limit': self.rate_limit,
22287        }
22288
22289    @classmethod
22290    def from_dict(cls, d):
22291        return cls(
22292            meta=d.get('meta'),
22293            rate_limit=d.get('rate_limit'),
22294        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
22263    def __init__(
22264        self,
22265        meta=None,
22266        rate_limit=None,
22267    ):
22268        self.meta = meta if meta is not None else None
22269        '''
22270         Reserved for future use.
22271        '''
22272        self.rate_limit = rate_limit if rate_limit is not None else None
22273        '''
22274         Rate limit information.
22275        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22283    def to_dict(self):
22284        return {
22285            'meta': self.meta,
22286            'rate_limit': self.rate_limit,
22287        }
@classmethod
def from_dict(cls, d)
22289    @classmethod
22290    def from_dict(cls, d):
22291        return cls(
22292            meta=d.get('meta'),
22293            rate_limit=d.get('rate_limit'),
22294        )
class RemoteIdentityGetResponse:
22297class RemoteIdentityGetResponse:
22298    '''
22299         RemoteIdentityGetResponse returns a requested RemoteIdentity.
22300    '''
22301    __slots__ = [
22302        'meta',
22303        'rate_limit',
22304        'remote_identity',
22305    ]
22306
22307    def __init__(
22308        self,
22309        meta=None,
22310        rate_limit=None,
22311        remote_identity=None,
22312    ):
22313        self.meta = meta if meta is not None else None
22314        '''
22315         Reserved for future use.
22316        '''
22317        self.rate_limit = rate_limit if rate_limit is not None else None
22318        '''
22319         Rate limit information.
22320        '''
22321        self.remote_identity = remote_identity if remote_identity is not None else None
22322        '''
22323         The requested RemoteIdentity.
22324        '''
22325
22326    def __repr__(self):
22327        return '<sdm.RemoteIdentityGetResponse ' + \
22328            'meta: ' + repr(self.meta) + ' ' +\
22329            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22330            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22331            '>'
22332
22333    def to_dict(self):
22334        return {
22335            'meta': self.meta,
22336            'rate_limit': self.rate_limit,
22337            'remote_identity': self.remote_identity,
22338        }
22339
22340    @classmethod
22341    def from_dict(cls, d):
22342        return cls(
22343            meta=d.get('meta'),
22344            rate_limit=d.get('rate_limit'),
22345            remote_identity=d.get('remote_identity'),
22346        )

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
22307    def __init__(
22308        self,
22309        meta=None,
22310        rate_limit=None,
22311        remote_identity=None,
22312    ):
22313        self.meta = meta if meta is not None else None
22314        '''
22315         Reserved for future use.
22316        '''
22317        self.rate_limit = rate_limit if rate_limit is not None else None
22318        '''
22319         Rate limit information.
22320        '''
22321        self.remote_identity = remote_identity if remote_identity is not None else None
22322        '''
22323         The requested RemoteIdentity.
22324        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
22333    def to_dict(self):
22334        return {
22335            'meta': self.meta,
22336            'rate_limit': self.rate_limit,
22337            'remote_identity': self.remote_identity,
22338        }
@classmethod
def from_dict(cls, d)
22340    @classmethod
22341    def from_dict(cls, d):
22342        return cls(
22343            meta=d.get('meta'),
22344            rate_limit=d.get('rate_limit'),
22345            remote_identity=d.get('remote_identity'),
22346        )
class RemoteIdentityGroup:
22349class RemoteIdentityGroup:
22350    '''
22351         A RemoteIdentityGroup defines a group of remote identities.
22352    '''
22353    __slots__ = [
22354        'id',
22355        'name',
22356    ]
22357
22358    def __init__(
22359        self,
22360        id=None,
22361        name=None,
22362    ):
22363        self.id = id if id is not None else ''
22364        '''
22365         Unique identifier of the RemoteIdentityGroup.
22366        '''
22367        self.name = name if name is not None else ''
22368        '''
22369         Unique human-readable name of the RemoteIdentityGroup.
22370        '''
22371
22372    def __repr__(self):
22373        return '<sdm.RemoteIdentityGroup ' + \
22374            'id: ' + repr(self.id) + ' ' +\
22375            'name: ' + repr(self.name) + ' ' +\
22376            '>'
22377
22378    def to_dict(self):
22379        return {
22380            'id': self.id,
22381            'name': self.name,
22382        }
22383
22384    @classmethod
22385    def from_dict(cls, d):
22386        return cls(
22387            id=d.get('id'),
22388            name=d.get('name'),
22389        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
22358    def __init__(
22359        self,
22360        id=None,
22361        name=None,
22362    ):
22363        self.id = id if id is not None else ''
22364        '''
22365         Unique identifier of the RemoteIdentityGroup.
22366        '''
22367        self.name = name if name is not None else ''
22368        '''
22369         Unique human-readable name of the RemoteIdentityGroup.
22370        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
22378    def to_dict(self):
22379        return {
22380            'id': self.id,
22381            'name': self.name,
22382        }
@classmethod
def from_dict(cls, d)
22384    @classmethod
22385    def from_dict(cls, d):
22386        return cls(
22387            id=d.get('id'),
22388            name=d.get('name'),
22389        )
class RemoteIdentityGroupGetResponse:
22392class RemoteIdentityGroupGetResponse:
22393    '''
22394         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
22395    '''
22396    __slots__ = [
22397        'meta',
22398        'rate_limit',
22399        'remote_identity_group',
22400    ]
22401
22402    def __init__(
22403        self,
22404        meta=None,
22405        rate_limit=None,
22406        remote_identity_group=None,
22407    ):
22408        self.meta = meta if meta is not None else None
22409        '''
22410         Reserved for future use.
22411        '''
22412        self.rate_limit = rate_limit if rate_limit is not None else None
22413        '''
22414         Rate limit information.
22415        '''
22416        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
22417        '''
22418         The requested RemoteIdentityGroup.
22419        '''
22420
22421    def __repr__(self):
22422        return '<sdm.RemoteIdentityGroupGetResponse ' + \
22423            'meta: ' + repr(self.meta) + ' ' +\
22424            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22425            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
22426            '>'
22427
22428    def to_dict(self):
22429        return {
22430            'meta': self.meta,
22431            'rate_limit': self.rate_limit,
22432            'remote_identity_group': self.remote_identity_group,
22433        }
22434
22435    @classmethod
22436    def from_dict(cls, d):
22437        return cls(
22438            meta=d.get('meta'),
22439            rate_limit=d.get('rate_limit'),
22440            remote_identity_group=d.get('remote_identity_group'),
22441        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
22402    def __init__(
22403        self,
22404        meta=None,
22405        rate_limit=None,
22406        remote_identity_group=None,
22407    ):
22408        self.meta = meta if meta is not None else None
22409        '''
22410         Reserved for future use.
22411        '''
22412        self.rate_limit = rate_limit if rate_limit is not None else None
22413        '''
22414         Rate limit information.
22415        '''
22416        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
22417        '''
22418         The requested RemoteIdentityGroup.
22419        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
22428    def to_dict(self):
22429        return {
22430            'meta': self.meta,
22431            'rate_limit': self.rate_limit,
22432            'remote_identity_group': self.remote_identity_group,
22433        }
@classmethod
def from_dict(cls, d)
22435    @classmethod
22436    def from_dict(cls, d):
22437        return cls(
22438            meta=d.get('meta'),
22439            rate_limit=d.get('rate_limit'),
22440            remote_identity_group=d.get('remote_identity_group'),
22441        )
class RemoteIdentityGroupHistory:
22444class RemoteIdentityGroupHistory:
22445    '''
22446         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
22447     where every change (create, update and delete) to a RemoteIdentityGroup produces an
22448     RemoteIdentityGroupHistory record.
22449    '''
22450    __slots__ = [
22451        'activity_id',
22452        'deleted_at',
22453        'remote_identity_group',
22454        'timestamp',
22455    ]
22456
22457    def __init__(
22458        self,
22459        activity_id=None,
22460        deleted_at=None,
22461        remote_identity_group=None,
22462        timestamp=None,
22463    ):
22464        self.activity_id = activity_id if activity_id is not None else ''
22465        '''
22466         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
22467         May be empty for some system-initiated updates.
22468        '''
22469        self.deleted_at = deleted_at if deleted_at is not None else None
22470        '''
22471         If this RemoteIdentityGroup was deleted, the time it was deleted.
22472        '''
22473        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
22474        '''
22475         The complete RemoteIdentityGroup state at this time.
22476        '''
22477        self.timestamp = timestamp if timestamp is not None else None
22478        '''
22479         The time at which the RemoteIdentityGroup state was recorded.
22480        '''
22481
22482    def __repr__(self):
22483        return '<sdm.RemoteIdentityGroupHistory ' + \
22484            'activity_id: ' + repr(self.activity_id) + ' ' +\
22485            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
22486            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
22487            'timestamp: ' + repr(self.timestamp) + ' ' +\
22488            '>'
22489
22490    def to_dict(self):
22491        return {
22492            'activity_id': self.activity_id,
22493            'deleted_at': self.deleted_at,
22494            'remote_identity_group': self.remote_identity_group,
22495            'timestamp': self.timestamp,
22496        }
22497
22498    @classmethod
22499    def from_dict(cls, d):
22500        return cls(
22501            activity_id=d.get('activity_id'),
22502            deleted_at=d.get('deleted_at'),
22503            remote_identity_group=d.get('remote_identity_group'),
22504            timestamp=d.get('timestamp'),
22505        )

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)
22457    def __init__(
22458        self,
22459        activity_id=None,
22460        deleted_at=None,
22461        remote_identity_group=None,
22462        timestamp=None,
22463    ):
22464        self.activity_id = activity_id if activity_id is not None else ''
22465        '''
22466         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
22467         May be empty for some system-initiated updates.
22468        '''
22469        self.deleted_at = deleted_at if deleted_at is not None else None
22470        '''
22471         If this RemoteIdentityGroup was deleted, the time it was deleted.
22472        '''
22473        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
22474        '''
22475         The complete RemoteIdentityGroup state at this time.
22476        '''
22477        self.timestamp = timestamp if timestamp is not None else None
22478        '''
22479         The time at which the RemoteIdentityGroup state was recorded.
22480        '''
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)
22490    def to_dict(self):
22491        return {
22492            'activity_id': self.activity_id,
22493            'deleted_at': self.deleted_at,
22494            'remote_identity_group': self.remote_identity_group,
22495            'timestamp': self.timestamp,
22496        }
@classmethod
def from_dict(cls, d)
22498    @classmethod
22499    def from_dict(cls, d):
22500        return cls(
22501            activity_id=d.get('activity_id'),
22502            deleted_at=d.get('deleted_at'),
22503            remote_identity_group=d.get('remote_identity_group'),
22504            timestamp=d.get('timestamp'),
22505        )
class RemoteIdentityHistory:
22508class RemoteIdentityHistory:
22509    '''
22510         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
22511     where every change (create, update and delete) to a RemoteIdentity produces an
22512     RemoteIdentityHistory record.
22513    '''
22514    __slots__ = [
22515        'activity_id',
22516        'deleted_at',
22517        'remote_identity',
22518        'timestamp',
22519    ]
22520
22521    def __init__(
22522        self,
22523        activity_id=None,
22524        deleted_at=None,
22525        remote_identity=None,
22526        timestamp=None,
22527    ):
22528        self.activity_id = activity_id if activity_id is not None else ''
22529        '''
22530         The unique identifier of the Activity that produced this change to the RemoteIdentity.
22531         May be empty for some system-initiated updates.
22532        '''
22533        self.deleted_at = deleted_at if deleted_at is not None else None
22534        '''
22535         If this RemoteIdentity was deleted, the time it was deleted.
22536        '''
22537        self.remote_identity = remote_identity if remote_identity is not None else None
22538        '''
22539         The complete RemoteIdentity state at this time.
22540        '''
22541        self.timestamp = timestamp if timestamp is not None else None
22542        '''
22543         The time at which the RemoteIdentity state was recorded.
22544        '''
22545
22546    def __repr__(self):
22547        return '<sdm.RemoteIdentityHistory ' + \
22548            'activity_id: ' + repr(self.activity_id) + ' ' +\
22549            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
22550            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22551            'timestamp: ' + repr(self.timestamp) + ' ' +\
22552            '>'
22553
22554    def to_dict(self):
22555        return {
22556            'activity_id': self.activity_id,
22557            'deleted_at': self.deleted_at,
22558            'remote_identity': self.remote_identity,
22559            'timestamp': self.timestamp,
22560        }
22561
22562    @classmethod
22563    def from_dict(cls, d):
22564        return cls(
22565            activity_id=d.get('activity_id'),
22566            deleted_at=d.get('deleted_at'),
22567            remote_identity=d.get('remote_identity'),
22568            timestamp=d.get('timestamp'),
22569        )

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)
22521    def __init__(
22522        self,
22523        activity_id=None,
22524        deleted_at=None,
22525        remote_identity=None,
22526        timestamp=None,
22527    ):
22528        self.activity_id = activity_id if activity_id is not None else ''
22529        '''
22530         The unique identifier of the Activity that produced this change to the RemoteIdentity.
22531         May be empty for some system-initiated updates.
22532        '''
22533        self.deleted_at = deleted_at if deleted_at is not None else None
22534        '''
22535         If this RemoteIdentity was deleted, the time it was deleted.
22536        '''
22537        self.remote_identity = remote_identity if remote_identity is not None else None
22538        '''
22539         The complete RemoteIdentity state at this time.
22540        '''
22541        self.timestamp = timestamp if timestamp is not None else None
22542        '''
22543         The time at which the RemoteIdentity state was recorded.
22544        '''
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)
22554    def to_dict(self):
22555        return {
22556            'activity_id': self.activity_id,
22557            'deleted_at': self.deleted_at,
22558            'remote_identity': self.remote_identity,
22559            'timestamp': self.timestamp,
22560        }
@classmethod
def from_dict(cls, d)
22562    @classmethod
22563    def from_dict(cls, d):
22564        return cls(
22565            activity_id=d.get('activity_id'),
22566            deleted_at=d.get('deleted_at'),
22567            remote_identity=d.get('remote_identity'),
22568            timestamp=d.get('timestamp'),
22569        )
class RemoteIdentityUpdateResponse:
22572class RemoteIdentityUpdateResponse:
22573    '''
22574         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
22575     a RemoteIdentityUpdateRequest.
22576    '''
22577    __slots__ = [
22578        'meta',
22579        'rate_limit',
22580        'remote_identity',
22581    ]
22582
22583    def __init__(
22584        self,
22585        meta=None,
22586        rate_limit=None,
22587        remote_identity=None,
22588    ):
22589        self.meta = meta if meta is not None else None
22590        '''
22591         Reserved for future use.
22592        '''
22593        self.rate_limit = rate_limit if rate_limit is not None else None
22594        '''
22595         Rate limit information.
22596        '''
22597        self.remote_identity = remote_identity if remote_identity is not None else None
22598        '''
22599         The updated RemoteIdentity.
22600        '''
22601
22602    def __repr__(self):
22603        return '<sdm.RemoteIdentityUpdateResponse ' + \
22604            'meta: ' + repr(self.meta) + ' ' +\
22605            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22606            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
22607            '>'
22608
22609    def to_dict(self):
22610        return {
22611            'meta': self.meta,
22612            'rate_limit': self.rate_limit,
22613            'remote_identity': self.remote_identity,
22614        }
22615
22616    @classmethod
22617    def from_dict(cls, d):
22618        return cls(
22619            meta=d.get('meta'),
22620            rate_limit=d.get('rate_limit'),
22621            remote_identity=d.get('remote_identity'),
22622        )

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

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
22583    def __init__(
22584        self,
22585        meta=None,
22586        rate_limit=None,
22587        remote_identity=None,
22588    ):
22589        self.meta = meta if meta is not None else None
22590        '''
22591         Reserved for future use.
22592        '''
22593        self.rate_limit = rate_limit if rate_limit is not None else None
22594        '''
22595         Rate limit information.
22596        '''
22597        self.remote_identity = remote_identity if remote_identity is not None else None
22598        '''
22599         The updated RemoteIdentity.
22600        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
22609    def to_dict(self):
22610        return {
22611            'meta': self.meta,
22612            'rate_limit': self.rate_limit,
22613            'remote_identity': self.remote_identity,
22614        }
@classmethod
def from_dict(cls, d)
22616    @classmethod
22617    def from_dict(cls, d):
22618        return cls(
22619            meta=d.get('meta'),
22620            rate_limit=d.get('rate_limit'),
22621            remote_identity=d.get('remote_identity'),
22622        )
class ReplayChunk:
22625class ReplayChunk:
22626    '''
22627         A ReplayChunk represents a single "chunk" of data from the query replay.
22628    '''
22629    __slots__ = [
22630        'data',
22631        'events',
22632        'symmetric_key',
22633    ]
22634
22635    def __init__(
22636        self,
22637        data=None,
22638        events=None,
22639        symmetric_key=None,
22640    ):
22641        self.data = data if data is not None else b''
22642        '''
22643         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
22644        '''
22645        self.events = events if events is not None else []
22646        '''
22647         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
22648         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
22649        '''
22650        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
22651        '''
22652         If the data is encrypted, this contains the encrypted symmetric key
22653        '''
22654
22655    def __repr__(self):
22656        return '<sdm.ReplayChunk ' + \
22657            'data: ' + repr(self.data) + ' ' +\
22658            'events: ' + repr(self.events) + ' ' +\
22659            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
22660            '>'
22661
22662    def to_dict(self):
22663        return {
22664            'data': self.data,
22665            'events': self.events,
22666            'symmetric_key': self.symmetric_key,
22667        }
22668
22669    @classmethod
22670    def from_dict(cls, d):
22671        return cls(
22672            data=d.get('data'),
22673            events=d.get('events'),
22674            symmetric_key=d.get('symmetric_key'),
22675        )

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

ReplayChunk(data=None, events=None, symmetric_key=None)
22635    def __init__(
22636        self,
22637        data=None,
22638        events=None,
22639        symmetric_key=None,
22640    ):
22641        self.data = data if data is not None else b''
22642        '''
22643         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
22644        '''
22645        self.events = events if events is not None else []
22646        '''
22647         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
22648         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
22649        '''
22650        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
22651        '''
22652         If the data is encrypted, this contains the encrypted symmetric key
22653        '''
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)
22662    def to_dict(self):
22663        return {
22664            'data': self.data,
22665            'events': self.events,
22666            'symmetric_key': self.symmetric_key,
22667        }
@classmethod
def from_dict(cls, d)
22669    @classmethod
22670    def from_dict(cls, d):
22671        return cls(
22672            data=d.get('data'),
22673            events=d.get('events'),
22674            symmetric_key=d.get('symmetric_key'),
22675        )
class ReplayChunkEvent:
22678class ReplayChunkEvent:
22679    '''
22680         A ReplayChunkEvent represents a single event within a query replay.
22681     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
22682    '''
22683    __slots__ = [
22684        'data',
22685        'duration',
22686    ]
22687
22688    def __init__(
22689        self,
22690        data=None,
22691        duration=None,
22692    ):
22693        self.data = data if data is not None else b''
22694        '''
22695         The raw data of the ReplayChunkEvent.
22696        '''
22697        self.duration = duration if duration is not None else None
22698        '''
22699         The time duration over which the data in this ReplayChunkEvent was transferred.
22700        '''
22701
22702    def __repr__(self):
22703        return '<sdm.ReplayChunkEvent ' + \
22704            'data: ' + repr(self.data) + ' ' +\
22705            'duration: ' + repr(self.duration) + ' ' +\
22706            '>'
22707
22708    def to_dict(self):
22709        return {
22710            'data': self.data,
22711            'duration': self.duration,
22712        }
22713
22714    @classmethod
22715    def from_dict(cls, d):
22716        return cls(
22717            data=d.get('data'),
22718            duration=d.get('duration'),
22719        )

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)
22688    def __init__(
22689        self,
22690        data=None,
22691        duration=None,
22692    ):
22693        self.data = data if data is not None else b''
22694        '''
22695         The raw data of the ReplayChunkEvent.
22696        '''
22697        self.duration = duration if duration is not None else None
22698        '''
22699         The time duration over which the data in this ReplayChunkEvent was transferred.
22700        '''
data

The raw data of the ReplayChunkEvent.

duration

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

def to_dict(self)
22708    def to_dict(self):
22709        return {
22710            'data': self.data,
22711            'duration': self.duration,
22712        }
@classmethod
def from_dict(cls, d)
22714    @classmethod
22715    def from_dict(cls, d):
22716        return cls(
22717            data=d.get('data'),
22718            duration=d.get('duration'),
22719        )
class RequestableResource:
22722class RequestableResource:
22723    '''
22724         RequestableResource is a resource that can be requested via an AccessRequestConfig
22725    '''
22726    __slots__ = [
22727        'access',
22728        'authentication',
22729        'healthy',
22730        'id',
22731        'name',
22732        'tags',
22733        'type',
22734    ]
22735
22736    def __init__(
22737        self,
22738        access=None,
22739        authentication=None,
22740        healthy=None,
22741        id=None,
22742        name=None,
22743        tags=None,
22744        type=None,
22745    ):
22746        self.access = access if access is not None else ''
22747        '''
22748         The current state of the user's access to the resources
22749        '''
22750        self.authentication = authentication if authentication is not None else ''
22751        '''
22752         The type of authentication for the resource
22753        '''
22754        self.healthy = healthy if healthy is not None else False
22755        '''
22756         The health check status of the reasource
22757        '''
22758        self.id = id if id is not None else ''
22759        '''
22760         The resource id.
22761        '''
22762        self.name = name if name is not None else ''
22763        '''
22764         The resource name.
22765        '''
22766        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22767        '''
22768         Any tags attached to this resource
22769        '''
22770        self.type = type if type is not None else ''
22771        '''
22772         The resource type
22773        '''
22774
22775    def __repr__(self):
22776        return '<sdm.RequestableResource ' + \
22777            'access: ' + repr(self.access) + ' ' +\
22778            'authentication: ' + repr(self.authentication) + ' ' +\
22779            'healthy: ' + repr(self.healthy) + ' ' +\
22780            'id: ' + repr(self.id) + ' ' +\
22781            'name: ' + repr(self.name) + ' ' +\
22782            'tags: ' + repr(self.tags) + ' ' +\
22783            'type: ' + repr(self.type) + ' ' +\
22784            '>'
22785
22786    def to_dict(self):
22787        return {
22788            'access': self.access,
22789            'authentication': self.authentication,
22790            'healthy': self.healthy,
22791            'id': self.id,
22792            'name': self.name,
22793            'tags': self.tags,
22794            'type': self.type,
22795        }
22796
22797    @classmethod
22798    def from_dict(cls, d):
22799        return cls(
22800            access=d.get('access'),
22801            authentication=d.get('authentication'),
22802            healthy=d.get('healthy'),
22803            id=d.get('id'),
22804            name=d.get('name'),
22805            tags=d.get('tags'),
22806            type=d.get('type'),
22807        )

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)
22736    def __init__(
22737        self,
22738        access=None,
22739        authentication=None,
22740        healthy=None,
22741        id=None,
22742        name=None,
22743        tags=None,
22744        type=None,
22745    ):
22746        self.access = access if access is not None else ''
22747        '''
22748         The current state of the user's access to the resources
22749        '''
22750        self.authentication = authentication if authentication is not None else ''
22751        '''
22752         The type of authentication for the resource
22753        '''
22754        self.healthy = healthy if healthy is not None else False
22755        '''
22756         The health check status of the reasource
22757        '''
22758        self.id = id if id is not None else ''
22759        '''
22760         The resource id.
22761        '''
22762        self.name = name if name is not None else ''
22763        '''
22764         The resource name.
22765        '''
22766        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22767        '''
22768         Any tags attached to this resource
22769        '''
22770        self.type = type if type is not None else ''
22771        '''
22772         The resource type
22773        '''
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)
22786    def to_dict(self):
22787        return {
22788            'access': self.access,
22789            'authentication': self.authentication,
22790            'healthy': self.healthy,
22791            'id': self.id,
22792            'name': self.name,
22793            'tags': self.tags,
22794            'type': self.type,
22795        }
@classmethod
def from_dict(cls, d)
22797    @classmethod
22798    def from_dict(cls, d):
22799        return cls(
22800            access=d.get('access'),
22801            authentication=d.get('authentication'),
22802            healthy=d.get('healthy'),
22803            id=d.get('id'),
22804            name=d.get('name'),
22805            tags=d.get('tags'),
22806            type=d.get('type'),
22807        )
class ResourceCreateResponse:
22810class ResourceCreateResponse:
22811    '''
22812         ResourceCreateResponse reports how the Resources were created in the system.
22813    '''
22814    __slots__ = [
22815        'meta',
22816        'rate_limit',
22817        'resource',
22818    ]
22819
22820    def __init__(
22821        self,
22822        meta=None,
22823        rate_limit=None,
22824        resource=None,
22825    ):
22826        self.meta = meta if meta is not None else None
22827        '''
22828         Reserved for future use.
22829        '''
22830        self.rate_limit = rate_limit if rate_limit is not None else None
22831        '''
22832         Rate limit information.
22833        '''
22834        self.resource = resource if resource is not None else None
22835        '''
22836         The created Resource.
22837        '''
22838
22839    def __repr__(self):
22840        return '<sdm.ResourceCreateResponse ' + \
22841            'meta: ' + repr(self.meta) + ' ' +\
22842            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22843            'resource: ' + repr(self.resource) + ' ' +\
22844            '>'
22845
22846    def to_dict(self):
22847        return {
22848            'meta': self.meta,
22849            'rate_limit': self.rate_limit,
22850            'resource': self.resource,
22851        }
22852
22853    @classmethod
22854    def from_dict(cls, d):
22855        return cls(
22856            meta=d.get('meta'),
22857            rate_limit=d.get('rate_limit'),
22858            resource=d.get('resource'),
22859        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
22820    def __init__(
22821        self,
22822        meta=None,
22823        rate_limit=None,
22824        resource=None,
22825    ):
22826        self.meta = meta if meta is not None else None
22827        '''
22828         Reserved for future use.
22829        '''
22830        self.rate_limit = rate_limit if rate_limit is not None else None
22831        '''
22832         Rate limit information.
22833        '''
22834        self.resource = resource if resource is not None else None
22835        '''
22836         The created Resource.
22837        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
22846    def to_dict(self):
22847        return {
22848            'meta': self.meta,
22849            'rate_limit': self.rate_limit,
22850            'resource': self.resource,
22851        }
@classmethod
def from_dict(cls, d)
22853    @classmethod
22854    def from_dict(cls, d):
22855        return cls(
22856            meta=d.get('meta'),
22857            rate_limit=d.get('rate_limit'),
22858            resource=d.get('resource'),
22859        )
class ResourceDeleteResponse:
22862class ResourceDeleteResponse:
22863    '''
22864         ResourceDeleteResponse returns information about a Resource that was deleted.
22865    '''
22866    __slots__ = [
22867        'meta',
22868        'rate_limit',
22869    ]
22870
22871    def __init__(
22872        self,
22873        meta=None,
22874        rate_limit=None,
22875    ):
22876        self.meta = meta if meta is not None else None
22877        '''
22878         Reserved for future use.
22879        '''
22880        self.rate_limit = rate_limit if rate_limit is not None else None
22881        '''
22882         Rate limit information.
22883        '''
22884
22885    def __repr__(self):
22886        return '<sdm.ResourceDeleteResponse ' + \
22887            'meta: ' + repr(self.meta) + ' ' +\
22888            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22889            '>'
22890
22891    def to_dict(self):
22892        return {
22893            'meta': self.meta,
22894            'rate_limit': self.rate_limit,
22895        }
22896
22897    @classmethod
22898    def from_dict(cls, d):
22899        return cls(
22900            meta=d.get('meta'),
22901            rate_limit=d.get('rate_limit'),
22902        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
22871    def __init__(
22872        self,
22873        meta=None,
22874        rate_limit=None,
22875    ):
22876        self.meta = meta if meta is not None else None
22877        '''
22878         Reserved for future use.
22879        '''
22880        self.rate_limit = rate_limit if rate_limit is not None else None
22881        '''
22882         Rate limit information.
22883        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22891    def to_dict(self):
22892        return {
22893            'meta': self.meta,
22894            'rate_limit': self.rate_limit,
22895        }
@classmethod
def from_dict(cls, d)
22897    @classmethod
22898    def from_dict(cls, d):
22899        return cls(
22900            meta=d.get('meta'),
22901            rate_limit=d.get('rate_limit'),
22902        )
class ResourceGetResponse:
22905class ResourceGetResponse:
22906    '''
22907         ResourceGetResponse returns a requested Resource.
22908    '''
22909    __slots__ = [
22910        'meta',
22911        'rate_limit',
22912        'resource',
22913    ]
22914
22915    def __init__(
22916        self,
22917        meta=None,
22918        rate_limit=None,
22919        resource=None,
22920    ):
22921        self.meta = meta if meta is not None else None
22922        '''
22923         Reserved for future use.
22924        '''
22925        self.rate_limit = rate_limit if rate_limit is not None else None
22926        '''
22927         Rate limit information.
22928        '''
22929        self.resource = resource if resource is not None else None
22930        '''
22931         The requested Resource.
22932        '''
22933
22934    def __repr__(self):
22935        return '<sdm.ResourceGetResponse ' + \
22936            'meta: ' + repr(self.meta) + ' ' +\
22937            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22938            'resource: ' + repr(self.resource) + ' ' +\
22939            '>'
22940
22941    def to_dict(self):
22942        return {
22943            'meta': self.meta,
22944            'rate_limit': self.rate_limit,
22945            'resource': self.resource,
22946        }
22947
22948    @classmethod
22949    def from_dict(cls, d):
22950        return cls(
22951            meta=d.get('meta'),
22952            rate_limit=d.get('rate_limit'),
22953            resource=d.get('resource'),
22954        )

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
22915    def __init__(
22916        self,
22917        meta=None,
22918        rate_limit=None,
22919        resource=None,
22920    ):
22921        self.meta = meta if meta is not None else None
22922        '''
22923         Reserved for future use.
22924        '''
22925        self.rate_limit = rate_limit if rate_limit is not None else None
22926        '''
22927         Rate limit information.
22928        '''
22929        self.resource = resource if resource is not None else None
22930        '''
22931         The requested Resource.
22932        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
22941    def to_dict(self):
22942        return {
22943            'meta': self.meta,
22944            'rate_limit': self.rate_limit,
22945            'resource': self.resource,
22946        }
@classmethod
def from_dict(cls, d)
22948    @classmethod
22949    def from_dict(cls, d):
22950        return cls(
22951            meta=d.get('meta'),
22952            rate_limit=d.get('rate_limit'),
22953            resource=d.get('resource'),
22954        )
class ResourceHealthcheckRequest:
22957class ResourceHealthcheckRequest:
22958    '''
22959         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
22960    '''
22961    __slots__ = [
22962        'id',
22963    ]
22964
22965    def __init__(
22966        self,
22967        id=None,
22968    ):
22969        self.id = id if id is not None else ''
22970        '''
22971         The unique identifier of the Resource to healthcheck.
22972        '''
22973
22974    def __repr__(self):
22975        return '<sdm.ResourceHealthcheckRequest ' + \
22976            'id: ' + repr(self.id) + ' ' +\
22977            '>'
22978
22979    def to_dict(self):
22980        return {
22981            'id': self.id,
22982        }
22983
22984    @classmethod
22985    def from_dict(cls, d):
22986        return cls(id=d.get('id'), )

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

ResourceHealthcheckRequest(id=None)
22965    def __init__(
22966        self,
22967        id=None,
22968    ):
22969        self.id = id if id is not None else ''
22970        '''
22971         The unique identifier of the Resource to healthcheck.
22972        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
22979    def to_dict(self):
22980        return {
22981            'id': self.id,
22982        }
@classmethod
def from_dict(cls, d)
22984    @classmethod
22985    def from_dict(cls, d):
22986        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
22989class ResourceHealthcheckResponse:
22990    '''
22991         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
22992     Healthchecks are non blocking, and this contains no non-metadata.
22993    '''
22994    __slots__ = [
22995        'meta',
22996        'rate_limit',
22997    ]
22998
22999    def __init__(
23000        self,
23001        meta=None,
23002        rate_limit=None,
23003    ):
23004        self.meta = meta if meta is not None else None
23005        '''
23006         Reserved for future use.
23007        '''
23008        self.rate_limit = rate_limit if rate_limit is not None else None
23009        '''
23010         Rate limit information.
23011        '''
23012
23013    def __repr__(self):
23014        return '<sdm.ResourceHealthcheckResponse ' + \
23015            'meta: ' + repr(self.meta) + ' ' +\
23016            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23017            '>'
23018
23019    def to_dict(self):
23020        return {
23021            'meta': self.meta,
23022            'rate_limit': self.rate_limit,
23023        }
23024
23025    @classmethod
23026    def from_dict(cls, d):
23027        return cls(
23028            meta=d.get('meta'),
23029            rate_limit=d.get('rate_limit'),
23030        )

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

ResourceHealthcheckResponse(meta=None, rate_limit=None)
22999    def __init__(
23000        self,
23001        meta=None,
23002        rate_limit=None,
23003    ):
23004        self.meta = meta if meta is not None else None
23005        '''
23006         Reserved for future use.
23007        '''
23008        self.rate_limit = rate_limit if rate_limit is not None else None
23009        '''
23010         Rate limit information.
23011        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
23019    def to_dict(self):
23020        return {
23021            'meta': self.meta,
23022            'rate_limit': self.rate_limit,
23023        }
@classmethod
def from_dict(cls, d)
23025    @classmethod
23026    def from_dict(cls, d):
23027        return cls(
23028            meta=d.get('meta'),
23029            rate_limit=d.get('rate_limit'),
23030        )
class ResourceHistory:
23033class ResourceHistory:
23034    '''
23035         ResourceHistory records the state of a Resource at a given point in time,
23036     where every change (create, update and delete) to a Resource produces an
23037     ResourceHistory record.
23038    '''
23039    __slots__ = [
23040        'activity_id',
23041        'deleted_at',
23042        'resource',
23043        'timestamp',
23044    ]
23045
23046    def __init__(
23047        self,
23048        activity_id=None,
23049        deleted_at=None,
23050        resource=None,
23051        timestamp=None,
23052    ):
23053        self.activity_id = activity_id if activity_id is not None else ''
23054        '''
23055         The unique identifier of the Activity that produced this change to the Resource.
23056         May be empty for some system-initiated updates.
23057        '''
23058        self.deleted_at = deleted_at if deleted_at is not None else None
23059        '''
23060         If this Resource was deleted, the time it was deleted.
23061        '''
23062        self.resource = resource if resource is not None else None
23063        '''
23064         The complete Resource state at this time.
23065        '''
23066        self.timestamp = timestamp if timestamp is not None else None
23067        '''
23068         The time at which the Resource state was recorded.
23069        '''
23070
23071    def __repr__(self):
23072        return '<sdm.ResourceHistory ' + \
23073            'activity_id: ' + repr(self.activity_id) + ' ' +\
23074            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23075            'resource: ' + repr(self.resource) + ' ' +\
23076            'timestamp: ' + repr(self.timestamp) + ' ' +\
23077            '>'
23078
23079    def to_dict(self):
23080        return {
23081            'activity_id': self.activity_id,
23082            'deleted_at': self.deleted_at,
23083            'resource': self.resource,
23084            'timestamp': self.timestamp,
23085        }
23086
23087    @classmethod
23088    def from_dict(cls, d):
23089        return cls(
23090            activity_id=d.get('activity_id'),
23091            deleted_at=d.get('deleted_at'),
23092            resource=d.get('resource'),
23093            timestamp=d.get('timestamp'),
23094        )

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)
23046    def __init__(
23047        self,
23048        activity_id=None,
23049        deleted_at=None,
23050        resource=None,
23051        timestamp=None,
23052    ):
23053        self.activity_id = activity_id if activity_id is not None else ''
23054        '''
23055         The unique identifier of the Activity that produced this change to the Resource.
23056         May be empty for some system-initiated updates.
23057        '''
23058        self.deleted_at = deleted_at if deleted_at is not None else None
23059        '''
23060         If this Resource was deleted, the time it was deleted.
23061        '''
23062        self.resource = resource if resource is not None else None
23063        '''
23064         The complete Resource state at this time.
23065        '''
23066        self.timestamp = timestamp if timestamp is not None else None
23067        '''
23068         The time at which the Resource state was recorded.
23069        '''
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)
23079    def to_dict(self):
23080        return {
23081            'activity_id': self.activity_id,
23082            'deleted_at': self.deleted_at,
23083            'resource': self.resource,
23084            'timestamp': self.timestamp,
23085        }
@classmethod
def from_dict(cls, d)
23087    @classmethod
23088    def from_dict(cls, d):
23089        return cls(
23090            activity_id=d.get('activity_id'),
23091            deleted_at=d.get('deleted_at'),
23092            resource=d.get('resource'),
23093            timestamp=d.get('timestamp'),
23094        )
class ResourceUpdateResponse:
23097class ResourceUpdateResponse:
23098    '''
23099         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
23100     a ResourceUpdateRequest.
23101    '''
23102    __slots__ = [
23103        'meta',
23104        'rate_limit',
23105        'resource',
23106    ]
23107
23108    def __init__(
23109        self,
23110        meta=None,
23111        rate_limit=None,
23112        resource=None,
23113    ):
23114        self.meta = meta if meta is not None else None
23115        '''
23116         Reserved for future use.
23117        '''
23118        self.rate_limit = rate_limit if rate_limit is not None else None
23119        '''
23120         Rate limit information.
23121        '''
23122        self.resource = resource if resource is not None else None
23123        '''
23124         The updated Resource.
23125        '''
23126
23127    def __repr__(self):
23128        return '<sdm.ResourceUpdateResponse ' + \
23129            'meta: ' + repr(self.meta) + ' ' +\
23130            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23131            'resource: ' + repr(self.resource) + ' ' +\
23132            '>'
23133
23134    def to_dict(self):
23135        return {
23136            'meta': self.meta,
23137            'rate_limit': self.rate_limit,
23138            'resource': self.resource,
23139        }
23140
23141    @classmethod
23142    def from_dict(cls, d):
23143        return cls(
23144            meta=d.get('meta'),
23145            rate_limit=d.get('rate_limit'),
23146            resource=d.get('resource'),
23147        )

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

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
23108    def __init__(
23109        self,
23110        meta=None,
23111        rate_limit=None,
23112        resource=None,
23113    ):
23114        self.meta = meta if meta is not None else None
23115        '''
23116         Reserved for future use.
23117        '''
23118        self.rate_limit = rate_limit if rate_limit is not None else None
23119        '''
23120         Rate limit information.
23121        '''
23122        self.resource = resource if resource is not None else None
23123        '''
23124         The updated Resource.
23125        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
23134    def to_dict(self):
23135        return {
23136            'meta': self.meta,
23137            'rate_limit': self.rate_limit,
23138            'resource': self.resource,
23139        }
@classmethod
def from_dict(cls, d)
23141    @classmethod
23142    def from_dict(cls, d):
23143        return cls(
23144            meta=d.get('meta'),
23145            rate_limit=d.get('rate_limit'),
23146            resource=d.get('resource'),
23147        )
class Role:
23150class Role:
23151    '''
23152         A Role has a list of access rules which determine which Resources the members
23153     of the Role have access to. An Account can be a member of multiple Roles via
23154     AccountAttachments.
23155    '''
23156    __slots__ = [
23157        'access_rules',
23158        'id',
23159        'managed_by',
23160        'name',
23161        'tags',
23162    ]
23163
23164    def __init__(
23165        self,
23166        access_rules=None,
23167        id=None,
23168        managed_by=None,
23169        name=None,
23170        tags=None,
23171    ):
23172        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
23173        )
23174        '''
23175         AccessRules is a list of access rules defining the resources this Role has access to.
23176        '''
23177        self.id = id if id is not None else ''
23178        '''
23179         Unique identifier of the Role.
23180        '''
23181        self.managed_by = managed_by if managed_by is not None else ''
23182        '''
23183         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
23184        '''
23185        self.name = name if name is not None else ''
23186        '''
23187         Unique human-readable name of the Role.
23188        '''
23189        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23190        '''
23191         Tags is a map of key, value pairs.
23192        '''
23193
23194    def __repr__(self):
23195        return '<sdm.Role ' + \
23196            'access_rules: ' + repr(self.access_rules) + ' ' +\
23197            'id: ' + repr(self.id) + ' ' +\
23198            'managed_by: ' + repr(self.managed_by) + ' ' +\
23199            'name: ' + repr(self.name) + ' ' +\
23200            'tags: ' + repr(self.tags) + ' ' +\
23201            '>'
23202
23203    def to_dict(self):
23204        return {
23205            'access_rules': self.access_rules,
23206            'id': self.id,
23207            'managed_by': self.managed_by,
23208            'name': self.name,
23209            'tags': self.tags,
23210        }
23211
23212    @classmethod
23213    def from_dict(cls, d):
23214        return cls(
23215            access_rules=d.get('access_rules'),
23216            id=d.get('id'),
23217            managed_by=d.get('managed_by'),
23218            name=d.get('name'),
23219            tags=d.get('tags'),
23220        )

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)
23164    def __init__(
23165        self,
23166        access_rules=None,
23167        id=None,
23168        managed_by=None,
23169        name=None,
23170        tags=None,
23171    ):
23172        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
23173        )
23174        '''
23175         AccessRules is a list of access rules defining the resources this Role has access to.
23176        '''
23177        self.id = id if id is not None else ''
23178        '''
23179         Unique identifier of the Role.
23180        '''
23181        self.managed_by = managed_by if managed_by is not None else ''
23182        '''
23183         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
23184        '''
23185        self.name = name if name is not None else ''
23186        '''
23187         Unique human-readable name of the Role.
23188        '''
23189        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23190        '''
23191         Tags is a map of key, value pairs.
23192        '''
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)
23203    def to_dict(self):
23204        return {
23205            'access_rules': self.access_rules,
23206            'id': self.id,
23207            'managed_by': self.managed_by,
23208            'name': self.name,
23209            'tags': self.tags,
23210        }
@classmethod
def from_dict(cls, d)
23212    @classmethod
23213    def from_dict(cls, d):
23214        return cls(
23215            access_rules=d.get('access_rules'),
23216            id=d.get('id'),
23217            managed_by=d.get('managed_by'),
23218            name=d.get('name'),
23219            tags=d.get('tags'),
23220        )
class RoleCreateResponse:
23223class RoleCreateResponse:
23224    '''
23225         RoleCreateResponse reports how the Roles were created in the system. It can
23226     communicate partial successes or failures.
23227    '''
23228    __slots__ = [
23229        'meta',
23230        'rate_limit',
23231        'role',
23232    ]
23233
23234    def __init__(
23235        self,
23236        meta=None,
23237        rate_limit=None,
23238        role=None,
23239    ):
23240        self.meta = meta if meta is not None else None
23241        '''
23242         Reserved for future use.
23243        '''
23244        self.rate_limit = rate_limit if rate_limit is not None else None
23245        '''
23246         Rate limit information.
23247        '''
23248        self.role = role if role is not None else None
23249        '''
23250         The created Role.
23251        '''
23252
23253    def __repr__(self):
23254        return '<sdm.RoleCreateResponse ' + \
23255            'meta: ' + repr(self.meta) + ' ' +\
23256            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23257            'role: ' + repr(self.role) + ' ' +\
23258            '>'
23259
23260    def to_dict(self):
23261        return {
23262            'meta': self.meta,
23263            'rate_limit': self.rate_limit,
23264            'role': self.role,
23265        }
23266
23267    @classmethod
23268    def from_dict(cls, d):
23269        return cls(
23270            meta=d.get('meta'),
23271            rate_limit=d.get('rate_limit'),
23272            role=d.get('role'),
23273        )

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)
23234    def __init__(
23235        self,
23236        meta=None,
23237        rate_limit=None,
23238        role=None,
23239    ):
23240        self.meta = meta if meta is not None else None
23241        '''
23242         Reserved for future use.
23243        '''
23244        self.rate_limit = rate_limit if rate_limit is not None else None
23245        '''
23246         Rate limit information.
23247        '''
23248        self.role = role if role is not None else None
23249        '''
23250         The created Role.
23251        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
23260    def to_dict(self):
23261        return {
23262            'meta': self.meta,
23263            'rate_limit': self.rate_limit,
23264            'role': self.role,
23265        }
@classmethod
def from_dict(cls, d)
23267    @classmethod
23268    def from_dict(cls, d):
23269        return cls(
23270            meta=d.get('meta'),
23271            rate_limit=d.get('rate_limit'),
23272            role=d.get('role'),
23273        )
class RoleDeleteResponse:
23276class RoleDeleteResponse:
23277    '''
23278         RoleDeleteResponse returns information about a Role that was deleted.
23279    '''
23280    __slots__ = [
23281        'meta',
23282        'rate_limit',
23283    ]
23284
23285    def __init__(
23286        self,
23287        meta=None,
23288        rate_limit=None,
23289    ):
23290        self.meta = meta if meta is not None else None
23291        '''
23292         Reserved for future use.
23293        '''
23294        self.rate_limit = rate_limit if rate_limit is not None else None
23295        '''
23296         Rate limit information.
23297        '''
23298
23299    def __repr__(self):
23300        return '<sdm.RoleDeleteResponse ' + \
23301            'meta: ' + repr(self.meta) + ' ' +\
23302            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23303            '>'
23304
23305    def to_dict(self):
23306        return {
23307            'meta': self.meta,
23308            'rate_limit': self.rate_limit,
23309        }
23310
23311    @classmethod
23312    def from_dict(cls, d):
23313        return cls(
23314            meta=d.get('meta'),
23315            rate_limit=d.get('rate_limit'),
23316        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
23285    def __init__(
23286        self,
23287        meta=None,
23288        rate_limit=None,
23289    ):
23290        self.meta = meta if meta is not None else None
23291        '''
23292         Reserved for future use.
23293        '''
23294        self.rate_limit = rate_limit if rate_limit is not None else None
23295        '''
23296         Rate limit information.
23297        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
23305    def to_dict(self):
23306        return {
23307            'meta': self.meta,
23308            'rate_limit': self.rate_limit,
23309        }
@classmethod
def from_dict(cls, d)
23311    @classmethod
23312    def from_dict(cls, d):
23313        return cls(
23314            meta=d.get('meta'),
23315            rate_limit=d.get('rate_limit'),
23316        )
class RoleGetResponse:
23319class RoleGetResponse:
23320    '''
23321         RoleGetResponse returns a requested Role.
23322    '''
23323    __slots__ = [
23324        'meta',
23325        'rate_limit',
23326        'role',
23327    ]
23328
23329    def __init__(
23330        self,
23331        meta=None,
23332        rate_limit=None,
23333        role=None,
23334    ):
23335        self.meta = meta if meta is not None else None
23336        '''
23337         Reserved for future use.
23338        '''
23339        self.rate_limit = rate_limit if rate_limit is not None else None
23340        '''
23341         Rate limit information.
23342        '''
23343        self.role = role if role is not None else None
23344        '''
23345         The requested Role.
23346        '''
23347
23348    def __repr__(self):
23349        return '<sdm.RoleGetResponse ' + \
23350            'meta: ' + repr(self.meta) + ' ' +\
23351            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23352            'role: ' + repr(self.role) + ' ' +\
23353            '>'
23354
23355    def to_dict(self):
23356        return {
23357            'meta': self.meta,
23358            'rate_limit': self.rate_limit,
23359            'role': self.role,
23360        }
23361
23362    @classmethod
23363    def from_dict(cls, d):
23364        return cls(
23365            meta=d.get('meta'),
23366            rate_limit=d.get('rate_limit'),
23367            role=d.get('role'),
23368        )

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
23329    def __init__(
23330        self,
23331        meta=None,
23332        rate_limit=None,
23333        role=None,
23334    ):
23335        self.meta = meta if meta is not None else None
23336        '''
23337         Reserved for future use.
23338        '''
23339        self.rate_limit = rate_limit if rate_limit is not None else None
23340        '''
23341         Rate limit information.
23342        '''
23343        self.role = role if role is not None else None
23344        '''
23345         The requested Role.
23346        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

def to_dict(self)
23355    def to_dict(self):
23356        return {
23357            'meta': self.meta,
23358            'rate_limit': self.rate_limit,
23359            'role': self.role,
23360        }
@classmethod
def from_dict(cls, d)
23362    @classmethod
23363    def from_dict(cls, d):
23364        return cls(
23365            meta=d.get('meta'),
23366            rate_limit=d.get('rate_limit'),
23367            role=d.get('role'),
23368        )
class RoleHistory:
23371class RoleHistory:
23372    '''
23373         RoleHistory records the state of a Role at a given point in time,
23374     where every change (create, update and delete) to a Role produces an
23375     RoleHistory record.
23376    '''
23377    __slots__ = [
23378        'activity_id',
23379        'deleted_at',
23380        'role',
23381        'timestamp',
23382    ]
23383
23384    def __init__(
23385        self,
23386        activity_id=None,
23387        deleted_at=None,
23388        role=None,
23389        timestamp=None,
23390    ):
23391        self.activity_id = activity_id if activity_id is not None else ''
23392        '''
23393         The unique identifier of the Activity that produced this change to the Role.
23394         May be empty for some system-initiated updates.
23395        '''
23396        self.deleted_at = deleted_at if deleted_at is not None else None
23397        '''
23398         If this Role was deleted, the time it was deleted.
23399        '''
23400        self.role = role if role is not None else None
23401        '''
23402         The complete Role state at this time.
23403        '''
23404        self.timestamp = timestamp if timestamp is not None else None
23405        '''
23406         The time at which the Role state was recorded.
23407        '''
23408
23409    def __repr__(self):
23410        return '<sdm.RoleHistory ' + \
23411            'activity_id: ' + repr(self.activity_id) + ' ' +\
23412            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23413            'role: ' + repr(self.role) + ' ' +\
23414            'timestamp: ' + repr(self.timestamp) + ' ' +\
23415            '>'
23416
23417    def to_dict(self):
23418        return {
23419            'activity_id': self.activity_id,
23420            'deleted_at': self.deleted_at,
23421            'role': self.role,
23422            'timestamp': self.timestamp,
23423        }
23424
23425    @classmethod
23426    def from_dict(cls, d):
23427        return cls(
23428            activity_id=d.get('activity_id'),
23429            deleted_at=d.get('deleted_at'),
23430            role=d.get('role'),
23431            timestamp=d.get('timestamp'),
23432        )

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)
23384    def __init__(
23385        self,
23386        activity_id=None,
23387        deleted_at=None,
23388        role=None,
23389        timestamp=None,
23390    ):
23391        self.activity_id = activity_id if activity_id is not None else ''
23392        '''
23393         The unique identifier of the Activity that produced this change to the Role.
23394         May be empty for some system-initiated updates.
23395        '''
23396        self.deleted_at = deleted_at if deleted_at is not None else None
23397        '''
23398         If this Role was deleted, the time it was deleted.
23399        '''
23400        self.role = role if role is not None else None
23401        '''
23402         The complete Role state at this time.
23403        '''
23404        self.timestamp = timestamp if timestamp is not None else None
23405        '''
23406         The time at which the Role state was recorded.
23407        '''
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)
23417    def to_dict(self):
23418        return {
23419            'activity_id': self.activity_id,
23420            'deleted_at': self.deleted_at,
23421            'role': self.role,
23422            'timestamp': self.timestamp,
23423        }
@classmethod
def from_dict(cls, d)
23425    @classmethod
23426    def from_dict(cls, d):
23427        return cls(
23428            activity_id=d.get('activity_id'),
23429            deleted_at=d.get('deleted_at'),
23430            role=d.get('role'),
23431            timestamp=d.get('timestamp'),
23432        )
class RoleResource:
23435class RoleResource:
23436    '''
23437         RoleResource represents an individual access grant of a Role to a Resource.
23438    '''
23439    __slots__ = [
23440        'granted_at',
23441        'resource_id',
23442        'role_id',
23443    ]
23444
23445    def __init__(
23446        self,
23447        granted_at=None,
23448        resource_id=None,
23449        role_id=None,
23450    ):
23451        self.granted_at = granted_at if granted_at is not None else None
23452        '''
23453         The most recent time at which access was granted. If access was granted,
23454         revoked, and granted again, this will reflect the later time.
23455        '''
23456        self.resource_id = resource_id if resource_id is not None else ''
23457        '''
23458         The unique identifier of the Resource to which access is granted.
23459        '''
23460        self.role_id = role_id if role_id is not None else ''
23461        '''
23462         The unique identifier of the Role to which access is granted.
23463        '''
23464
23465    def __repr__(self):
23466        return '<sdm.RoleResource ' + \
23467            'granted_at: ' + repr(self.granted_at) + ' ' +\
23468            'resource_id: ' + repr(self.resource_id) + ' ' +\
23469            'role_id: ' + repr(self.role_id) + ' ' +\
23470            '>'
23471
23472    def to_dict(self):
23473        return {
23474            'granted_at': self.granted_at,
23475            'resource_id': self.resource_id,
23476            'role_id': self.role_id,
23477        }
23478
23479    @classmethod
23480    def from_dict(cls, d):
23481        return cls(
23482            granted_at=d.get('granted_at'),
23483            resource_id=d.get('resource_id'),
23484            role_id=d.get('role_id'),
23485        )

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

RoleResource(granted_at=None, resource_id=None, role_id=None)
23445    def __init__(
23446        self,
23447        granted_at=None,
23448        resource_id=None,
23449        role_id=None,
23450    ):
23451        self.granted_at = granted_at if granted_at is not None else None
23452        '''
23453         The most recent time at which access was granted. If access was granted,
23454         revoked, and granted again, this will reflect the later time.
23455        '''
23456        self.resource_id = resource_id if resource_id is not None else ''
23457        '''
23458         The unique identifier of the Resource to which access is granted.
23459        '''
23460        self.role_id = role_id if role_id is not None else ''
23461        '''
23462         The unique identifier of the Role to which access is granted.
23463        '''
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)
23472    def to_dict(self):
23473        return {
23474            'granted_at': self.granted_at,
23475            'resource_id': self.resource_id,
23476            'role_id': self.role_id,
23477        }
@classmethod
def from_dict(cls, d)
23479    @classmethod
23480    def from_dict(cls, d):
23481        return cls(
23482            granted_at=d.get('granted_at'),
23483            resource_id=d.get('resource_id'),
23484            role_id=d.get('role_id'),
23485        )
class RoleResourceHistory:
23488class RoleResourceHistory:
23489    '''
23490         RoleResourceHistory records the state of a RoleResource at a given point in time,
23491     where every change (create or delete) to a RoleResource produces an
23492     RoleResourceHistory record.
23493    '''
23494    __slots__ = [
23495        'activity_id',
23496        'deleted_at',
23497        'role_resource',
23498        'timestamp',
23499    ]
23500
23501    def __init__(
23502        self,
23503        activity_id=None,
23504        deleted_at=None,
23505        role_resource=None,
23506        timestamp=None,
23507    ):
23508        self.activity_id = activity_id if activity_id is not None else ''
23509        '''
23510         The unique identifier of the Activity that produced this change to the RoleResource.
23511         May be empty for some system-initiated updates.
23512        '''
23513        self.deleted_at = deleted_at if deleted_at is not None else None
23514        '''
23515         If this RoleResource was deleted, the time it was deleted.
23516        '''
23517        self.role_resource = role_resource if role_resource is not None else None
23518        '''
23519         The complete RoleResource state at this time.
23520        '''
23521        self.timestamp = timestamp if timestamp is not None else None
23522        '''
23523         The time at which the RoleResource state was recorded.
23524        '''
23525
23526    def __repr__(self):
23527        return '<sdm.RoleResourceHistory ' + \
23528            'activity_id: ' + repr(self.activity_id) + ' ' +\
23529            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23530            'role_resource: ' + repr(self.role_resource) + ' ' +\
23531            'timestamp: ' + repr(self.timestamp) + ' ' +\
23532            '>'
23533
23534    def to_dict(self):
23535        return {
23536            'activity_id': self.activity_id,
23537            'deleted_at': self.deleted_at,
23538            'role_resource': self.role_resource,
23539            'timestamp': self.timestamp,
23540        }
23541
23542    @classmethod
23543    def from_dict(cls, d):
23544        return cls(
23545            activity_id=d.get('activity_id'),
23546            deleted_at=d.get('deleted_at'),
23547            role_resource=d.get('role_resource'),
23548            timestamp=d.get('timestamp'),
23549        )

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)
23501    def __init__(
23502        self,
23503        activity_id=None,
23504        deleted_at=None,
23505        role_resource=None,
23506        timestamp=None,
23507    ):
23508        self.activity_id = activity_id if activity_id is not None else ''
23509        '''
23510         The unique identifier of the Activity that produced this change to the RoleResource.
23511         May be empty for some system-initiated updates.
23512        '''
23513        self.deleted_at = deleted_at if deleted_at is not None else None
23514        '''
23515         If this RoleResource was deleted, the time it was deleted.
23516        '''
23517        self.role_resource = role_resource if role_resource is not None else None
23518        '''
23519         The complete RoleResource state at this time.
23520        '''
23521        self.timestamp = timestamp if timestamp is not None else None
23522        '''
23523         The time at which the RoleResource state was recorded.
23524        '''
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)
23534    def to_dict(self):
23535        return {
23536            'activity_id': self.activity_id,
23537            'deleted_at': self.deleted_at,
23538            'role_resource': self.role_resource,
23539            'timestamp': self.timestamp,
23540        }
@classmethod
def from_dict(cls, d)
23542    @classmethod
23543    def from_dict(cls, d):
23544        return cls(
23545            activity_id=d.get('activity_id'),
23546            deleted_at=d.get('deleted_at'),
23547            role_resource=d.get('role_resource'),
23548            timestamp=d.get('timestamp'),
23549        )
class RoleUpdateResponse:
23552class RoleUpdateResponse:
23553    '''
23554         RoleUpdateResponse returns the fields of a Role after it has been updated by
23555     a RoleUpdateRequest.
23556    '''
23557    __slots__ = [
23558        'meta',
23559        'rate_limit',
23560        'role',
23561    ]
23562
23563    def __init__(
23564        self,
23565        meta=None,
23566        rate_limit=None,
23567        role=None,
23568    ):
23569        self.meta = meta if meta is not None else None
23570        '''
23571         Reserved for future use.
23572        '''
23573        self.rate_limit = rate_limit if rate_limit is not None else None
23574        '''
23575         Rate limit information.
23576        '''
23577        self.role = role if role is not None else None
23578        '''
23579         The updated Role.
23580        '''
23581
23582    def __repr__(self):
23583        return '<sdm.RoleUpdateResponse ' + \
23584            'meta: ' + repr(self.meta) + ' ' +\
23585            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23586            'role: ' + repr(self.role) + ' ' +\
23587            '>'
23588
23589    def to_dict(self):
23590        return {
23591            'meta': self.meta,
23592            'rate_limit': self.rate_limit,
23593            'role': self.role,
23594        }
23595
23596    @classmethod
23597    def from_dict(cls, d):
23598        return cls(
23599            meta=d.get('meta'),
23600            rate_limit=d.get('rate_limit'),
23601            role=d.get('role'),
23602        )

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

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
23563    def __init__(
23564        self,
23565        meta=None,
23566        rate_limit=None,
23567        role=None,
23568    ):
23569        self.meta = meta if meta is not None else None
23570        '''
23571         Reserved for future use.
23572        '''
23573        self.rate_limit = rate_limit if rate_limit is not None else None
23574        '''
23575         Rate limit information.
23576        '''
23577        self.role = role if role is not None else None
23578        '''
23579         The updated Role.
23580        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

def to_dict(self)
23589    def to_dict(self):
23590        return {
23591            'meta': self.meta,
23592            'rate_limit': self.rate_limit,
23593            'role': self.role,
23594        }
@classmethod
def from_dict(cls, d)
23596    @classmethod
23597    def from_dict(cls, d):
23598        return cls(
23599            meta=d.get('meta'),
23600            rate_limit=d.get('rate_limit'),
23601            role=d.get('role'),
23602        )
class SQLServer:
23605class SQLServer:
23606    __slots__ = [
23607        'allow_deprecated_encryption',
23608        'bind_interface',
23609        'database',
23610        'egress_filter',
23611        'healthy',
23612        'hostname',
23613        'id',
23614        'name',
23615        'override_database',
23616        'password',
23617        'port',
23618        'port_override',
23619        'proxy_cluster_id',
23620        'schema',
23621        'secret_store_id',
23622        'subdomain',
23623        'tags',
23624        'username',
23625    ]
23626
23627    def __init__(
23628        self,
23629        allow_deprecated_encryption=None,
23630        bind_interface=None,
23631        database=None,
23632        egress_filter=None,
23633        healthy=None,
23634        hostname=None,
23635        id=None,
23636        name=None,
23637        override_database=None,
23638        password=None,
23639        port=None,
23640        port_override=None,
23641        proxy_cluster_id=None,
23642        schema=None,
23643        secret_store_id=None,
23644        subdomain=None,
23645        tags=None,
23646        username=None,
23647    ):
23648        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
23649        '''
23650         Whether to allow deprecated encryption protocols to be used for this resource. For example,
23651         TLS 1.0.
23652        '''
23653        self.bind_interface = bind_interface if bind_interface is not None else ''
23654        '''
23655         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23656        '''
23657        self.database = database if database is not None else ''
23658        '''
23659         The database for healthchecks, and used for clients if Override Default Database is true.
23660        '''
23661        self.egress_filter = egress_filter if egress_filter is not None else ''
23662        '''
23663         A filter applied to the routing logic to pin datasource to nodes.
23664        '''
23665        self.healthy = healthy if healthy is not None else False
23666        '''
23667         True if the datasource is reachable and the credentials are valid.
23668        '''
23669        self.hostname = hostname if hostname is not None else ''
23670        '''
23671         The host to dial to initiate a connection from the egress node to this resource.
23672        '''
23673        self.id = id if id is not None else ''
23674        '''
23675         Unique identifier of the Resource.
23676        '''
23677        self.name = name if name is not None else ''
23678        '''
23679         Unique human-readable name of the Resource.
23680        '''
23681        self.override_database = override_database if override_database is not None else False
23682        '''
23683         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.
23684        '''
23685        self.password = password if password is not None else ''
23686        '''
23687         The password to authenticate with.
23688        '''
23689        self.port = port if port is not None else 0
23690        '''
23691         The port to dial to initiate a connection from the egress node to this resource.
23692        '''
23693        self.port_override = port_override if port_override is not None else 0
23694        '''
23695         The local port used by clients to connect to this resource.
23696        '''
23697        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23698        '''
23699         ID of the proxy cluster for this resource, if any.
23700        '''
23701        self.schema = schema if schema is not None else ''
23702        '''
23703         The Schema to use to direct initial requests.
23704        '''
23705        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23706        '''
23707         ID of the secret store containing credentials for this resource, if any.
23708        '''
23709        self.subdomain = subdomain if subdomain is not None else ''
23710        '''
23711         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23712        '''
23713        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23714        '''
23715         Tags is a map of key, value pairs.
23716        '''
23717        self.username = username if username is not None else ''
23718        '''
23719         The username to authenticate with.
23720        '''
23721
23722    def __repr__(self):
23723        return '<sdm.SQLServer ' + \
23724            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
23725            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23726            'database: ' + repr(self.database) + ' ' +\
23727            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23728            'healthy: ' + repr(self.healthy) + ' ' +\
23729            'hostname: ' + repr(self.hostname) + ' ' +\
23730            'id: ' + repr(self.id) + ' ' +\
23731            'name: ' + repr(self.name) + ' ' +\
23732            'override_database: ' + repr(self.override_database) + ' ' +\
23733            'password: ' + repr(self.password) + ' ' +\
23734            'port: ' + repr(self.port) + ' ' +\
23735            'port_override: ' + repr(self.port_override) + ' ' +\
23736            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23737            'schema: ' + repr(self.schema) + ' ' +\
23738            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23739            'subdomain: ' + repr(self.subdomain) + ' ' +\
23740            'tags: ' + repr(self.tags) + ' ' +\
23741            'username: ' + repr(self.username) + ' ' +\
23742            '>'
23743
23744    def to_dict(self):
23745        return {
23746            'allow_deprecated_encryption': self.allow_deprecated_encryption,
23747            'bind_interface': self.bind_interface,
23748            'database': self.database,
23749            'egress_filter': self.egress_filter,
23750            'healthy': self.healthy,
23751            'hostname': self.hostname,
23752            'id': self.id,
23753            'name': self.name,
23754            'override_database': self.override_database,
23755            'password': self.password,
23756            'port': self.port,
23757            'port_override': self.port_override,
23758            'proxy_cluster_id': self.proxy_cluster_id,
23759            'schema': self.schema,
23760            'secret_store_id': self.secret_store_id,
23761            'subdomain': self.subdomain,
23762            'tags': self.tags,
23763            'username': self.username,
23764        }
23765
23766    @classmethod
23767    def from_dict(cls, d):
23768        return cls(
23769            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
23770            bind_interface=d.get('bind_interface'),
23771            database=d.get('database'),
23772            egress_filter=d.get('egress_filter'),
23773            healthy=d.get('healthy'),
23774            hostname=d.get('hostname'),
23775            id=d.get('id'),
23776            name=d.get('name'),
23777            override_database=d.get('override_database'),
23778            password=d.get('password'),
23779            port=d.get('port'),
23780            port_override=d.get('port_override'),
23781            proxy_cluster_id=d.get('proxy_cluster_id'),
23782            schema=d.get('schema'),
23783            secret_store_id=d.get('secret_store_id'),
23784            subdomain=d.get('subdomain'),
23785            tags=d.get('tags'),
23786            username=d.get('username'),
23787        )
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)
23627    def __init__(
23628        self,
23629        allow_deprecated_encryption=None,
23630        bind_interface=None,
23631        database=None,
23632        egress_filter=None,
23633        healthy=None,
23634        hostname=None,
23635        id=None,
23636        name=None,
23637        override_database=None,
23638        password=None,
23639        port=None,
23640        port_override=None,
23641        proxy_cluster_id=None,
23642        schema=None,
23643        secret_store_id=None,
23644        subdomain=None,
23645        tags=None,
23646        username=None,
23647    ):
23648        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
23649        '''
23650         Whether to allow deprecated encryption protocols to be used for this resource. For example,
23651         TLS 1.0.
23652        '''
23653        self.bind_interface = bind_interface if bind_interface is not None else ''
23654        '''
23655         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23656        '''
23657        self.database = database if database is not None else ''
23658        '''
23659         The database for healthchecks, and used for clients if Override Default Database is true.
23660        '''
23661        self.egress_filter = egress_filter if egress_filter is not None else ''
23662        '''
23663         A filter applied to the routing logic to pin datasource to nodes.
23664        '''
23665        self.healthy = healthy if healthy is not None else False
23666        '''
23667         True if the datasource is reachable and the credentials are valid.
23668        '''
23669        self.hostname = hostname if hostname is not None else ''
23670        '''
23671         The host to dial to initiate a connection from the egress node to this resource.
23672        '''
23673        self.id = id if id is not None else ''
23674        '''
23675         Unique identifier of the Resource.
23676        '''
23677        self.name = name if name is not None else ''
23678        '''
23679         Unique human-readable name of the Resource.
23680        '''
23681        self.override_database = override_database if override_database is not None else False
23682        '''
23683         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.
23684        '''
23685        self.password = password if password is not None else ''
23686        '''
23687         The password to authenticate with.
23688        '''
23689        self.port = port if port is not None else 0
23690        '''
23691         The port to dial to initiate a connection from the egress node to this resource.
23692        '''
23693        self.port_override = port_override if port_override is not None else 0
23694        '''
23695         The local port used by clients to connect to this resource.
23696        '''
23697        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23698        '''
23699         ID of the proxy cluster for this resource, if any.
23700        '''
23701        self.schema = schema if schema is not None else ''
23702        '''
23703         The Schema to use to direct initial requests.
23704        '''
23705        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23706        '''
23707         ID of the secret store containing credentials for this resource, if any.
23708        '''
23709        self.subdomain = subdomain if subdomain is not None else ''
23710        '''
23711         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23712        '''
23713        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23714        '''
23715         Tags is a map of key, value pairs.
23716        '''
23717        self.username = username if username is not None else ''
23718        '''
23719         The username to authenticate with.
23720        '''
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)
23744    def to_dict(self):
23745        return {
23746            'allow_deprecated_encryption': self.allow_deprecated_encryption,
23747            'bind_interface': self.bind_interface,
23748            'database': self.database,
23749            'egress_filter': self.egress_filter,
23750            'healthy': self.healthy,
23751            'hostname': self.hostname,
23752            'id': self.id,
23753            'name': self.name,
23754            'override_database': self.override_database,
23755            'password': self.password,
23756            'port': self.port,
23757            'port_override': self.port_override,
23758            'proxy_cluster_id': self.proxy_cluster_id,
23759            'schema': self.schema,
23760            'secret_store_id': self.secret_store_id,
23761            'subdomain': self.subdomain,
23762            'tags': self.tags,
23763            'username': self.username,
23764        }
@classmethod
def from_dict(cls, d)
23766    @classmethod
23767    def from_dict(cls, d):
23768        return cls(
23769            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
23770            bind_interface=d.get('bind_interface'),
23771            database=d.get('database'),
23772            egress_filter=d.get('egress_filter'),
23773            healthy=d.get('healthy'),
23774            hostname=d.get('hostname'),
23775            id=d.get('id'),
23776            name=d.get('name'),
23777            override_database=d.get('override_database'),
23778            password=d.get('password'),
23779            port=d.get('port'),
23780            port_override=d.get('port_override'),
23781            proxy_cluster_id=d.get('proxy_cluster_id'),
23782            schema=d.get('schema'),
23783            secret_store_id=d.get('secret_store_id'),
23784            subdomain=d.get('subdomain'),
23785            tags=d.get('tags'),
23786            username=d.get('username'),
23787        )
class SQLServerAzureAD:
23790class SQLServerAzureAD:
23791    __slots__ = [
23792        'allow_deprecated_encryption',
23793        'bind_interface',
23794        'client_id',
23795        'database',
23796        'egress_filter',
23797        'healthy',
23798        'hostname',
23799        'id',
23800        'name',
23801        'override_database',
23802        'port',
23803        'port_override',
23804        'proxy_cluster_id',
23805        'schema',
23806        'secret',
23807        'secret_store_id',
23808        'subdomain',
23809        'tags',
23810        'tenant_id',
23811    ]
23812
23813    def __init__(
23814        self,
23815        allow_deprecated_encryption=None,
23816        bind_interface=None,
23817        client_id=None,
23818        database=None,
23819        egress_filter=None,
23820        healthy=None,
23821        hostname=None,
23822        id=None,
23823        name=None,
23824        override_database=None,
23825        port=None,
23826        port_override=None,
23827        proxy_cluster_id=None,
23828        schema=None,
23829        secret=None,
23830        secret_store_id=None,
23831        subdomain=None,
23832        tags=None,
23833        tenant_id=None,
23834    ):
23835        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
23836        '''
23837         Whether to allow deprecated encryption protocols to be used for this resource. For example,
23838         TLS 1.0.
23839        '''
23840        self.bind_interface = bind_interface if bind_interface is not None else ''
23841        '''
23842         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23843        '''
23844        self.client_id = client_id if client_id is not None else ''
23845        '''
23846         The Azure AD application (client) ID with which to authenticate.
23847        '''
23848        self.database = database if database is not None else ''
23849        '''
23850         The database for healthchecks, and used for clients if Override Default Database is true.
23851        '''
23852        self.egress_filter = egress_filter if egress_filter is not None else ''
23853        '''
23854         A filter applied to the routing logic to pin datasource to nodes.
23855        '''
23856        self.healthy = healthy if healthy is not None else False
23857        '''
23858         True if the datasource is reachable and the credentials are valid.
23859        '''
23860        self.hostname = hostname if hostname is not None else ''
23861        '''
23862         The host to dial to initiate a connection from the egress node to this resource.
23863        '''
23864        self.id = id if id is not None else ''
23865        '''
23866         Unique identifier of the Resource.
23867        '''
23868        self.name = name if name is not None else ''
23869        '''
23870         Unique human-readable name of the Resource.
23871        '''
23872        self.override_database = override_database if override_database is not None else False
23873        '''
23874         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.
23875        '''
23876        self.port = port if port is not None else 0
23877        '''
23878         The port to dial to initiate a connection from the egress node to this resource.
23879        '''
23880        self.port_override = port_override if port_override is not None else 0
23881        '''
23882         The local port used by clients to connect to this resource.
23883        '''
23884        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23885        '''
23886         ID of the proxy cluster for this resource, if any.
23887        '''
23888        self.schema = schema if schema is not None else ''
23889        '''
23890         The Schema to use to direct initial requests.
23891        '''
23892        self.secret = secret if secret is not None else ''
23893        '''
23894         The Azure AD client secret (application password) with which to authenticate.
23895        '''
23896        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23897        '''
23898         ID of the secret store containing credentials for this resource, if any.
23899        '''
23900        self.subdomain = subdomain if subdomain is not None else ''
23901        '''
23902         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23903        '''
23904        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23905        '''
23906         Tags is a map of key, value pairs.
23907        '''
23908        self.tenant_id = tenant_id if tenant_id is not None else ''
23909        '''
23910         The Azure AD directory (tenant) ID with which to authenticate.
23911        '''
23912
23913    def __repr__(self):
23914        return '<sdm.SQLServerAzureAD ' + \
23915            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
23916            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23917            'client_id: ' + repr(self.client_id) + ' ' +\
23918            'database: ' + repr(self.database) + ' ' +\
23919            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23920            'healthy: ' + repr(self.healthy) + ' ' +\
23921            'hostname: ' + repr(self.hostname) + ' ' +\
23922            'id: ' + repr(self.id) + ' ' +\
23923            'name: ' + repr(self.name) + ' ' +\
23924            'override_database: ' + repr(self.override_database) + ' ' +\
23925            'port: ' + repr(self.port) + ' ' +\
23926            'port_override: ' + repr(self.port_override) + ' ' +\
23927            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23928            'schema: ' + repr(self.schema) + ' ' +\
23929            'secret: ' + repr(self.secret) + ' ' +\
23930            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23931            'subdomain: ' + repr(self.subdomain) + ' ' +\
23932            'tags: ' + repr(self.tags) + ' ' +\
23933            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
23934            '>'
23935
23936    def to_dict(self):
23937        return {
23938            'allow_deprecated_encryption': self.allow_deprecated_encryption,
23939            'bind_interface': self.bind_interface,
23940            'client_id': self.client_id,
23941            'database': self.database,
23942            'egress_filter': self.egress_filter,
23943            'healthy': self.healthy,
23944            'hostname': self.hostname,
23945            'id': self.id,
23946            'name': self.name,
23947            'override_database': self.override_database,
23948            'port': self.port,
23949            'port_override': self.port_override,
23950            'proxy_cluster_id': self.proxy_cluster_id,
23951            'schema': self.schema,
23952            'secret': self.secret,
23953            'secret_store_id': self.secret_store_id,
23954            'subdomain': self.subdomain,
23955            'tags': self.tags,
23956            'tenant_id': self.tenant_id,
23957        }
23958
23959    @classmethod
23960    def from_dict(cls, d):
23961        return cls(
23962            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
23963            bind_interface=d.get('bind_interface'),
23964            client_id=d.get('client_id'),
23965            database=d.get('database'),
23966            egress_filter=d.get('egress_filter'),
23967            healthy=d.get('healthy'),
23968            hostname=d.get('hostname'),
23969            id=d.get('id'),
23970            name=d.get('name'),
23971            override_database=d.get('override_database'),
23972            port=d.get('port'),
23973            port_override=d.get('port_override'),
23974            proxy_cluster_id=d.get('proxy_cluster_id'),
23975            schema=d.get('schema'),
23976            secret=d.get('secret'),
23977            secret_store_id=d.get('secret_store_id'),
23978            subdomain=d.get('subdomain'),
23979            tags=d.get('tags'),
23980            tenant_id=d.get('tenant_id'),
23981        )
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)
23813    def __init__(
23814        self,
23815        allow_deprecated_encryption=None,
23816        bind_interface=None,
23817        client_id=None,
23818        database=None,
23819        egress_filter=None,
23820        healthy=None,
23821        hostname=None,
23822        id=None,
23823        name=None,
23824        override_database=None,
23825        port=None,
23826        port_override=None,
23827        proxy_cluster_id=None,
23828        schema=None,
23829        secret=None,
23830        secret_store_id=None,
23831        subdomain=None,
23832        tags=None,
23833        tenant_id=None,
23834    ):
23835        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
23836        '''
23837         Whether to allow deprecated encryption protocols to be used for this resource. For example,
23838         TLS 1.0.
23839        '''
23840        self.bind_interface = bind_interface if bind_interface is not None else ''
23841        '''
23842         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23843        '''
23844        self.client_id = client_id if client_id is not None else ''
23845        '''
23846         The Azure AD application (client) ID with which to authenticate.
23847        '''
23848        self.database = database if database is not None else ''
23849        '''
23850         The database for healthchecks, and used for clients if Override Default Database is true.
23851        '''
23852        self.egress_filter = egress_filter if egress_filter is not None else ''
23853        '''
23854         A filter applied to the routing logic to pin datasource to nodes.
23855        '''
23856        self.healthy = healthy if healthy is not None else False
23857        '''
23858         True if the datasource is reachable and the credentials are valid.
23859        '''
23860        self.hostname = hostname if hostname is not None else ''
23861        '''
23862         The host to dial to initiate a connection from the egress node to this resource.
23863        '''
23864        self.id = id if id is not None else ''
23865        '''
23866         Unique identifier of the Resource.
23867        '''
23868        self.name = name if name is not None else ''
23869        '''
23870         Unique human-readable name of the Resource.
23871        '''
23872        self.override_database = override_database if override_database is not None else False
23873        '''
23874         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.
23875        '''
23876        self.port = port if port is not None else 0
23877        '''
23878         The port to dial to initiate a connection from the egress node to this resource.
23879        '''
23880        self.port_override = port_override if port_override is not None else 0
23881        '''
23882         The local port used by clients to connect to this resource.
23883        '''
23884        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23885        '''
23886         ID of the proxy cluster for this resource, if any.
23887        '''
23888        self.schema = schema if schema is not None else ''
23889        '''
23890         The Schema to use to direct initial requests.
23891        '''
23892        self.secret = secret if secret is not None else ''
23893        '''
23894         The Azure AD client secret (application password) with which to authenticate.
23895        '''
23896        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23897        '''
23898         ID of the secret store containing credentials for this resource, if any.
23899        '''
23900        self.subdomain = subdomain if subdomain is not None else ''
23901        '''
23902         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23903        '''
23904        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23905        '''
23906         Tags is a map of key, value pairs.
23907        '''
23908        self.tenant_id = tenant_id if tenant_id is not None else ''
23909        '''
23910         The Azure AD directory (tenant) ID with which to authenticate.
23911        '''
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)
23936    def to_dict(self):
23937        return {
23938            'allow_deprecated_encryption': self.allow_deprecated_encryption,
23939            'bind_interface': self.bind_interface,
23940            'client_id': self.client_id,
23941            'database': self.database,
23942            'egress_filter': self.egress_filter,
23943            'healthy': self.healthy,
23944            'hostname': self.hostname,
23945            'id': self.id,
23946            'name': self.name,
23947            'override_database': self.override_database,
23948            'port': self.port,
23949            'port_override': self.port_override,
23950            'proxy_cluster_id': self.proxy_cluster_id,
23951            'schema': self.schema,
23952            'secret': self.secret,
23953            'secret_store_id': self.secret_store_id,
23954            'subdomain': self.subdomain,
23955            'tags': self.tags,
23956            'tenant_id': self.tenant_id,
23957        }
@classmethod
def from_dict(cls, d)
23959    @classmethod
23960    def from_dict(cls, d):
23961        return cls(
23962            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
23963            bind_interface=d.get('bind_interface'),
23964            client_id=d.get('client_id'),
23965            database=d.get('database'),
23966            egress_filter=d.get('egress_filter'),
23967            healthy=d.get('healthy'),
23968            hostname=d.get('hostname'),
23969            id=d.get('id'),
23970            name=d.get('name'),
23971            override_database=d.get('override_database'),
23972            port=d.get('port'),
23973            port_override=d.get('port_override'),
23974            proxy_cluster_id=d.get('proxy_cluster_id'),
23975            schema=d.get('schema'),
23976            secret=d.get('secret'),
23977            secret_store_id=d.get('secret_store_id'),
23978            subdomain=d.get('subdomain'),
23979            tags=d.get('tags'),
23980            tenant_id=d.get('tenant_id'),
23981        )
class SQLServerKerberosAD:
23984class SQLServerKerberosAD:
23985    __slots__ = [
23986        'allow_deprecated_encryption',
23987        'bind_interface',
23988        'database',
23989        'egress_filter',
23990        'healthy',
23991        'hostname',
23992        'id',
23993        'keytab',
23994        'krb_config',
23995        'name',
23996        'override_database',
23997        'port',
23998        'port_override',
23999        'proxy_cluster_id',
24000        'realm',
24001        'schema',
24002        'secret_store_id',
24003        'server_spn',
24004        'subdomain',
24005        'tags',
24006        'username',
24007    ]
24008
24009    def __init__(
24010        self,
24011        allow_deprecated_encryption=None,
24012        bind_interface=None,
24013        database=None,
24014        egress_filter=None,
24015        healthy=None,
24016        hostname=None,
24017        id=None,
24018        keytab=None,
24019        krb_config=None,
24020        name=None,
24021        override_database=None,
24022        port=None,
24023        port_override=None,
24024        proxy_cluster_id=None,
24025        realm=None,
24026        schema=None,
24027        secret_store_id=None,
24028        server_spn=None,
24029        subdomain=None,
24030        tags=None,
24031        username=None,
24032    ):
24033        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
24034        '''
24035         Whether to allow deprecated encryption protocols to be used for this resource. For example,
24036         TLS 1.0.
24037        '''
24038        self.bind_interface = bind_interface if bind_interface is not None else ''
24039        '''
24040         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24041        '''
24042        self.database = database if database is not None else ''
24043        '''
24044         The database for healthchecks, and used for clients if Override Default Database is true.
24045        '''
24046        self.egress_filter = egress_filter if egress_filter is not None else ''
24047        '''
24048         A filter applied to the routing logic to pin datasource to nodes.
24049        '''
24050        self.healthy = healthy if healthy is not None else False
24051        '''
24052         True if the datasource is reachable and the credentials are valid.
24053        '''
24054        self.hostname = hostname if hostname is not None else ''
24055        '''
24056         The host to dial to initiate a connection from the egress node to this resource.
24057        '''
24058        self.id = id if id is not None else ''
24059        '''
24060         Unique identifier of the Resource.
24061        '''
24062        self.keytab = keytab if keytab is not None else ''
24063        '''
24064         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
24065        '''
24066        self.krb_config = krb_config if krb_config is not None else ''
24067        '''
24068         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
24069        '''
24070        self.name = name if name is not None else ''
24071        '''
24072         Unique human-readable name of the Resource.
24073        '''
24074        self.override_database = override_database if override_database is not None else False
24075        '''
24076         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.
24077        '''
24078        self.port = port if port is not None else 0
24079        '''
24080         The port to dial to initiate a connection from the egress node to this resource.
24081        '''
24082        self.port_override = port_override if port_override is not None else 0
24083        '''
24084         The local port used by clients to connect to this resource.
24085        '''
24086        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24087        '''
24088         ID of the proxy cluster for this resource, if any.
24089        '''
24090        self.realm = realm if realm is not None else ''
24091        '''
24092         The Active Directory domain (realm) to which the configured username belongs.
24093        '''
24094        self.schema = schema if schema is not None else ''
24095        '''
24096         The Schema to use to direct initial requests.
24097        '''
24098        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24099        '''
24100         ID of the secret store containing credentials for this resource, if any.
24101        '''
24102        self.server_spn = server_spn if server_spn is not None else ''
24103        '''
24104         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
24105        '''
24106        self.subdomain = subdomain if subdomain is not None else ''
24107        '''
24108         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24109        '''
24110        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24111        '''
24112         Tags is a map of key, value pairs.
24113        '''
24114        self.username = username if username is not None else ''
24115        '''
24116         The username to authenticate with.
24117        '''
24118
24119    def __repr__(self):
24120        return '<sdm.SQLServerKerberosAD ' + \
24121            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
24122            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24123            'database: ' + repr(self.database) + ' ' +\
24124            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24125            'healthy: ' + repr(self.healthy) + ' ' +\
24126            'hostname: ' + repr(self.hostname) + ' ' +\
24127            'id: ' + repr(self.id) + ' ' +\
24128            'keytab: ' + repr(self.keytab) + ' ' +\
24129            'krb_config: ' + repr(self.krb_config) + ' ' +\
24130            'name: ' + repr(self.name) + ' ' +\
24131            'override_database: ' + repr(self.override_database) + ' ' +\
24132            'port: ' + repr(self.port) + ' ' +\
24133            'port_override: ' + repr(self.port_override) + ' ' +\
24134            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24135            'realm: ' + repr(self.realm) + ' ' +\
24136            'schema: ' + repr(self.schema) + ' ' +\
24137            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24138            'server_spn: ' + repr(self.server_spn) + ' ' +\
24139            'subdomain: ' + repr(self.subdomain) + ' ' +\
24140            'tags: ' + repr(self.tags) + ' ' +\
24141            'username: ' + repr(self.username) + ' ' +\
24142            '>'
24143
24144    def to_dict(self):
24145        return {
24146            'allow_deprecated_encryption': self.allow_deprecated_encryption,
24147            'bind_interface': self.bind_interface,
24148            'database': self.database,
24149            'egress_filter': self.egress_filter,
24150            'healthy': self.healthy,
24151            'hostname': self.hostname,
24152            'id': self.id,
24153            'keytab': self.keytab,
24154            'krb_config': self.krb_config,
24155            'name': self.name,
24156            'override_database': self.override_database,
24157            'port': self.port,
24158            'port_override': self.port_override,
24159            'proxy_cluster_id': self.proxy_cluster_id,
24160            'realm': self.realm,
24161            'schema': self.schema,
24162            'secret_store_id': self.secret_store_id,
24163            'server_spn': self.server_spn,
24164            'subdomain': self.subdomain,
24165            'tags': self.tags,
24166            'username': self.username,
24167        }
24168
24169    @classmethod
24170    def from_dict(cls, d):
24171        return cls(
24172            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
24173            bind_interface=d.get('bind_interface'),
24174            database=d.get('database'),
24175            egress_filter=d.get('egress_filter'),
24176            healthy=d.get('healthy'),
24177            hostname=d.get('hostname'),
24178            id=d.get('id'),
24179            keytab=d.get('keytab'),
24180            krb_config=d.get('krb_config'),
24181            name=d.get('name'),
24182            override_database=d.get('override_database'),
24183            port=d.get('port'),
24184            port_override=d.get('port_override'),
24185            proxy_cluster_id=d.get('proxy_cluster_id'),
24186            realm=d.get('realm'),
24187            schema=d.get('schema'),
24188            secret_store_id=d.get('secret_store_id'),
24189            server_spn=d.get('server_spn'),
24190            subdomain=d.get('subdomain'),
24191            tags=d.get('tags'),
24192            username=d.get('username'),
24193        )
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)
24009    def __init__(
24010        self,
24011        allow_deprecated_encryption=None,
24012        bind_interface=None,
24013        database=None,
24014        egress_filter=None,
24015        healthy=None,
24016        hostname=None,
24017        id=None,
24018        keytab=None,
24019        krb_config=None,
24020        name=None,
24021        override_database=None,
24022        port=None,
24023        port_override=None,
24024        proxy_cluster_id=None,
24025        realm=None,
24026        schema=None,
24027        secret_store_id=None,
24028        server_spn=None,
24029        subdomain=None,
24030        tags=None,
24031        username=None,
24032    ):
24033        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
24034        '''
24035         Whether to allow deprecated encryption protocols to be used for this resource. For example,
24036         TLS 1.0.
24037        '''
24038        self.bind_interface = bind_interface if bind_interface is not None else ''
24039        '''
24040         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24041        '''
24042        self.database = database if database is not None else ''
24043        '''
24044         The database for healthchecks, and used for clients if Override Default Database is true.
24045        '''
24046        self.egress_filter = egress_filter if egress_filter is not None else ''
24047        '''
24048         A filter applied to the routing logic to pin datasource to nodes.
24049        '''
24050        self.healthy = healthy if healthy is not None else False
24051        '''
24052         True if the datasource is reachable and the credentials are valid.
24053        '''
24054        self.hostname = hostname if hostname is not None else ''
24055        '''
24056         The host to dial to initiate a connection from the egress node to this resource.
24057        '''
24058        self.id = id if id is not None else ''
24059        '''
24060         Unique identifier of the Resource.
24061        '''
24062        self.keytab = keytab if keytab is not None else ''
24063        '''
24064         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
24065        '''
24066        self.krb_config = krb_config if krb_config is not None else ''
24067        '''
24068         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
24069        '''
24070        self.name = name if name is not None else ''
24071        '''
24072         Unique human-readable name of the Resource.
24073        '''
24074        self.override_database = override_database if override_database is not None else False
24075        '''
24076         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.
24077        '''
24078        self.port = port if port is not None else 0
24079        '''
24080         The port to dial to initiate a connection from the egress node to this resource.
24081        '''
24082        self.port_override = port_override if port_override is not None else 0
24083        '''
24084         The local port used by clients to connect to this resource.
24085        '''
24086        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24087        '''
24088         ID of the proxy cluster for this resource, if any.
24089        '''
24090        self.realm = realm if realm is not None else ''
24091        '''
24092         The Active Directory domain (realm) to which the configured username belongs.
24093        '''
24094        self.schema = schema if schema is not None else ''
24095        '''
24096         The Schema to use to direct initial requests.
24097        '''
24098        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24099        '''
24100         ID of the secret store containing credentials for this resource, if any.
24101        '''
24102        self.server_spn = server_spn if server_spn is not None else ''
24103        '''
24104         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
24105        '''
24106        self.subdomain = subdomain if subdomain is not None else ''
24107        '''
24108         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24109        '''
24110        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24111        '''
24112         Tags is a map of key, value pairs.
24113        '''
24114        self.username = username if username is not None else ''
24115        '''
24116         The username to authenticate with.
24117        '''
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)
24144    def to_dict(self):
24145        return {
24146            'allow_deprecated_encryption': self.allow_deprecated_encryption,
24147            'bind_interface': self.bind_interface,
24148            'database': self.database,
24149            'egress_filter': self.egress_filter,
24150            'healthy': self.healthy,
24151            'hostname': self.hostname,
24152            'id': self.id,
24153            'keytab': self.keytab,
24154            'krb_config': self.krb_config,
24155            'name': self.name,
24156            'override_database': self.override_database,
24157            'port': self.port,
24158            'port_override': self.port_override,
24159            'proxy_cluster_id': self.proxy_cluster_id,
24160            'realm': self.realm,
24161            'schema': self.schema,
24162            'secret_store_id': self.secret_store_id,
24163            'server_spn': self.server_spn,
24164            'subdomain': self.subdomain,
24165            'tags': self.tags,
24166            'username': self.username,
24167        }
@classmethod
def from_dict(cls, d)
24169    @classmethod
24170    def from_dict(cls, d):
24171        return cls(
24172            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
24173            bind_interface=d.get('bind_interface'),
24174            database=d.get('database'),
24175            egress_filter=d.get('egress_filter'),
24176            healthy=d.get('healthy'),
24177            hostname=d.get('hostname'),
24178            id=d.get('id'),
24179            keytab=d.get('keytab'),
24180            krb_config=d.get('krb_config'),
24181            name=d.get('name'),
24182            override_database=d.get('override_database'),
24183            port=d.get('port'),
24184            port_override=d.get('port_override'),
24185            proxy_cluster_id=d.get('proxy_cluster_id'),
24186            realm=d.get('realm'),
24187            schema=d.get('schema'),
24188            secret_store_id=d.get('secret_store_id'),
24189            server_spn=d.get('server_spn'),
24190            subdomain=d.get('subdomain'),
24191            tags=d.get('tags'),
24192            username=d.get('username'),
24193        )
class SSH:
24196class SSH:
24197    __slots__ = [
24198        'allow_deprecated_key_exchanges',
24199        'bind_interface',
24200        'egress_filter',
24201        'healthy',
24202        'hostname',
24203        'id',
24204        'key_type',
24205        'name',
24206        'port',
24207        'port_forwarding',
24208        'port_override',
24209        'proxy_cluster_id',
24210        'public_key',
24211        'secret_store_id',
24212        'subdomain',
24213        'tags',
24214        'username',
24215    ]
24216
24217    def __init__(
24218        self,
24219        allow_deprecated_key_exchanges=None,
24220        bind_interface=None,
24221        egress_filter=None,
24222        healthy=None,
24223        hostname=None,
24224        id=None,
24225        key_type=None,
24226        name=None,
24227        port=None,
24228        port_forwarding=None,
24229        port_override=None,
24230        proxy_cluster_id=None,
24231        public_key=None,
24232        secret_store_id=None,
24233        subdomain=None,
24234        tags=None,
24235        username=None,
24236    ):
24237        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24238        '''
24239         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24240        '''
24241        self.bind_interface = bind_interface if bind_interface is not None else ''
24242        '''
24243         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24244        '''
24245        self.egress_filter = egress_filter if egress_filter is not None else ''
24246        '''
24247         A filter applied to the routing logic to pin datasource to nodes.
24248        '''
24249        self.healthy = healthy if healthy is not None else False
24250        '''
24251         True if the datasource is reachable and the credentials are valid.
24252        '''
24253        self.hostname = hostname if hostname is not None else ''
24254        '''
24255         The host to dial to initiate a connection from the egress node to this resource.
24256        '''
24257        self.id = id if id is not None else ''
24258        '''
24259         Unique identifier of the Resource.
24260        '''
24261        self.key_type = key_type if key_type is not None else ''
24262        '''
24263         The key type to use e.g. rsa-2048 or ed25519
24264        '''
24265        self.name = name if name is not None else ''
24266        '''
24267         Unique human-readable name of the Resource.
24268        '''
24269        self.port = port if port is not None else 0
24270        '''
24271         The port to dial to initiate a connection from the egress node to this resource.
24272        '''
24273        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24274        '''
24275         Whether port forwarding is allowed through this server.
24276        '''
24277        self.port_override = port_override if port_override is not None else 0
24278        '''
24279         The local port used by clients to connect to this resource.
24280        '''
24281        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24282        '''
24283         ID of the proxy cluster for this resource, if any.
24284        '''
24285        self.public_key = public_key if public_key is not None else ''
24286        '''
24287         The public key to append to a server's authorized keys. This will be generated after resource creation.
24288        '''
24289        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24290        '''
24291         ID of the secret store containing credentials for this resource, if any.
24292        '''
24293        self.subdomain = subdomain if subdomain is not None else ''
24294        '''
24295         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24296        '''
24297        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24298        '''
24299         Tags is a map of key, value pairs.
24300        '''
24301        self.username = username if username is not None else ''
24302        '''
24303         The username to authenticate with.
24304        '''
24305
24306    def __repr__(self):
24307        return '<sdm.SSH ' + \
24308            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24309            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24310            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24311            'healthy: ' + repr(self.healthy) + ' ' +\
24312            'hostname: ' + repr(self.hostname) + ' ' +\
24313            'id: ' + repr(self.id) + ' ' +\
24314            'key_type: ' + repr(self.key_type) + ' ' +\
24315            'name: ' + repr(self.name) + ' ' +\
24316            'port: ' + repr(self.port) + ' ' +\
24317            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24318            'port_override: ' + repr(self.port_override) + ' ' +\
24319            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24320            'public_key: ' + repr(self.public_key) + ' ' +\
24321            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24322            'subdomain: ' + repr(self.subdomain) + ' ' +\
24323            'tags: ' + repr(self.tags) + ' ' +\
24324            'username: ' + repr(self.username) + ' ' +\
24325            '>'
24326
24327    def to_dict(self):
24328        return {
24329            'allow_deprecated_key_exchanges':
24330            self.allow_deprecated_key_exchanges,
24331            'bind_interface': self.bind_interface,
24332            'egress_filter': self.egress_filter,
24333            'healthy': self.healthy,
24334            'hostname': self.hostname,
24335            'id': self.id,
24336            'key_type': self.key_type,
24337            'name': self.name,
24338            'port': self.port,
24339            'port_forwarding': self.port_forwarding,
24340            'port_override': self.port_override,
24341            'proxy_cluster_id': self.proxy_cluster_id,
24342            'public_key': self.public_key,
24343            'secret_store_id': self.secret_store_id,
24344            'subdomain': self.subdomain,
24345            'tags': self.tags,
24346            'username': self.username,
24347        }
24348
24349    @classmethod
24350    def from_dict(cls, d):
24351        return cls(
24352            allow_deprecated_key_exchanges=d.get(
24353                'allow_deprecated_key_exchanges'),
24354            bind_interface=d.get('bind_interface'),
24355            egress_filter=d.get('egress_filter'),
24356            healthy=d.get('healthy'),
24357            hostname=d.get('hostname'),
24358            id=d.get('id'),
24359            key_type=d.get('key_type'),
24360            name=d.get('name'),
24361            port=d.get('port'),
24362            port_forwarding=d.get('port_forwarding'),
24363            port_override=d.get('port_override'),
24364            proxy_cluster_id=d.get('proxy_cluster_id'),
24365            public_key=d.get('public_key'),
24366            secret_store_id=d.get('secret_store_id'),
24367            subdomain=d.get('subdomain'),
24368            tags=d.get('tags'),
24369            username=d.get('username'),
24370        )
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)
24217    def __init__(
24218        self,
24219        allow_deprecated_key_exchanges=None,
24220        bind_interface=None,
24221        egress_filter=None,
24222        healthy=None,
24223        hostname=None,
24224        id=None,
24225        key_type=None,
24226        name=None,
24227        port=None,
24228        port_forwarding=None,
24229        port_override=None,
24230        proxy_cluster_id=None,
24231        public_key=None,
24232        secret_store_id=None,
24233        subdomain=None,
24234        tags=None,
24235        username=None,
24236    ):
24237        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24238        '''
24239         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24240        '''
24241        self.bind_interface = bind_interface if bind_interface is not None else ''
24242        '''
24243         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24244        '''
24245        self.egress_filter = egress_filter if egress_filter is not None else ''
24246        '''
24247         A filter applied to the routing logic to pin datasource to nodes.
24248        '''
24249        self.healthy = healthy if healthy is not None else False
24250        '''
24251         True if the datasource is reachable and the credentials are valid.
24252        '''
24253        self.hostname = hostname if hostname is not None else ''
24254        '''
24255         The host to dial to initiate a connection from the egress node to this resource.
24256        '''
24257        self.id = id if id is not None else ''
24258        '''
24259         Unique identifier of the Resource.
24260        '''
24261        self.key_type = key_type if key_type is not None else ''
24262        '''
24263         The key type to use e.g. rsa-2048 or ed25519
24264        '''
24265        self.name = name if name is not None else ''
24266        '''
24267         Unique human-readable name of the Resource.
24268        '''
24269        self.port = port if port is not None else 0
24270        '''
24271         The port to dial to initiate a connection from the egress node to this resource.
24272        '''
24273        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24274        '''
24275         Whether port forwarding is allowed through this server.
24276        '''
24277        self.port_override = port_override if port_override is not None else 0
24278        '''
24279         The local port used by clients to connect to this resource.
24280        '''
24281        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24282        '''
24283         ID of the proxy cluster for this resource, if any.
24284        '''
24285        self.public_key = public_key if public_key is not None else ''
24286        '''
24287         The public key to append to a server's authorized keys. This will be generated after resource creation.
24288        '''
24289        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24290        '''
24291         ID of the secret store containing credentials for this resource, if any.
24292        '''
24293        self.subdomain = subdomain if subdomain is not None else ''
24294        '''
24295         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24296        '''
24297        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24298        '''
24299         Tags is a map of key, value pairs.
24300        '''
24301        self.username = username if username is not None else ''
24302        '''
24303         The username to authenticate with.
24304        '''
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)
24327    def to_dict(self):
24328        return {
24329            'allow_deprecated_key_exchanges':
24330            self.allow_deprecated_key_exchanges,
24331            'bind_interface': self.bind_interface,
24332            'egress_filter': self.egress_filter,
24333            'healthy': self.healthy,
24334            'hostname': self.hostname,
24335            'id': self.id,
24336            'key_type': self.key_type,
24337            'name': self.name,
24338            'port': self.port,
24339            'port_forwarding': self.port_forwarding,
24340            'port_override': self.port_override,
24341            'proxy_cluster_id': self.proxy_cluster_id,
24342            'public_key': self.public_key,
24343            'secret_store_id': self.secret_store_id,
24344            'subdomain': self.subdomain,
24345            'tags': self.tags,
24346            'username': self.username,
24347        }
@classmethod
def from_dict(cls, d)
24349    @classmethod
24350    def from_dict(cls, d):
24351        return cls(
24352            allow_deprecated_key_exchanges=d.get(
24353                'allow_deprecated_key_exchanges'),
24354            bind_interface=d.get('bind_interface'),
24355            egress_filter=d.get('egress_filter'),
24356            healthy=d.get('healthy'),
24357            hostname=d.get('hostname'),
24358            id=d.get('id'),
24359            key_type=d.get('key_type'),
24360            name=d.get('name'),
24361            port=d.get('port'),
24362            port_forwarding=d.get('port_forwarding'),
24363            port_override=d.get('port_override'),
24364            proxy_cluster_id=d.get('proxy_cluster_id'),
24365            public_key=d.get('public_key'),
24366            secret_store_id=d.get('secret_store_id'),
24367            subdomain=d.get('subdomain'),
24368            tags=d.get('tags'),
24369            username=d.get('username'),
24370        )
class SSHCert:
24373class SSHCert:
24374    __slots__ = [
24375        'allow_deprecated_key_exchanges',
24376        'bind_interface',
24377        'egress_filter',
24378        'healthy',
24379        'hostname',
24380        'id',
24381        'identity_alias_healthcheck_username',
24382        'identity_set_id',
24383        'key_type',
24384        'name',
24385        'port',
24386        'port_forwarding',
24387        'port_override',
24388        'proxy_cluster_id',
24389        'secret_store_id',
24390        'subdomain',
24391        'tags',
24392        'username',
24393    ]
24394
24395    def __init__(
24396        self,
24397        allow_deprecated_key_exchanges=None,
24398        bind_interface=None,
24399        egress_filter=None,
24400        healthy=None,
24401        hostname=None,
24402        id=None,
24403        identity_alias_healthcheck_username=None,
24404        identity_set_id=None,
24405        key_type=None,
24406        name=None,
24407        port=None,
24408        port_forwarding=None,
24409        port_override=None,
24410        proxy_cluster_id=None,
24411        secret_store_id=None,
24412        subdomain=None,
24413        tags=None,
24414        username=None,
24415    ):
24416        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24417        '''
24418         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24419        '''
24420        self.bind_interface = bind_interface if bind_interface is not None else ''
24421        '''
24422         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24423        '''
24424        self.egress_filter = egress_filter if egress_filter is not None else ''
24425        '''
24426         A filter applied to the routing logic to pin datasource to nodes.
24427        '''
24428        self.healthy = healthy if healthy is not None else False
24429        '''
24430         True if the datasource is reachable and the credentials are valid.
24431        '''
24432        self.hostname = hostname if hostname is not None else ''
24433        '''
24434         The host to dial to initiate a connection from the egress node to this resource.
24435        '''
24436        self.id = id if id is not None else ''
24437        '''
24438         Unique identifier of the Resource.
24439        '''
24440        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
24441        '''
24442         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
24443        '''
24444        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
24445        '''
24446         The ID of the identity set to use for identity connections.
24447        '''
24448        self.key_type = key_type if key_type is not None else ''
24449        '''
24450         The key type to use e.g. rsa-2048 or ed25519
24451        '''
24452        self.name = name if name is not None else ''
24453        '''
24454         Unique human-readable name of the Resource.
24455        '''
24456        self.port = port if port is not None else 0
24457        '''
24458         The port to dial to initiate a connection from the egress node to this resource.
24459        '''
24460        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24461        '''
24462         Whether port forwarding is allowed through this server.
24463        '''
24464        self.port_override = port_override if port_override is not None else 0
24465        '''
24466         The local port used by clients to connect to this resource.
24467        '''
24468        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24469        '''
24470         ID of the proxy cluster for this resource, if any.
24471        '''
24472        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24473        '''
24474         ID of the secret store containing credentials for this resource, if any.
24475        '''
24476        self.subdomain = subdomain if subdomain is not None else ''
24477        '''
24478         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24479        '''
24480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24481        '''
24482         Tags is a map of key, value pairs.
24483        '''
24484        self.username = username if username is not None else ''
24485        '''
24486         The username to authenticate with.
24487        '''
24488
24489    def __repr__(self):
24490        return '<sdm.SSHCert ' + \
24491            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24492            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24493            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24494            'healthy: ' + repr(self.healthy) + ' ' +\
24495            'hostname: ' + repr(self.hostname) + ' ' +\
24496            'id: ' + repr(self.id) + ' ' +\
24497            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
24498            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
24499            'key_type: ' + repr(self.key_type) + ' ' +\
24500            'name: ' + repr(self.name) + ' ' +\
24501            'port: ' + repr(self.port) + ' ' +\
24502            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24503            'port_override: ' + repr(self.port_override) + ' ' +\
24504            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24505            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24506            'subdomain: ' + repr(self.subdomain) + ' ' +\
24507            'tags: ' + repr(self.tags) + ' ' +\
24508            'username: ' + repr(self.username) + ' ' +\
24509            '>'
24510
24511    def to_dict(self):
24512        return {
24513            'allow_deprecated_key_exchanges':
24514            self.allow_deprecated_key_exchanges,
24515            'bind_interface': self.bind_interface,
24516            'egress_filter': self.egress_filter,
24517            'healthy': self.healthy,
24518            'hostname': self.hostname,
24519            'id': self.id,
24520            'identity_alias_healthcheck_username':
24521            self.identity_alias_healthcheck_username,
24522            'identity_set_id': self.identity_set_id,
24523            'key_type': self.key_type,
24524            'name': self.name,
24525            'port': self.port,
24526            'port_forwarding': self.port_forwarding,
24527            'port_override': self.port_override,
24528            'proxy_cluster_id': self.proxy_cluster_id,
24529            'secret_store_id': self.secret_store_id,
24530            'subdomain': self.subdomain,
24531            'tags': self.tags,
24532            'username': self.username,
24533        }
24534
24535    @classmethod
24536    def from_dict(cls, d):
24537        return cls(
24538            allow_deprecated_key_exchanges=d.get(
24539                'allow_deprecated_key_exchanges'),
24540            bind_interface=d.get('bind_interface'),
24541            egress_filter=d.get('egress_filter'),
24542            healthy=d.get('healthy'),
24543            hostname=d.get('hostname'),
24544            id=d.get('id'),
24545            identity_alias_healthcheck_username=d.get(
24546                'identity_alias_healthcheck_username'),
24547            identity_set_id=d.get('identity_set_id'),
24548            key_type=d.get('key_type'),
24549            name=d.get('name'),
24550            port=d.get('port'),
24551            port_forwarding=d.get('port_forwarding'),
24552            port_override=d.get('port_override'),
24553            proxy_cluster_id=d.get('proxy_cluster_id'),
24554            secret_store_id=d.get('secret_store_id'),
24555            subdomain=d.get('subdomain'),
24556            tags=d.get('tags'),
24557            username=d.get('username'),
24558        )
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)
24395    def __init__(
24396        self,
24397        allow_deprecated_key_exchanges=None,
24398        bind_interface=None,
24399        egress_filter=None,
24400        healthy=None,
24401        hostname=None,
24402        id=None,
24403        identity_alias_healthcheck_username=None,
24404        identity_set_id=None,
24405        key_type=None,
24406        name=None,
24407        port=None,
24408        port_forwarding=None,
24409        port_override=None,
24410        proxy_cluster_id=None,
24411        secret_store_id=None,
24412        subdomain=None,
24413        tags=None,
24414        username=None,
24415    ):
24416        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24417        '''
24418         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24419        '''
24420        self.bind_interface = bind_interface if bind_interface is not None else ''
24421        '''
24422         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24423        '''
24424        self.egress_filter = egress_filter if egress_filter is not None else ''
24425        '''
24426         A filter applied to the routing logic to pin datasource to nodes.
24427        '''
24428        self.healthy = healthy if healthy is not None else False
24429        '''
24430         True if the datasource is reachable and the credentials are valid.
24431        '''
24432        self.hostname = hostname if hostname is not None else ''
24433        '''
24434         The host to dial to initiate a connection from the egress node to this resource.
24435        '''
24436        self.id = id if id is not None else ''
24437        '''
24438         Unique identifier of the Resource.
24439        '''
24440        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
24441        '''
24442         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
24443        '''
24444        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
24445        '''
24446         The ID of the identity set to use for identity connections.
24447        '''
24448        self.key_type = key_type if key_type is not None else ''
24449        '''
24450         The key type to use e.g. rsa-2048 or ed25519
24451        '''
24452        self.name = name if name is not None else ''
24453        '''
24454         Unique human-readable name of the Resource.
24455        '''
24456        self.port = port if port is not None else 0
24457        '''
24458         The port to dial to initiate a connection from the egress node to this resource.
24459        '''
24460        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24461        '''
24462         Whether port forwarding is allowed through this server.
24463        '''
24464        self.port_override = port_override if port_override is not None else 0
24465        '''
24466         The local port used by clients to connect to this resource.
24467        '''
24468        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24469        '''
24470         ID of the proxy cluster for this resource, if any.
24471        '''
24472        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24473        '''
24474         ID of the secret store containing credentials for this resource, if any.
24475        '''
24476        self.subdomain = subdomain if subdomain is not None else ''
24477        '''
24478         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24479        '''
24480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24481        '''
24482         Tags is a map of key, value pairs.
24483        '''
24484        self.username = username if username is not None else ''
24485        '''
24486         The username to authenticate with.
24487        '''
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)
24511    def to_dict(self):
24512        return {
24513            'allow_deprecated_key_exchanges':
24514            self.allow_deprecated_key_exchanges,
24515            'bind_interface': self.bind_interface,
24516            'egress_filter': self.egress_filter,
24517            'healthy': self.healthy,
24518            'hostname': self.hostname,
24519            'id': self.id,
24520            'identity_alias_healthcheck_username':
24521            self.identity_alias_healthcheck_username,
24522            'identity_set_id': self.identity_set_id,
24523            'key_type': self.key_type,
24524            'name': self.name,
24525            'port': self.port,
24526            'port_forwarding': self.port_forwarding,
24527            'port_override': self.port_override,
24528            'proxy_cluster_id': self.proxy_cluster_id,
24529            'secret_store_id': self.secret_store_id,
24530            'subdomain': self.subdomain,
24531            'tags': self.tags,
24532            'username': self.username,
24533        }
@classmethod
def from_dict(cls, d)
24535    @classmethod
24536    def from_dict(cls, d):
24537        return cls(
24538            allow_deprecated_key_exchanges=d.get(
24539                'allow_deprecated_key_exchanges'),
24540            bind_interface=d.get('bind_interface'),
24541            egress_filter=d.get('egress_filter'),
24542            healthy=d.get('healthy'),
24543            hostname=d.get('hostname'),
24544            id=d.get('id'),
24545            identity_alias_healthcheck_username=d.get(
24546                'identity_alias_healthcheck_username'),
24547            identity_set_id=d.get('identity_set_id'),
24548            key_type=d.get('key_type'),
24549            name=d.get('name'),
24550            port=d.get('port'),
24551            port_forwarding=d.get('port_forwarding'),
24552            port_override=d.get('port_override'),
24553            proxy_cluster_id=d.get('proxy_cluster_id'),
24554            secret_store_id=d.get('secret_store_id'),
24555            subdomain=d.get('subdomain'),
24556            tags=d.get('tags'),
24557            username=d.get('username'),
24558        )
class SSHCustomerKey:
24561class SSHCustomerKey:
24562    __slots__ = [
24563        'allow_deprecated_key_exchanges',
24564        'bind_interface',
24565        'egress_filter',
24566        'healthy',
24567        'hostname',
24568        'id',
24569        'name',
24570        'port',
24571        'port_forwarding',
24572        'port_override',
24573        'private_key',
24574        'proxy_cluster_id',
24575        'secret_store_id',
24576        'subdomain',
24577        'tags',
24578        'username',
24579    ]
24580
24581    def __init__(
24582        self,
24583        allow_deprecated_key_exchanges=None,
24584        bind_interface=None,
24585        egress_filter=None,
24586        healthy=None,
24587        hostname=None,
24588        id=None,
24589        name=None,
24590        port=None,
24591        port_forwarding=None,
24592        port_override=None,
24593        private_key=None,
24594        proxy_cluster_id=None,
24595        secret_store_id=None,
24596        subdomain=None,
24597        tags=None,
24598        username=None,
24599    ):
24600        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24601        '''
24602         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24603        '''
24604        self.bind_interface = bind_interface if bind_interface is not None else ''
24605        '''
24606         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24607        '''
24608        self.egress_filter = egress_filter if egress_filter is not None else ''
24609        '''
24610         A filter applied to the routing logic to pin datasource to nodes.
24611        '''
24612        self.healthy = healthy if healthy is not None else False
24613        '''
24614         True if the datasource is reachable and the credentials are valid.
24615        '''
24616        self.hostname = hostname if hostname is not None else ''
24617        '''
24618         The host to dial to initiate a connection from the egress node to this resource.
24619        '''
24620        self.id = id if id is not None else ''
24621        '''
24622         Unique identifier of the Resource.
24623        '''
24624        self.name = name if name is not None else ''
24625        '''
24626         Unique human-readable name of the Resource.
24627        '''
24628        self.port = port if port is not None else 0
24629        '''
24630         The port to dial to initiate a connection from the egress node to this resource.
24631        '''
24632        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24633        '''
24634         Whether port forwarding is allowed through this server.
24635        '''
24636        self.port_override = port_override if port_override is not None else 0
24637        '''
24638         The local port used by clients to connect to this resource.
24639        '''
24640        self.private_key = private_key if private_key is not None else ''
24641        '''
24642         The private key used to authenticate with the server.
24643        '''
24644        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24645        '''
24646         ID of the proxy cluster for this resource, if any.
24647        '''
24648        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24649        '''
24650         ID of the secret store containing credentials for this resource, if any.
24651        '''
24652        self.subdomain = subdomain if subdomain is not None else ''
24653        '''
24654         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24655        '''
24656        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24657        '''
24658         Tags is a map of key, value pairs.
24659        '''
24660        self.username = username if username is not None else ''
24661        '''
24662         The username to authenticate with.
24663        '''
24664
24665    def __repr__(self):
24666        return '<sdm.SSHCustomerKey ' + \
24667            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24668            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24669            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24670            'healthy: ' + repr(self.healthy) + ' ' +\
24671            'hostname: ' + repr(self.hostname) + ' ' +\
24672            'id: ' + repr(self.id) + ' ' +\
24673            'name: ' + repr(self.name) + ' ' +\
24674            'port: ' + repr(self.port) + ' ' +\
24675            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24676            'port_override: ' + repr(self.port_override) + ' ' +\
24677            'private_key: ' + repr(self.private_key) + ' ' +\
24678            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24679            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24680            'subdomain: ' + repr(self.subdomain) + ' ' +\
24681            'tags: ' + repr(self.tags) + ' ' +\
24682            'username: ' + repr(self.username) + ' ' +\
24683            '>'
24684
24685    def to_dict(self):
24686        return {
24687            'allow_deprecated_key_exchanges':
24688            self.allow_deprecated_key_exchanges,
24689            'bind_interface': self.bind_interface,
24690            'egress_filter': self.egress_filter,
24691            'healthy': self.healthy,
24692            'hostname': self.hostname,
24693            'id': self.id,
24694            'name': self.name,
24695            'port': self.port,
24696            'port_forwarding': self.port_forwarding,
24697            'port_override': self.port_override,
24698            'private_key': self.private_key,
24699            'proxy_cluster_id': self.proxy_cluster_id,
24700            'secret_store_id': self.secret_store_id,
24701            'subdomain': self.subdomain,
24702            'tags': self.tags,
24703            'username': self.username,
24704        }
24705
24706    @classmethod
24707    def from_dict(cls, d):
24708        return cls(
24709            allow_deprecated_key_exchanges=d.get(
24710                'allow_deprecated_key_exchanges'),
24711            bind_interface=d.get('bind_interface'),
24712            egress_filter=d.get('egress_filter'),
24713            healthy=d.get('healthy'),
24714            hostname=d.get('hostname'),
24715            id=d.get('id'),
24716            name=d.get('name'),
24717            port=d.get('port'),
24718            port_forwarding=d.get('port_forwarding'),
24719            port_override=d.get('port_override'),
24720            private_key=d.get('private_key'),
24721            proxy_cluster_id=d.get('proxy_cluster_id'),
24722            secret_store_id=d.get('secret_store_id'),
24723            subdomain=d.get('subdomain'),
24724            tags=d.get('tags'),
24725            username=d.get('username'),
24726        )
SSHCustomerKey( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, 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)
24581    def __init__(
24582        self,
24583        allow_deprecated_key_exchanges=None,
24584        bind_interface=None,
24585        egress_filter=None,
24586        healthy=None,
24587        hostname=None,
24588        id=None,
24589        name=None,
24590        port=None,
24591        port_forwarding=None,
24592        port_override=None,
24593        private_key=None,
24594        proxy_cluster_id=None,
24595        secret_store_id=None,
24596        subdomain=None,
24597        tags=None,
24598        username=None,
24599    ):
24600        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24601        '''
24602         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24603        '''
24604        self.bind_interface = bind_interface if bind_interface is not None else ''
24605        '''
24606         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24607        '''
24608        self.egress_filter = egress_filter if egress_filter is not None else ''
24609        '''
24610         A filter applied to the routing logic to pin datasource to nodes.
24611        '''
24612        self.healthy = healthy if healthy is not None else False
24613        '''
24614         True if the datasource is reachable and the credentials are valid.
24615        '''
24616        self.hostname = hostname if hostname is not None else ''
24617        '''
24618         The host to dial to initiate a connection from the egress node to this resource.
24619        '''
24620        self.id = id if id is not None else ''
24621        '''
24622         Unique identifier of the Resource.
24623        '''
24624        self.name = name if name is not None else ''
24625        '''
24626         Unique human-readable name of the Resource.
24627        '''
24628        self.port = port if port is not None else 0
24629        '''
24630         The port to dial to initiate a connection from the egress node to this resource.
24631        '''
24632        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24633        '''
24634         Whether port forwarding is allowed through this server.
24635        '''
24636        self.port_override = port_override if port_override is not None else 0
24637        '''
24638         The local port used by clients to connect to this resource.
24639        '''
24640        self.private_key = private_key if private_key is not None else ''
24641        '''
24642         The private key used to authenticate with the server.
24643        '''
24644        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24645        '''
24646         ID of the proxy cluster for this resource, if any.
24647        '''
24648        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24649        '''
24650         ID of the secret store containing credentials for this resource, if any.
24651        '''
24652        self.subdomain = subdomain if subdomain is not None else ''
24653        '''
24654         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24655        '''
24656        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24657        '''
24658         Tags is a map of key, value pairs.
24659        '''
24660        self.username = username if username is not None else ''
24661        '''
24662         The username to authenticate with.
24663        '''
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.

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)
24685    def to_dict(self):
24686        return {
24687            'allow_deprecated_key_exchanges':
24688            self.allow_deprecated_key_exchanges,
24689            'bind_interface': self.bind_interface,
24690            'egress_filter': self.egress_filter,
24691            'healthy': self.healthy,
24692            'hostname': self.hostname,
24693            'id': self.id,
24694            'name': self.name,
24695            'port': self.port,
24696            'port_forwarding': self.port_forwarding,
24697            'port_override': self.port_override,
24698            'private_key': self.private_key,
24699            'proxy_cluster_id': self.proxy_cluster_id,
24700            'secret_store_id': self.secret_store_id,
24701            'subdomain': self.subdomain,
24702            'tags': self.tags,
24703            'username': self.username,
24704        }
@classmethod
def from_dict(cls, d)
24706    @classmethod
24707    def from_dict(cls, d):
24708        return cls(
24709            allow_deprecated_key_exchanges=d.get(
24710                'allow_deprecated_key_exchanges'),
24711            bind_interface=d.get('bind_interface'),
24712            egress_filter=d.get('egress_filter'),
24713            healthy=d.get('healthy'),
24714            hostname=d.get('hostname'),
24715            id=d.get('id'),
24716            name=d.get('name'),
24717            port=d.get('port'),
24718            port_forwarding=d.get('port_forwarding'),
24719            port_override=d.get('port_override'),
24720            private_key=d.get('private_key'),
24721            proxy_cluster_id=d.get('proxy_cluster_id'),
24722            secret_store_id=d.get('secret_store_id'),
24723            subdomain=d.get('subdomain'),
24724            tags=d.get('tags'),
24725            username=d.get('username'),
24726        )
class SSHPassword:
24729class SSHPassword:
24730    __slots__ = [
24731        'allow_deprecated_key_exchanges',
24732        'bind_interface',
24733        'egress_filter',
24734        'healthy',
24735        'hostname',
24736        'id',
24737        'name',
24738        'password',
24739        'port',
24740        'port_forwarding',
24741        'port_override',
24742        'proxy_cluster_id',
24743        'secret_store_id',
24744        'subdomain',
24745        'tags',
24746        'username',
24747    ]
24748
24749    def __init__(
24750        self,
24751        allow_deprecated_key_exchanges=None,
24752        bind_interface=None,
24753        egress_filter=None,
24754        healthy=None,
24755        hostname=None,
24756        id=None,
24757        name=None,
24758        password=None,
24759        port=None,
24760        port_forwarding=None,
24761        port_override=None,
24762        proxy_cluster_id=None,
24763        secret_store_id=None,
24764        subdomain=None,
24765        tags=None,
24766        username=None,
24767    ):
24768        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24769        '''
24770         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24771        '''
24772        self.bind_interface = bind_interface if bind_interface is not None else ''
24773        '''
24774         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24775        '''
24776        self.egress_filter = egress_filter if egress_filter is not None else ''
24777        '''
24778         A filter applied to the routing logic to pin datasource to nodes.
24779        '''
24780        self.healthy = healthy if healthy is not None else False
24781        '''
24782         True if the datasource is reachable and the credentials are valid.
24783        '''
24784        self.hostname = hostname if hostname is not None else ''
24785        '''
24786         The host to dial to initiate a connection from the egress node to this resource.
24787        '''
24788        self.id = id if id is not None else ''
24789        '''
24790         Unique identifier of the Resource.
24791        '''
24792        self.name = name if name is not None else ''
24793        '''
24794         Unique human-readable name of the Resource.
24795        '''
24796        self.password = password if password is not None else ''
24797        '''
24798         The password to authenticate with.
24799        '''
24800        self.port = port if port is not None else 0
24801        '''
24802         The port to dial to initiate a connection from the egress node to this resource.
24803        '''
24804        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24805        '''
24806         Whether port forwarding is allowed through this server.
24807        '''
24808        self.port_override = port_override if port_override is not None else 0
24809        '''
24810         The local port used by clients to connect to this resource.
24811        '''
24812        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24813        '''
24814         ID of the proxy cluster for this resource, if any.
24815        '''
24816        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24817        '''
24818         ID of the secret store containing credentials for this resource, if any.
24819        '''
24820        self.subdomain = subdomain if subdomain is not None else ''
24821        '''
24822         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24823        '''
24824        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24825        '''
24826         Tags is a map of key, value pairs.
24827        '''
24828        self.username = username if username is not None else ''
24829        '''
24830         The username to authenticate with.
24831        '''
24832
24833    def __repr__(self):
24834        return '<sdm.SSHPassword ' + \
24835            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24836            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24837            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24838            'healthy: ' + repr(self.healthy) + ' ' +\
24839            'hostname: ' + repr(self.hostname) + ' ' +\
24840            'id: ' + repr(self.id) + ' ' +\
24841            'name: ' + repr(self.name) + ' ' +\
24842            'password: ' + repr(self.password) + ' ' +\
24843            'port: ' + repr(self.port) + ' ' +\
24844            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24845            'port_override: ' + repr(self.port_override) + ' ' +\
24846            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24847            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24848            'subdomain: ' + repr(self.subdomain) + ' ' +\
24849            'tags: ' + repr(self.tags) + ' ' +\
24850            'username: ' + repr(self.username) + ' ' +\
24851            '>'
24852
24853    def to_dict(self):
24854        return {
24855            'allow_deprecated_key_exchanges':
24856            self.allow_deprecated_key_exchanges,
24857            'bind_interface': self.bind_interface,
24858            'egress_filter': self.egress_filter,
24859            'healthy': self.healthy,
24860            'hostname': self.hostname,
24861            'id': self.id,
24862            'name': self.name,
24863            'password': self.password,
24864            'port': self.port,
24865            'port_forwarding': self.port_forwarding,
24866            'port_override': self.port_override,
24867            'proxy_cluster_id': self.proxy_cluster_id,
24868            'secret_store_id': self.secret_store_id,
24869            'subdomain': self.subdomain,
24870            'tags': self.tags,
24871            'username': self.username,
24872        }
24873
24874    @classmethod
24875    def from_dict(cls, d):
24876        return cls(
24877            allow_deprecated_key_exchanges=d.get(
24878                'allow_deprecated_key_exchanges'),
24879            bind_interface=d.get('bind_interface'),
24880            egress_filter=d.get('egress_filter'),
24881            healthy=d.get('healthy'),
24882            hostname=d.get('hostname'),
24883            id=d.get('id'),
24884            name=d.get('name'),
24885            password=d.get('password'),
24886            port=d.get('port'),
24887            port_forwarding=d.get('port_forwarding'),
24888            port_override=d.get('port_override'),
24889            proxy_cluster_id=d.get('proxy_cluster_id'),
24890            secret_store_id=d.get('secret_store_id'),
24891            subdomain=d.get('subdomain'),
24892            tags=d.get('tags'),
24893            username=d.get('username'),
24894        )
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)
24749    def __init__(
24750        self,
24751        allow_deprecated_key_exchanges=None,
24752        bind_interface=None,
24753        egress_filter=None,
24754        healthy=None,
24755        hostname=None,
24756        id=None,
24757        name=None,
24758        password=None,
24759        port=None,
24760        port_forwarding=None,
24761        port_override=None,
24762        proxy_cluster_id=None,
24763        secret_store_id=None,
24764        subdomain=None,
24765        tags=None,
24766        username=None,
24767    ):
24768        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24769        '''
24770         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24771        '''
24772        self.bind_interface = bind_interface if bind_interface is not None else ''
24773        '''
24774         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24775        '''
24776        self.egress_filter = egress_filter if egress_filter is not None else ''
24777        '''
24778         A filter applied to the routing logic to pin datasource to nodes.
24779        '''
24780        self.healthy = healthy if healthy is not None else False
24781        '''
24782         True if the datasource is reachable and the credentials are valid.
24783        '''
24784        self.hostname = hostname if hostname is not None else ''
24785        '''
24786         The host to dial to initiate a connection from the egress node to this resource.
24787        '''
24788        self.id = id if id is not None else ''
24789        '''
24790         Unique identifier of the Resource.
24791        '''
24792        self.name = name if name is not None else ''
24793        '''
24794         Unique human-readable name of the Resource.
24795        '''
24796        self.password = password if password is not None else ''
24797        '''
24798         The password to authenticate with.
24799        '''
24800        self.port = port if port is not None else 0
24801        '''
24802         The port to dial to initiate a connection from the egress node to this resource.
24803        '''
24804        self.port_forwarding = port_forwarding if port_forwarding is not None else False
24805        '''
24806         Whether port forwarding is allowed through this server.
24807        '''
24808        self.port_override = port_override if port_override is not None else 0
24809        '''
24810         The local port used by clients to connect to this resource.
24811        '''
24812        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24813        '''
24814         ID of the proxy cluster for this resource, if any.
24815        '''
24816        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24817        '''
24818         ID of the secret store containing credentials for this resource, if any.
24819        '''
24820        self.subdomain = subdomain if subdomain is not None else ''
24821        '''
24822         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24823        '''
24824        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24825        '''
24826         Tags is a map of key, value pairs.
24827        '''
24828        self.username = username if username is not None else ''
24829        '''
24830         The username to authenticate with.
24831        '''
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)
24853    def to_dict(self):
24854        return {
24855            'allow_deprecated_key_exchanges':
24856            self.allow_deprecated_key_exchanges,
24857            'bind_interface': self.bind_interface,
24858            'egress_filter': self.egress_filter,
24859            'healthy': self.healthy,
24860            'hostname': self.hostname,
24861            'id': self.id,
24862            'name': self.name,
24863            'password': self.password,
24864            'port': self.port,
24865            'port_forwarding': self.port_forwarding,
24866            'port_override': self.port_override,
24867            'proxy_cluster_id': self.proxy_cluster_id,
24868            'secret_store_id': self.secret_store_id,
24869            'subdomain': self.subdomain,
24870            'tags': self.tags,
24871            'username': self.username,
24872        }
@classmethod
def from_dict(cls, d)
24874    @classmethod
24875    def from_dict(cls, d):
24876        return cls(
24877            allow_deprecated_key_exchanges=d.get(
24878                'allow_deprecated_key_exchanges'),
24879            bind_interface=d.get('bind_interface'),
24880            egress_filter=d.get('egress_filter'),
24881            healthy=d.get('healthy'),
24882            hostname=d.get('hostname'),
24883            id=d.get('id'),
24884            name=d.get('name'),
24885            password=d.get('password'),
24886            port=d.get('port'),
24887            port_forwarding=d.get('port_forwarding'),
24888            port_override=d.get('port_override'),
24889            proxy_cluster_id=d.get('proxy_cluster_id'),
24890            secret_store_id=d.get('secret_store_id'),
24891            subdomain=d.get('subdomain'),
24892            tags=d.get('tags'),
24893            username=d.get('username'),
24894        )
class SecretStoreCreateResponse:
24897class SecretStoreCreateResponse:
24898    '''
24899         SecretStoreCreateResponse reports how the SecretStores were created in the system.
24900    '''
24901    __slots__ = [
24902        'meta',
24903        'rate_limit',
24904        'secret_store',
24905    ]
24906
24907    def __init__(
24908        self,
24909        meta=None,
24910        rate_limit=None,
24911        secret_store=None,
24912    ):
24913        self.meta = meta if meta is not None else None
24914        '''
24915         Reserved for future use.
24916        '''
24917        self.rate_limit = rate_limit if rate_limit is not None else None
24918        '''
24919         Rate limit information.
24920        '''
24921        self.secret_store = secret_store if secret_store is not None else None
24922        '''
24923         The created SecretStore.
24924        '''
24925
24926    def __repr__(self):
24927        return '<sdm.SecretStoreCreateResponse ' + \
24928            'meta: ' + repr(self.meta) + ' ' +\
24929            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24930            'secret_store: ' + repr(self.secret_store) + ' ' +\
24931            '>'
24932
24933    def to_dict(self):
24934        return {
24935            'meta': self.meta,
24936            'rate_limit': self.rate_limit,
24937            'secret_store': self.secret_store,
24938        }
24939
24940    @classmethod
24941    def from_dict(cls, d):
24942        return cls(
24943            meta=d.get('meta'),
24944            rate_limit=d.get('rate_limit'),
24945            secret_store=d.get('secret_store'),
24946        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
24907    def __init__(
24908        self,
24909        meta=None,
24910        rate_limit=None,
24911        secret_store=None,
24912    ):
24913        self.meta = meta if meta is not None else None
24914        '''
24915         Reserved for future use.
24916        '''
24917        self.rate_limit = rate_limit if rate_limit is not None else None
24918        '''
24919         Rate limit information.
24920        '''
24921        self.secret_store = secret_store if secret_store is not None else None
24922        '''
24923         The created SecretStore.
24924        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
24933    def to_dict(self):
24934        return {
24935            'meta': self.meta,
24936            'rate_limit': self.rate_limit,
24937            'secret_store': self.secret_store,
24938        }
@classmethod
def from_dict(cls, d)
24940    @classmethod
24941    def from_dict(cls, d):
24942        return cls(
24943            meta=d.get('meta'),
24944            rate_limit=d.get('rate_limit'),
24945            secret_store=d.get('secret_store'),
24946        )
class SecretStoreDeleteResponse:
24949class SecretStoreDeleteResponse:
24950    '''
24951         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
24952    '''
24953    __slots__ = [
24954        'meta',
24955        'rate_limit',
24956    ]
24957
24958    def __init__(
24959        self,
24960        meta=None,
24961        rate_limit=None,
24962    ):
24963        self.meta = meta if meta is not None else None
24964        '''
24965         Reserved for future use.
24966        '''
24967        self.rate_limit = rate_limit if rate_limit is not None else None
24968        '''
24969         Rate limit information.
24970        '''
24971
24972    def __repr__(self):
24973        return '<sdm.SecretStoreDeleteResponse ' + \
24974            'meta: ' + repr(self.meta) + ' ' +\
24975            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24976            '>'
24977
24978    def to_dict(self):
24979        return {
24980            'meta': self.meta,
24981            'rate_limit': self.rate_limit,
24982        }
24983
24984    @classmethod
24985    def from_dict(cls, d):
24986        return cls(
24987            meta=d.get('meta'),
24988            rate_limit=d.get('rate_limit'),
24989        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
24958    def __init__(
24959        self,
24960        meta=None,
24961        rate_limit=None,
24962    ):
24963        self.meta = meta if meta is not None else None
24964        '''
24965         Reserved for future use.
24966        '''
24967        self.rate_limit = rate_limit if rate_limit is not None else None
24968        '''
24969         Rate limit information.
24970        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
24978    def to_dict(self):
24979        return {
24980            'meta': self.meta,
24981            'rate_limit': self.rate_limit,
24982        }
@classmethod
def from_dict(cls, d)
24984    @classmethod
24985    def from_dict(cls, d):
24986        return cls(
24987            meta=d.get('meta'),
24988            rate_limit=d.get('rate_limit'),
24989        )
class SecretStoreGetResponse:
24992class SecretStoreGetResponse:
24993    '''
24994         SecretStoreGetResponse returns a requested SecretStore.
24995    '''
24996    __slots__ = [
24997        'meta',
24998        'rate_limit',
24999        'secret_store',
25000    ]
25001
25002    def __init__(
25003        self,
25004        meta=None,
25005        rate_limit=None,
25006        secret_store=None,
25007    ):
25008        self.meta = meta if meta is not None else None
25009        '''
25010         Reserved for future use.
25011        '''
25012        self.rate_limit = rate_limit if rate_limit is not None else None
25013        '''
25014         Rate limit information.
25015        '''
25016        self.secret_store = secret_store if secret_store is not None else None
25017        '''
25018         The requested SecretStore.
25019        '''
25020
25021    def __repr__(self):
25022        return '<sdm.SecretStoreGetResponse ' + \
25023            'meta: ' + repr(self.meta) + ' ' +\
25024            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25025            'secret_store: ' + repr(self.secret_store) + ' ' +\
25026            '>'
25027
25028    def to_dict(self):
25029        return {
25030            'meta': self.meta,
25031            'rate_limit': self.rate_limit,
25032            'secret_store': self.secret_store,
25033        }
25034
25035    @classmethod
25036    def from_dict(cls, d):
25037        return cls(
25038            meta=d.get('meta'),
25039            rate_limit=d.get('rate_limit'),
25040            secret_store=d.get('secret_store'),
25041        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
25002    def __init__(
25003        self,
25004        meta=None,
25005        rate_limit=None,
25006        secret_store=None,
25007    ):
25008        self.meta = meta if meta is not None else None
25009        '''
25010         Reserved for future use.
25011        '''
25012        self.rate_limit = rate_limit if rate_limit is not None else None
25013        '''
25014         Rate limit information.
25015        '''
25016        self.secret_store = secret_store if secret_store is not None else None
25017        '''
25018         The requested SecretStore.
25019        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
25028    def to_dict(self):
25029        return {
25030            'meta': self.meta,
25031            'rate_limit': self.rate_limit,
25032            'secret_store': self.secret_store,
25033        }
@classmethod
def from_dict(cls, d)
25035    @classmethod
25036    def from_dict(cls, d):
25037        return cls(
25038            meta=d.get('meta'),
25039            rate_limit=d.get('rate_limit'),
25040            secret_store=d.get('secret_store'),
25041        )
class SecretStoreHealth:
25044class SecretStoreHealth:
25045    '''
25046         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
25047     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
25048     or set of nodes.
25049    '''
25050    __slots__ = [
25051        'changed_at',
25052        'checked_at',
25053        'error',
25054        'flags',
25055        'node_id',
25056        'reachability',
25057        'secret_store_id',
25058        'status',
25059    ]
25060
25061    def __init__(
25062        self,
25063        changed_at=None,
25064        checked_at=None,
25065        error=None,
25066        flags=None,
25067        node_id=None,
25068        reachability=None,
25069        secret_store_id=None,
25070        status=None,
25071    ):
25072        self.changed_at = changed_at if changed_at is not None else None
25073        '''
25074         The time when the status last changed
25075        '''
25076        self.checked_at = checked_at if checked_at is not None else None
25077        '''
25078         The time when the status was last checked by the node
25079        '''
25080        self.error = error if error is not None else ''
25081        '''
25082         The error associated with this health check, if it occurred after reachability checks succeeded.
25083        '''
25084        self.flags = flags if flags is not None else []
25085        '''
25086         Any specific status or error flags associated with this health check.
25087        '''
25088        self.node_id = node_id if node_id is not None else ''
25089        '''
25090         Associated node id for this health
25091        '''
25092        self.reachability = reachability if reachability is not None else ''
25093        '''
25094         The error associated with this health check, if it occurred during reachability checks.
25095        '''
25096        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25097        '''
25098         Associated secret store for this health
25099        '''
25100        self.status = status if status is not None else ''
25101        '''
25102         The status of the link between the node and secret store
25103        '''
25104
25105    def __repr__(self):
25106        return '<sdm.SecretStoreHealth ' + \
25107            'changed_at: ' + repr(self.changed_at) + ' ' +\
25108            'checked_at: ' + repr(self.checked_at) + ' ' +\
25109            'error: ' + repr(self.error) + ' ' +\
25110            'flags: ' + repr(self.flags) + ' ' +\
25111            'node_id: ' + repr(self.node_id) + ' ' +\
25112            'reachability: ' + repr(self.reachability) + ' ' +\
25113            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25114            'status: ' + repr(self.status) + ' ' +\
25115            '>'
25116
25117    def to_dict(self):
25118        return {
25119            'changed_at': self.changed_at,
25120            'checked_at': self.checked_at,
25121            'error': self.error,
25122            'flags': self.flags,
25123            'node_id': self.node_id,
25124            'reachability': self.reachability,
25125            'secret_store_id': self.secret_store_id,
25126            'status': self.status,
25127        }
25128
25129    @classmethod
25130    def from_dict(cls, d):
25131        return cls(
25132            changed_at=d.get('changed_at'),
25133            checked_at=d.get('checked_at'),
25134            error=d.get('error'),
25135            flags=d.get('flags'),
25136            node_id=d.get('node_id'),
25137            reachability=d.get('reachability'),
25138            secret_store_id=d.get('secret_store_id'),
25139            status=d.get('status'),
25140        )

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)
25061    def __init__(
25062        self,
25063        changed_at=None,
25064        checked_at=None,
25065        error=None,
25066        flags=None,
25067        node_id=None,
25068        reachability=None,
25069        secret_store_id=None,
25070        status=None,
25071    ):
25072        self.changed_at = changed_at if changed_at is not None else None
25073        '''
25074         The time when the status last changed
25075        '''
25076        self.checked_at = checked_at if checked_at is not None else None
25077        '''
25078         The time when the status was last checked by the node
25079        '''
25080        self.error = error if error is not None else ''
25081        '''
25082         The error associated with this health check, if it occurred after reachability checks succeeded.
25083        '''
25084        self.flags = flags if flags is not None else []
25085        '''
25086         Any specific status or error flags associated with this health check.
25087        '''
25088        self.node_id = node_id if node_id is not None else ''
25089        '''
25090         Associated node id for this health
25091        '''
25092        self.reachability = reachability if reachability is not None else ''
25093        '''
25094         The error associated with this health check, if it occurred during reachability checks.
25095        '''
25096        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25097        '''
25098         Associated secret store for this health
25099        '''
25100        self.status = status if status is not None else ''
25101        '''
25102         The status of the link between the node and secret store
25103        '''
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)
25117    def to_dict(self):
25118        return {
25119            'changed_at': self.changed_at,
25120            'checked_at': self.checked_at,
25121            'error': self.error,
25122            'flags': self.flags,
25123            'node_id': self.node_id,
25124            'reachability': self.reachability,
25125            'secret_store_id': self.secret_store_id,
25126            'status': self.status,
25127        }
@classmethod
def from_dict(cls, d)
25129    @classmethod
25130    def from_dict(cls, d):
25131        return cls(
25132            changed_at=d.get('changed_at'),
25133            checked_at=d.get('checked_at'),
25134            error=d.get('error'),
25135            flags=d.get('flags'),
25136            node_id=d.get('node_id'),
25137            reachability=d.get('reachability'),
25138            secret_store_id=d.get('secret_store_id'),
25139            status=d.get('status'),
25140        )
class SecretStoreHealthListResponse:
25143class SecretStoreHealthListResponse:
25144    __slots__ = [
25145        'rate_limit',
25146    ]
25147
25148    def __init__(
25149        self,
25150        rate_limit=None,
25151    ):
25152        self.rate_limit = rate_limit if rate_limit is not None else None
25153        '''
25154         Rate limit information.
25155        '''
25156
25157    def __repr__(self):
25158        return '<sdm.SecretStoreHealthListResponse ' + \
25159            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25160            '>'
25161
25162    def to_dict(self):
25163        return {
25164            'rate_limit': self.rate_limit,
25165        }
25166
25167    @classmethod
25168    def from_dict(cls, d):
25169        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
25148    def __init__(
25149        self,
25150        rate_limit=None,
25151    ):
25152        self.rate_limit = rate_limit if rate_limit is not None else None
25153        '''
25154         Rate limit information.
25155        '''
rate_limit

Rate limit information.

def to_dict(self)
25162    def to_dict(self):
25163        return {
25164            'rate_limit': self.rate_limit,
25165        }
@classmethod
def from_dict(cls, d)
25167    @classmethod
25168    def from_dict(cls, d):
25169        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
25172class SecretStoreHealthcheckResponse:
25173    __slots__ = [
25174        'rate_limit',
25175    ]
25176
25177    def __init__(
25178        self,
25179        rate_limit=None,
25180    ):
25181        self.rate_limit = rate_limit if rate_limit is not None else None
25182        '''
25183         Rate limit information.
25184        '''
25185
25186    def __repr__(self):
25187        return '<sdm.SecretStoreHealthcheckResponse ' + \
25188            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25189            '>'
25190
25191    def to_dict(self):
25192        return {
25193            'rate_limit': self.rate_limit,
25194        }
25195
25196    @classmethod
25197    def from_dict(cls, d):
25198        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
25177    def __init__(
25178        self,
25179        rate_limit=None,
25180    ):
25181        self.rate_limit = rate_limit if rate_limit is not None else None
25182        '''
25183         Rate limit information.
25184        '''
rate_limit

Rate limit information.

def to_dict(self)
25191    def to_dict(self):
25192        return {
25193            'rate_limit': self.rate_limit,
25194        }
@classmethod
def from_dict(cls, d)
25196    @classmethod
25197    def from_dict(cls, d):
25198        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHistory:
25201class SecretStoreHistory:
25202    '''
25203         SecretStoreHistory records the state of a SecretStore at a given point in time,
25204     where every change (create, update and delete) to a SecretStore produces an
25205     SecretStoreHistory record.
25206    '''
25207    __slots__ = [
25208        'activity_id',
25209        'deleted_at',
25210        'secret_store',
25211        'timestamp',
25212    ]
25213
25214    def __init__(
25215        self,
25216        activity_id=None,
25217        deleted_at=None,
25218        secret_store=None,
25219        timestamp=None,
25220    ):
25221        self.activity_id = activity_id if activity_id is not None else ''
25222        '''
25223         The unique identifier of the Activity that produced this change to the SecretStore.
25224         May be empty for some system-initiated updates.
25225        '''
25226        self.deleted_at = deleted_at if deleted_at is not None else None
25227        '''
25228         If this SecretStore was deleted, the time it was deleted.
25229        '''
25230        self.secret_store = secret_store if secret_store is not None else None
25231        '''
25232         The complete SecretStore state at this time.
25233        '''
25234        self.timestamp = timestamp if timestamp is not None else None
25235        '''
25236         The time at which the SecretStore state was recorded.
25237        '''
25238
25239    def __repr__(self):
25240        return '<sdm.SecretStoreHistory ' + \
25241            'activity_id: ' + repr(self.activity_id) + ' ' +\
25242            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25243            'secret_store: ' + repr(self.secret_store) + ' ' +\
25244            'timestamp: ' + repr(self.timestamp) + ' ' +\
25245            '>'
25246
25247    def to_dict(self):
25248        return {
25249            'activity_id': self.activity_id,
25250            'deleted_at': self.deleted_at,
25251            'secret_store': self.secret_store,
25252            'timestamp': self.timestamp,
25253        }
25254
25255    @classmethod
25256    def from_dict(cls, d):
25257        return cls(
25258            activity_id=d.get('activity_id'),
25259            deleted_at=d.get('deleted_at'),
25260            secret_store=d.get('secret_store'),
25261            timestamp=d.get('timestamp'),
25262        )

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)
25214    def __init__(
25215        self,
25216        activity_id=None,
25217        deleted_at=None,
25218        secret_store=None,
25219        timestamp=None,
25220    ):
25221        self.activity_id = activity_id if activity_id is not None else ''
25222        '''
25223         The unique identifier of the Activity that produced this change to the SecretStore.
25224         May be empty for some system-initiated updates.
25225        '''
25226        self.deleted_at = deleted_at if deleted_at is not None else None
25227        '''
25228         If this SecretStore was deleted, the time it was deleted.
25229        '''
25230        self.secret_store = secret_store if secret_store is not None else None
25231        '''
25232         The complete SecretStore state at this time.
25233        '''
25234        self.timestamp = timestamp if timestamp is not None else None
25235        '''
25236         The time at which the SecretStore state was recorded.
25237        '''
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)
25247    def to_dict(self):
25248        return {
25249            'activity_id': self.activity_id,
25250            'deleted_at': self.deleted_at,
25251            'secret_store': self.secret_store,
25252            'timestamp': self.timestamp,
25253        }
@classmethod
def from_dict(cls, d)
25255    @classmethod
25256    def from_dict(cls, d):
25257        return cls(
25258            activity_id=d.get('activity_id'),
25259            deleted_at=d.get('deleted_at'),
25260            secret_store=d.get('secret_store'),
25261            timestamp=d.get('timestamp'),
25262        )
class SecretStoreUpdateResponse:
25265class SecretStoreUpdateResponse:
25266    '''
25267         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
25268     a SecretStoreUpdateRequest.
25269    '''
25270    __slots__ = [
25271        'meta',
25272        'rate_limit',
25273        'secret_store',
25274    ]
25275
25276    def __init__(
25277        self,
25278        meta=None,
25279        rate_limit=None,
25280        secret_store=None,
25281    ):
25282        self.meta = meta if meta is not None else None
25283        '''
25284         Reserved for future use.
25285        '''
25286        self.rate_limit = rate_limit if rate_limit is not None else None
25287        '''
25288         Rate limit information.
25289        '''
25290        self.secret_store = secret_store if secret_store is not None else None
25291        '''
25292         The updated SecretStore.
25293        '''
25294
25295    def __repr__(self):
25296        return '<sdm.SecretStoreUpdateResponse ' + \
25297            'meta: ' + repr(self.meta) + ' ' +\
25298            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25299            'secret_store: ' + repr(self.secret_store) + ' ' +\
25300            '>'
25301
25302    def to_dict(self):
25303        return {
25304            'meta': self.meta,
25305            'rate_limit': self.rate_limit,
25306            'secret_store': self.secret_store,
25307        }
25308
25309    @classmethod
25310    def from_dict(cls, d):
25311        return cls(
25312            meta=d.get('meta'),
25313            rate_limit=d.get('rate_limit'),
25314            secret_store=d.get('secret_store'),
25315        )

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

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
25276    def __init__(
25277        self,
25278        meta=None,
25279        rate_limit=None,
25280        secret_store=None,
25281    ):
25282        self.meta = meta if meta is not None else None
25283        '''
25284         Reserved for future use.
25285        '''
25286        self.rate_limit = rate_limit if rate_limit is not None else None
25287        '''
25288         Rate limit information.
25289        '''
25290        self.secret_store = secret_store if secret_store is not None else None
25291        '''
25292         The updated SecretStore.
25293        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
25302    def to_dict(self):
25303        return {
25304            'meta': self.meta,
25305            'rate_limit': self.rate_limit,
25306            'secret_store': self.secret_store,
25307        }
@classmethod
def from_dict(cls, d)
25309    @classmethod
25310    def from_dict(cls, d):
25311        return cls(
25312            meta=d.get('meta'),
25313            rate_limit=d.get('rate_limit'),
25314            secret_store=d.get('secret_store'),
25315        )
class Service:
25318class Service:
25319    '''
25320         A Service is a service account that can connect to resources they are granted
25321     directly, or granted via roles. Services are typically automated jobs.
25322    '''
25323    __slots__ = [
25324        'id',
25325        'name',
25326        'suspended',
25327        'tags',
25328    ]
25329
25330    def __init__(
25331        self,
25332        id=None,
25333        name=None,
25334        suspended=None,
25335        tags=None,
25336    ):
25337        self.id = id if id is not None else ''
25338        '''
25339         Unique identifier of the Service.
25340        '''
25341        self.name = name if name is not None else ''
25342        '''
25343         Unique human-readable name of the Service.
25344        '''
25345        self.suspended = suspended if suspended is not None else False
25346        '''
25347         The Service's suspended state.
25348        '''
25349        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25350        '''
25351         Tags is a map of key, value pairs.
25352        '''
25353
25354    def __repr__(self):
25355        return '<sdm.Service ' + \
25356            'id: ' + repr(self.id) + ' ' +\
25357            'name: ' + repr(self.name) + ' ' +\
25358            'suspended: ' + repr(self.suspended) + ' ' +\
25359            'tags: ' + repr(self.tags) + ' ' +\
25360            '>'
25361
25362    def to_dict(self):
25363        return {
25364            'id': self.id,
25365            'name': self.name,
25366            'suspended': self.suspended,
25367            'tags': self.tags,
25368        }
25369
25370    @classmethod
25371    def from_dict(cls, d):
25372        return cls(
25373            id=d.get('id'),
25374            name=d.get('name'),
25375            suspended=d.get('suspended'),
25376            tags=d.get('tags'),
25377        )

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)
25330    def __init__(
25331        self,
25332        id=None,
25333        name=None,
25334        suspended=None,
25335        tags=None,
25336    ):
25337        self.id = id if id is not None else ''
25338        '''
25339         Unique identifier of the Service.
25340        '''
25341        self.name = name if name is not None else ''
25342        '''
25343         Unique human-readable name of the Service.
25344        '''
25345        self.suspended = suspended if suspended is not None else False
25346        '''
25347         The Service's suspended state.
25348        '''
25349        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25350        '''
25351         Tags is a map of key, value pairs.
25352        '''
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)
25362    def to_dict(self):
25363        return {
25364            'id': self.id,
25365            'name': self.name,
25366            'suspended': self.suspended,
25367            'tags': self.tags,
25368        }
@classmethod
def from_dict(cls, d)
25370    @classmethod
25371    def from_dict(cls, d):
25372        return cls(
25373            id=d.get('id'),
25374            name=d.get('name'),
25375            suspended=d.get('suspended'),
25376            tags=d.get('tags'),
25377        )
class SingleStore:
25380class SingleStore:
25381    __slots__ = [
25382        'bind_interface',
25383        'database',
25384        'egress_filter',
25385        'healthy',
25386        'hostname',
25387        'id',
25388        'name',
25389        'password',
25390        'port',
25391        'port_override',
25392        'proxy_cluster_id',
25393        'require_native_auth',
25394        'secret_store_id',
25395        'subdomain',
25396        'tags',
25397        'use_azure_single_server_usernames',
25398        'username',
25399    ]
25400
25401    def __init__(
25402        self,
25403        bind_interface=None,
25404        database=None,
25405        egress_filter=None,
25406        healthy=None,
25407        hostname=None,
25408        id=None,
25409        name=None,
25410        password=None,
25411        port=None,
25412        port_override=None,
25413        proxy_cluster_id=None,
25414        require_native_auth=None,
25415        secret_store_id=None,
25416        subdomain=None,
25417        tags=None,
25418        use_azure_single_server_usernames=None,
25419        username=None,
25420    ):
25421        self.bind_interface = bind_interface if bind_interface is not None else ''
25422        '''
25423         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25424        '''
25425        self.database = database if database is not None else ''
25426        '''
25427         The database for healthchecks. Does not affect client requests.
25428        '''
25429        self.egress_filter = egress_filter if egress_filter is not None else ''
25430        '''
25431         A filter applied to the routing logic to pin datasource to nodes.
25432        '''
25433        self.healthy = healthy if healthy is not None else False
25434        '''
25435         True if the datasource is reachable and the credentials are valid.
25436        '''
25437        self.hostname = hostname if hostname is not None else ''
25438        '''
25439         The host to dial to initiate a connection from the egress node to this resource.
25440        '''
25441        self.id = id if id is not None else ''
25442        '''
25443         Unique identifier of the Resource.
25444        '''
25445        self.name = name if name is not None else ''
25446        '''
25447         Unique human-readable name of the Resource.
25448        '''
25449        self.password = password if password is not None else ''
25450        '''
25451         The password to authenticate with.
25452        '''
25453        self.port = port if port is not None else 0
25454        '''
25455         The port to dial to initiate a connection from the egress node to this resource.
25456        '''
25457        self.port_override = port_override if port_override is not None else 0
25458        '''
25459         The local port used by clients to connect to this resource.
25460        '''
25461        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25462        '''
25463         ID of the proxy cluster for this resource, if any.
25464        '''
25465        self.require_native_auth = require_native_auth if require_native_auth is not None else False
25466        '''
25467         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
25468        '''
25469        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25470        '''
25471         ID of the secret store containing credentials for this resource, if any.
25472        '''
25473        self.subdomain = subdomain if subdomain is not None else ''
25474        '''
25475         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25476        '''
25477        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25478        '''
25479         Tags is a map of key, value pairs.
25480        '''
25481        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
25482        '''
25483         If true, appends the hostname to the username when hitting a database.azure.com address
25484        '''
25485        self.username = username if username is not None else ''
25486        '''
25487         The username to authenticate with.
25488        '''
25489
25490    def __repr__(self):
25491        return '<sdm.SingleStore ' + \
25492            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25493            'database: ' + repr(self.database) + ' ' +\
25494            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25495            'healthy: ' + repr(self.healthy) + ' ' +\
25496            'hostname: ' + repr(self.hostname) + ' ' +\
25497            'id: ' + repr(self.id) + ' ' +\
25498            'name: ' + repr(self.name) + ' ' +\
25499            'password: ' + repr(self.password) + ' ' +\
25500            'port: ' + repr(self.port) + ' ' +\
25501            'port_override: ' + repr(self.port_override) + ' ' +\
25502            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25503            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
25504            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25505            'subdomain: ' + repr(self.subdomain) + ' ' +\
25506            'tags: ' + repr(self.tags) + ' ' +\
25507            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
25508            'username: ' + repr(self.username) + ' ' +\
25509            '>'
25510
25511    def to_dict(self):
25512        return {
25513            'bind_interface': self.bind_interface,
25514            'database': self.database,
25515            'egress_filter': self.egress_filter,
25516            'healthy': self.healthy,
25517            'hostname': self.hostname,
25518            'id': self.id,
25519            'name': self.name,
25520            'password': self.password,
25521            'port': self.port,
25522            'port_override': self.port_override,
25523            'proxy_cluster_id': self.proxy_cluster_id,
25524            'require_native_auth': self.require_native_auth,
25525            'secret_store_id': self.secret_store_id,
25526            'subdomain': self.subdomain,
25527            'tags': self.tags,
25528            'use_azure_single_server_usernames':
25529            self.use_azure_single_server_usernames,
25530            'username': self.username,
25531        }
25532
25533    @classmethod
25534    def from_dict(cls, d):
25535        return cls(
25536            bind_interface=d.get('bind_interface'),
25537            database=d.get('database'),
25538            egress_filter=d.get('egress_filter'),
25539            healthy=d.get('healthy'),
25540            hostname=d.get('hostname'),
25541            id=d.get('id'),
25542            name=d.get('name'),
25543            password=d.get('password'),
25544            port=d.get('port'),
25545            port_override=d.get('port_override'),
25546            proxy_cluster_id=d.get('proxy_cluster_id'),
25547            require_native_auth=d.get('require_native_auth'),
25548            secret_store_id=d.get('secret_store_id'),
25549            subdomain=d.get('subdomain'),
25550            tags=d.get('tags'),
25551            use_azure_single_server_usernames=d.get(
25552                'use_azure_single_server_usernames'),
25553            username=d.get('username'),
25554        )
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)
25401    def __init__(
25402        self,
25403        bind_interface=None,
25404        database=None,
25405        egress_filter=None,
25406        healthy=None,
25407        hostname=None,
25408        id=None,
25409        name=None,
25410        password=None,
25411        port=None,
25412        port_override=None,
25413        proxy_cluster_id=None,
25414        require_native_auth=None,
25415        secret_store_id=None,
25416        subdomain=None,
25417        tags=None,
25418        use_azure_single_server_usernames=None,
25419        username=None,
25420    ):
25421        self.bind_interface = bind_interface if bind_interface is not None else ''
25422        '''
25423         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25424        '''
25425        self.database = database if database is not None else ''
25426        '''
25427         The database for healthchecks. Does not affect client requests.
25428        '''
25429        self.egress_filter = egress_filter if egress_filter is not None else ''
25430        '''
25431         A filter applied to the routing logic to pin datasource to nodes.
25432        '''
25433        self.healthy = healthy if healthy is not None else False
25434        '''
25435         True if the datasource is reachable and the credentials are valid.
25436        '''
25437        self.hostname = hostname if hostname is not None else ''
25438        '''
25439         The host to dial to initiate a connection from the egress node to this resource.
25440        '''
25441        self.id = id if id is not None else ''
25442        '''
25443         Unique identifier of the Resource.
25444        '''
25445        self.name = name if name is not None else ''
25446        '''
25447         Unique human-readable name of the Resource.
25448        '''
25449        self.password = password if password is not None else ''
25450        '''
25451         The password to authenticate with.
25452        '''
25453        self.port = port if port is not None else 0
25454        '''
25455         The port to dial to initiate a connection from the egress node to this resource.
25456        '''
25457        self.port_override = port_override if port_override is not None else 0
25458        '''
25459         The local port used by clients to connect to this resource.
25460        '''
25461        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25462        '''
25463         ID of the proxy cluster for this resource, if any.
25464        '''
25465        self.require_native_auth = require_native_auth if require_native_auth is not None else False
25466        '''
25467         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
25468        '''
25469        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25470        '''
25471         ID of the secret store containing credentials for this resource, if any.
25472        '''
25473        self.subdomain = subdomain if subdomain is not None else ''
25474        '''
25475         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25476        '''
25477        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25478        '''
25479         Tags is a map of key, value pairs.
25480        '''
25481        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
25482        '''
25483         If true, appends the hostname to the username when hitting a database.azure.com address
25484        '''
25485        self.username = username if username is not None else ''
25486        '''
25487         The username to authenticate with.
25488        '''
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)
25511    def to_dict(self):
25512        return {
25513            'bind_interface': self.bind_interface,
25514            'database': self.database,
25515            'egress_filter': self.egress_filter,
25516            'healthy': self.healthy,
25517            'hostname': self.hostname,
25518            'id': self.id,
25519            'name': self.name,
25520            'password': self.password,
25521            'port': self.port,
25522            'port_override': self.port_override,
25523            'proxy_cluster_id': self.proxy_cluster_id,
25524            'require_native_auth': self.require_native_auth,
25525            'secret_store_id': self.secret_store_id,
25526            'subdomain': self.subdomain,
25527            'tags': self.tags,
25528            'use_azure_single_server_usernames':
25529            self.use_azure_single_server_usernames,
25530            'username': self.username,
25531        }
@classmethod
def from_dict(cls, d)
25533    @classmethod
25534    def from_dict(cls, d):
25535        return cls(
25536            bind_interface=d.get('bind_interface'),
25537            database=d.get('database'),
25538            egress_filter=d.get('egress_filter'),
25539            healthy=d.get('healthy'),
25540            hostname=d.get('hostname'),
25541            id=d.get('id'),
25542            name=d.get('name'),
25543            password=d.get('password'),
25544            port=d.get('port'),
25545            port_override=d.get('port_override'),
25546            proxy_cluster_id=d.get('proxy_cluster_id'),
25547            require_native_auth=d.get('require_native_auth'),
25548            secret_store_id=d.get('secret_store_id'),
25549            subdomain=d.get('subdomain'),
25550            tags=d.get('tags'),
25551            use_azure_single_server_usernames=d.get(
25552                'use_azure_single_server_usernames'),
25553            username=d.get('username'),
25554        )
class Snowflake:
25557class Snowflake:
25558    __slots__ = [
25559        'bind_interface',
25560        'database',
25561        'egress_filter',
25562        'healthy',
25563        'hostname',
25564        'id',
25565        'name',
25566        'password',
25567        'port_override',
25568        'proxy_cluster_id',
25569        'schema',
25570        'secret_store_id',
25571        'subdomain',
25572        'tags',
25573        'username',
25574    ]
25575
25576    def __init__(
25577        self,
25578        bind_interface=None,
25579        database=None,
25580        egress_filter=None,
25581        healthy=None,
25582        hostname=None,
25583        id=None,
25584        name=None,
25585        password=None,
25586        port_override=None,
25587        proxy_cluster_id=None,
25588        schema=None,
25589        secret_store_id=None,
25590        subdomain=None,
25591        tags=None,
25592        username=None,
25593    ):
25594        self.bind_interface = bind_interface if bind_interface is not None else ''
25595        '''
25596         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25597        '''
25598        self.database = database if database is not None else ''
25599        '''
25600         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
25601        '''
25602        self.egress_filter = egress_filter if egress_filter is not None else ''
25603        '''
25604         A filter applied to the routing logic to pin datasource to nodes.
25605        '''
25606        self.healthy = healthy if healthy is not None else False
25607        '''
25608         True if the datasource is reachable and the credentials are valid.
25609        '''
25610        self.hostname = hostname if hostname is not None else ''
25611        '''
25612         The host to dial to initiate a connection from the egress node to this resource.
25613        '''
25614        self.id = id if id is not None else ''
25615        '''
25616         Unique identifier of the Resource.
25617        '''
25618        self.name = name if name is not None else ''
25619        '''
25620         Unique human-readable name of the Resource.
25621        '''
25622        self.password = password if password is not None else ''
25623        '''
25624         The password to authenticate with.
25625        '''
25626        self.port_override = port_override if port_override is not None else 0
25627        '''
25628         The local port used by clients to connect to this resource.
25629        '''
25630        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25631        '''
25632         ID of the proxy cluster for this resource, if any.
25633        '''
25634        self.schema = schema if schema is not None else ''
25635        '''
25636         The schema to provide on authentication.
25637        '''
25638        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25639        '''
25640         ID of the secret store containing credentials for this resource, if any.
25641        '''
25642        self.subdomain = subdomain if subdomain is not None else ''
25643        '''
25644         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25645        '''
25646        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25647        '''
25648         Tags is a map of key, value pairs.
25649        '''
25650        self.username = username if username is not None else ''
25651        '''
25652         The username to authenticate with.
25653        '''
25654
25655    def __repr__(self):
25656        return '<sdm.Snowflake ' + \
25657            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25658            'database: ' + repr(self.database) + ' ' +\
25659            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25660            'healthy: ' + repr(self.healthy) + ' ' +\
25661            'hostname: ' + repr(self.hostname) + ' ' +\
25662            'id: ' + repr(self.id) + ' ' +\
25663            'name: ' + repr(self.name) + ' ' +\
25664            'password: ' + repr(self.password) + ' ' +\
25665            'port_override: ' + repr(self.port_override) + ' ' +\
25666            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25667            'schema: ' + repr(self.schema) + ' ' +\
25668            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25669            'subdomain: ' + repr(self.subdomain) + ' ' +\
25670            'tags: ' + repr(self.tags) + ' ' +\
25671            'username: ' + repr(self.username) + ' ' +\
25672            '>'
25673
25674    def to_dict(self):
25675        return {
25676            'bind_interface': self.bind_interface,
25677            'database': self.database,
25678            'egress_filter': self.egress_filter,
25679            'healthy': self.healthy,
25680            'hostname': self.hostname,
25681            'id': self.id,
25682            'name': self.name,
25683            'password': self.password,
25684            'port_override': self.port_override,
25685            'proxy_cluster_id': self.proxy_cluster_id,
25686            'schema': self.schema,
25687            'secret_store_id': self.secret_store_id,
25688            'subdomain': self.subdomain,
25689            'tags': self.tags,
25690            'username': self.username,
25691        }
25692
25693    @classmethod
25694    def from_dict(cls, d):
25695        return cls(
25696            bind_interface=d.get('bind_interface'),
25697            database=d.get('database'),
25698            egress_filter=d.get('egress_filter'),
25699            healthy=d.get('healthy'),
25700            hostname=d.get('hostname'),
25701            id=d.get('id'),
25702            name=d.get('name'),
25703            password=d.get('password'),
25704            port_override=d.get('port_override'),
25705            proxy_cluster_id=d.get('proxy_cluster_id'),
25706            schema=d.get('schema'),
25707            secret_store_id=d.get('secret_store_id'),
25708            subdomain=d.get('subdomain'),
25709            tags=d.get('tags'),
25710            username=d.get('username'),
25711        )
Snowflake( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, schema=None, secret_store_id=None, subdomain=None, tags=None, username=None)
25576    def __init__(
25577        self,
25578        bind_interface=None,
25579        database=None,
25580        egress_filter=None,
25581        healthy=None,
25582        hostname=None,
25583        id=None,
25584        name=None,
25585        password=None,
25586        port_override=None,
25587        proxy_cluster_id=None,
25588        schema=None,
25589        secret_store_id=None,
25590        subdomain=None,
25591        tags=None,
25592        username=None,
25593    ):
25594        self.bind_interface = bind_interface if bind_interface is not None else ''
25595        '''
25596         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25597        '''
25598        self.database = database if database is not None else ''
25599        '''
25600         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
25601        '''
25602        self.egress_filter = egress_filter if egress_filter is not None else ''
25603        '''
25604         A filter applied to the routing logic to pin datasource to nodes.
25605        '''
25606        self.healthy = healthy if healthy is not None else False
25607        '''
25608         True if the datasource is reachable and the credentials are valid.
25609        '''
25610        self.hostname = hostname if hostname is not None else ''
25611        '''
25612         The host to dial to initiate a connection from the egress node to this resource.
25613        '''
25614        self.id = id if id is not None else ''
25615        '''
25616         Unique identifier of the Resource.
25617        '''
25618        self.name = name if name is not None else ''
25619        '''
25620         Unique human-readable name of the Resource.
25621        '''
25622        self.password = password if password is not None else ''
25623        '''
25624         The password to authenticate with.
25625        '''
25626        self.port_override = port_override if port_override is not None else 0
25627        '''
25628         The local port used by clients to connect to this resource.
25629        '''
25630        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25631        '''
25632         ID of the proxy cluster for this resource, if any.
25633        '''
25634        self.schema = schema if schema is not None else ''
25635        '''
25636         The schema to provide on authentication.
25637        '''
25638        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25639        '''
25640         ID of the secret store containing credentials for this resource, if any.
25641        '''
25642        self.subdomain = subdomain if subdomain is not None else ''
25643        '''
25644         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25645        '''
25646        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25647        '''
25648         Tags is a map of key, value pairs.
25649        '''
25650        self.username = username if username is not None else ''
25651        '''
25652         The username to authenticate with.
25653        '''
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_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 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)
25674    def to_dict(self):
25675        return {
25676            'bind_interface': self.bind_interface,
25677            'database': self.database,
25678            'egress_filter': self.egress_filter,
25679            'healthy': self.healthy,
25680            'hostname': self.hostname,
25681            'id': self.id,
25682            'name': self.name,
25683            'password': self.password,
25684            'port_override': self.port_override,
25685            'proxy_cluster_id': self.proxy_cluster_id,
25686            'schema': self.schema,
25687            'secret_store_id': self.secret_store_id,
25688            'subdomain': self.subdomain,
25689            'tags': self.tags,
25690            'username': self.username,
25691        }
@classmethod
def from_dict(cls, d)
25693    @classmethod
25694    def from_dict(cls, d):
25695        return cls(
25696            bind_interface=d.get('bind_interface'),
25697            database=d.get('database'),
25698            egress_filter=d.get('egress_filter'),
25699            healthy=d.get('healthy'),
25700            hostname=d.get('hostname'),
25701            id=d.get('id'),
25702            name=d.get('name'),
25703            password=d.get('password'),
25704            port_override=d.get('port_override'),
25705            proxy_cluster_id=d.get('proxy_cluster_id'),
25706            schema=d.get('schema'),
25707            secret_store_id=d.get('secret_store_id'),
25708            subdomain=d.get('subdomain'),
25709            tags=d.get('tags'),
25710            username=d.get('username'),
25711        )
class Snowsight:
25714class Snowsight:
25715    __slots__ = [
25716        'bind_interface',
25717        'egress_filter',
25718        'healthcheck_username',
25719        'healthy',
25720        'id',
25721        'name',
25722        'port_override',
25723        'proxy_cluster_id',
25724        'samlmetadata',
25725        'secret_store_id',
25726        'subdomain',
25727        'tags',
25728    ]
25729
25730    def __init__(
25731        self,
25732        bind_interface=None,
25733        egress_filter=None,
25734        healthcheck_username=None,
25735        healthy=None,
25736        id=None,
25737        name=None,
25738        port_override=None,
25739        proxy_cluster_id=None,
25740        samlmetadata=None,
25741        secret_store_id=None,
25742        subdomain=None,
25743        tags=None,
25744    ):
25745        self.bind_interface = bind_interface if bind_interface is not None else ''
25746        '''
25747         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25748        '''
25749        self.egress_filter = egress_filter if egress_filter is not None else ''
25750        '''
25751         A filter applied to the routing logic to pin datasource to nodes.
25752        '''
25753        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
25754        '''
25755         The StrongDM user email to use for healthchecks.
25756        '''
25757        self.healthy = healthy if healthy is not None else False
25758        '''
25759         True if the datasource is reachable and the credentials are valid.
25760        '''
25761        self.id = id if id is not None else ''
25762        '''
25763         Unique identifier of the Resource.
25764        '''
25765        self.name = name if name is not None else ''
25766        '''
25767         Unique human-readable name of the Resource.
25768        '''
25769        self.port_override = port_override if port_override is not None else 0
25770        '''
25771         The local port used by clients to connect to this resource.
25772        '''
25773        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25774        '''
25775         ID of the proxy cluster for this resource, if any.
25776        '''
25777        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
25778        '''
25779         The Metadata for your snowflake IDP integration
25780        '''
25781        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25782        '''
25783         ID of the secret store containing credentials for this resource, if any.
25784        '''
25785        self.subdomain = subdomain if subdomain is not None else ''
25786        '''
25787         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25788        '''
25789        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25790        '''
25791         Tags is a map of key, value pairs.
25792        '''
25793
25794    def __repr__(self):
25795        return '<sdm.Snowsight ' + \
25796            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25797            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25798            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
25799            'healthy: ' + repr(self.healthy) + ' ' +\
25800            'id: ' + repr(self.id) + ' ' +\
25801            'name: ' + repr(self.name) + ' ' +\
25802            'port_override: ' + repr(self.port_override) + ' ' +\
25803            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25804            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
25805            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25806            'subdomain: ' + repr(self.subdomain) + ' ' +\
25807            'tags: ' + repr(self.tags) + ' ' +\
25808            '>'
25809
25810    def to_dict(self):
25811        return {
25812            'bind_interface': self.bind_interface,
25813            'egress_filter': self.egress_filter,
25814            'healthcheck_username': self.healthcheck_username,
25815            'healthy': self.healthy,
25816            'id': self.id,
25817            'name': self.name,
25818            'port_override': self.port_override,
25819            'proxy_cluster_id': self.proxy_cluster_id,
25820            'samlmetadata': self.samlmetadata,
25821            'secret_store_id': self.secret_store_id,
25822            'subdomain': self.subdomain,
25823            'tags': self.tags,
25824        }
25825
25826    @classmethod
25827    def from_dict(cls, d):
25828        return cls(
25829            bind_interface=d.get('bind_interface'),
25830            egress_filter=d.get('egress_filter'),
25831            healthcheck_username=d.get('healthcheck_username'),
25832            healthy=d.get('healthy'),
25833            id=d.get('id'),
25834            name=d.get('name'),
25835            port_override=d.get('port_override'),
25836            proxy_cluster_id=d.get('proxy_cluster_id'),
25837            samlmetadata=d.get('samlmetadata'),
25838            secret_store_id=d.get('secret_store_id'),
25839            subdomain=d.get('subdomain'),
25840            tags=d.get('tags'),
25841        )
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)
25730    def __init__(
25731        self,
25732        bind_interface=None,
25733        egress_filter=None,
25734        healthcheck_username=None,
25735        healthy=None,
25736        id=None,
25737        name=None,
25738        port_override=None,
25739        proxy_cluster_id=None,
25740        samlmetadata=None,
25741        secret_store_id=None,
25742        subdomain=None,
25743        tags=None,
25744    ):
25745        self.bind_interface = bind_interface if bind_interface is not None else ''
25746        '''
25747         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25748        '''
25749        self.egress_filter = egress_filter if egress_filter is not None else ''
25750        '''
25751         A filter applied to the routing logic to pin datasource to nodes.
25752        '''
25753        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
25754        '''
25755         The StrongDM user email to use for healthchecks.
25756        '''
25757        self.healthy = healthy if healthy is not None else False
25758        '''
25759         True if the datasource is reachable and the credentials are valid.
25760        '''
25761        self.id = id if id is not None else ''
25762        '''
25763         Unique identifier of the Resource.
25764        '''
25765        self.name = name if name is not None else ''
25766        '''
25767         Unique human-readable name of the Resource.
25768        '''
25769        self.port_override = port_override if port_override is not None else 0
25770        '''
25771         The local port used by clients to connect to this resource.
25772        '''
25773        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25774        '''
25775         ID of the proxy cluster for this resource, if any.
25776        '''
25777        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
25778        '''
25779         The Metadata for your snowflake IDP integration
25780        '''
25781        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25782        '''
25783         ID of the secret store containing credentials for this resource, if any.
25784        '''
25785        self.subdomain = subdomain if subdomain is not None else ''
25786        '''
25787         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25788        '''
25789        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25790        '''
25791         Tags is a map of key, value pairs.
25792        '''
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)
25810    def to_dict(self):
25811        return {
25812            'bind_interface': self.bind_interface,
25813            'egress_filter': self.egress_filter,
25814            'healthcheck_username': self.healthcheck_username,
25815            'healthy': self.healthy,
25816            'id': self.id,
25817            'name': self.name,
25818            'port_override': self.port_override,
25819            'proxy_cluster_id': self.proxy_cluster_id,
25820            'samlmetadata': self.samlmetadata,
25821            'secret_store_id': self.secret_store_id,
25822            'subdomain': self.subdomain,
25823            'tags': self.tags,
25824        }
@classmethod
def from_dict(cls, d)
25826    @classmethod
25827    def from_dict(cls, d):
25828        return cls(
25829            bind_interface=d.get('bind_interface'),
25830            egress_filter=d.get('egress_filter'),
25831            healthcheck_username=d.get('healthcheck_username'),
25832            healthy=d.get('healthy'),
25833            id=d.get('id'),
25834            name=d.get('name'),
25835            port_override=d.get('port_override'),
25836            proxy_cluster_id=d.get('proxy_cluster_id'),
25837            samlmetadata=d.get('samlmetadata'),
25838            secret_store_id=d.get('secret_store_id'),
25839            subdomain=d.get('subdomain'),
25840            tags=d.get('tags'),
25841        )
class Sybase:
25844class Sybase:
25845    __slots__ = [
25846        'bind_interface',
25847        'egress_filter',
25848        'healthy',
25849        'hostname',
25850        'id',
25851        'name',
25852        'password',
25853        'port',
25854        'port_override',
25855        'proxy_cluster_id',
25856        'secret_store_id',
25857        'subdomain',
25858        'tags',
25859        'username',
25860    ]
25861
25862    def __init__(
25863        self,
25864        bind_interface=None,
25865        egress_filter=None,
25866        healthy=None,
25867        hostname=None,
25868        id=None,
25869        name=None,
25870        password=None,
25871        port=None,
25872        port_override=None,
25873        proxy_cluster_id=None,
25874        secret_store_id=None,
25875        subdomain=None,
25876        tags=None,
25877        username=None,
25878    ):
25879        self.bind_interface = bind_interface if bind_interface is not None else ''
25880        '''
25881         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25882        '''
25883        self.egress_filter = egress_filter if egress_filter is not None else ''
25884        '''
25885         A filter applied to the routing logic to pin datasource to nodes.
25886        '''
25887        self.healthy = healthy if healthy is not None else False
25888        '''
25889         True if the datasource is reachable and the credentials are valid.
25890        '''
25891        self.hostname = hostname if hostname is not None else ''
25892        '''
25893         The host to dial to initiate a connection from the egress node to this resource.
25894        '''
25895        self.id = id if id is not None else ''
25896        '''
25897         Unique identifier of the Resource.
25898        '''
25899        self.name = name if name is not None else ''
25900        '''
25901         Unique human-readable name of the Resource.
25902        '''
25903        self.password = password if password is not None else ''
25904        '''
25905         The password to authenticate with.
25906        '''
25907        self.port = port if port is not None else 0
25908        '''
25909         The port to dial to initiate a connection from the egress node to this resource.
25910        '''
25911        self.port_override = port_override if port_override is not None else 0
25912        '''
25913         The local port used by clients to connect to this resource.
25914        '''
25915        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25916        '''
25917         ID of the proxy cluster for this resource, if any.
25918        '''
25919        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25920        '''
25921         ID of the secret store containing credentials for this resource, if any.
25922        '''
25923        self.subdomain = subdomain if subdomain is not None else ''
25924        '''
25925         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25926        '''
25927        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25928        '''
25929         Tags is a map of key, value pairs.
25930        '''
25931        self.username = username if username is not None else ''
25932        '''
25933         The username to authenticate with.
25934        '''
25935
25936    def __repr__(self):
25937        return '<sdm.Sybase ' + \
25938            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25939            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25940            'healthy: ' + repr(self.healthy) + ' ' +\
25941            'hostname: ' + repr(self.hostname) + ' ' +\
25942            'id: ' + repr(self.id) + ' ' +\
25943            'name: ' + repr(self.name) + ' ' +\
25944            'password: ' + repr(self.password) + ' ' +\
25945            'port: ' + repr(self.port) + ' ' +\
25946            'port_override: ' + repr(self.port_override) + ' ' +\
25947            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25948            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25949            'subdomain: ' + repr(self.subdomain) + ' ' +\
25950            'tags: ' + repr(self.tags) + ' ' +\
25951            'username: ' + repr(self.username) + ' ' +\
25952            '>'
25953
25954    def to_dict(self):
25955        return {
25956            'bind_interface': self.bind_interface,
25957            'egress_filter': self.egress_filter,
25958            'healthy': self.healthy,
25959            'hostname': self.hostname,
25960            'id': self.id,
25961            'name': self.name,
25962            'password': self.password,
25963            'port': self.port,
25964            'port_override': self.port_override,
25965            'proxy_cluster_id': self.proxy_cluster_id,
25966            'secret_store_id': self.secret_store_id,
25967            'subdomain': self.subdomain,
25968            'tags': self.tags,
25969            'username': self.username,
25970        }
25971
25972    @classmethod
25973    def from_dict(cls, d):
25974        return cls(
25975            bind_interface=d.get('bind_interface'),
25976            egress_filter=d.get('egress_filter'),
25977            healthy=d.get('healthy'),
25978            hostname=d.get('hostname'),
25979            id=d.get('id'),
25980            name=d.get('name'),
25981            password=d.get('password'),
25982            port=d.get('port'),
25983            port_override=d.get('port_override'),
25984            proxy_cluster_id=d.get('proxy_cluster_id'),
25985            secret_store_id=d.get('secret_store_id'),
25986            subdomain=d.get('subdomain'),
25987            tags=d.get('tags'),
25988            username=d.get('username'),
25989        )
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)
25862    def __init__(
25863        self,
25864        bind_interface=None,
25865        egress_filter=None,
25866        healthy=None,
25867        hostname=None,
25868        id=None,
25869        name=None,
25870        password=None,
25871        port=None,
25872        port_override=None,
25873        proxy_cluster_id=None,
25874        secret_store_id=None,
25875        subdomain=None,
25876        tags=None,
25877        username=None,
25878    ):
25879        self.bind_interface = bind_interface if bind_interface is not None else ''
25880        '''
25881         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25882        '''
25883        self.egress_filter = egress_filter if egress_filter is not None else ''
25884        '''
25885         A filter applied to the routing logic to pin datasource to nodes.
25886        '''
25887        self.healthy = healthy if healthy is not None else False
25888        '''
25889         True if the datasource is reachable and the credentials are valid.
25890        '''
25891        self.hostname = hostname if hostname is not None else ''
25892        '''
25893         The host to dial to initiate a connection from the egress node to this resource.
25894        '''
25895        self.id = id if id is not None else ''
25896        '''
25897         Unique identifier of the Resource.
25898        '''
25899        self.name = name if name is not None else ''
25900        '''
25901         Unique human-readable name of the Resource.
25902        '''
25903        self.password = password if password is not None else ''
25904        '''
25905         The password to authenticate with.
25906        '''
25907        self.port = port if port is not None else 0
25908        '''
25909         The port to dial to initiate a connection from the egress node to this resource.
25910        '''
25911        self.port_override = port_override if port_override is not None else 0
25912        '''
25913         The local port used by clients to connect to this resource.
25914        '''
25915        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25916        '''
25917         ID of the proxy cluster for this resource, if any.
25918        '''
25919        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25920        '''
25921         ID of the secret store containing credentials for this resource, if any.
25922        '''
25923        self.subdomain = subdomain if subdomain is not None else ''
25924        '''
25925         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
25926        '''
25927        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25928        '''
25929         Tags is a map of key, value pairs.
25930        '''
25931        self.username = username if username is not None else ''
25932        '''
25933         The username to authenticate with.
25934        '''
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)
25954    def to_dict(self):
25955        return {
25956            'bind_interface': self.bind_interface,
25957            'egress_filter': self.egress_filter,
25958            'healthy': self.healthy,
25959            'hostname': self.hostname,
25960            'id': self.id,
25961            'name': self.name,
25962            'password': self.password,
25963            'port': self.port,
25964            'port_override': self.port_override,
25965            'proxy_cluster_id': self.proxy_cluster_id,
25966            'secret_store_id': self.secret_store_id,
25967            'subdomain': self.subdomain,
25968            'tags': self.tags,
25969            'username': self.username,
25970        }
@classmethod
def from_dict(cls, d)
25972    @classmethod
25973    def from_dict(cls, d):
25974        return cls(
25975            bind_interface=d.get('bind_interface'),
25976            egress_filter=d.get('egress_filter'),
25977            healthy=d.get('healthy'),
25978            hostname=d.get('hostname'),
25979            id=d.get('id'),
25980            name=d.get('name'),
25981            password=d.get('password'),
25982            port=d.get('port'),
25983            port_override=d.get('port_override'),
25984            proxy_cluster_id=d.get('proxy_cluster_id'),
25985            secret_store_id=d.get('secret_store_id'),
25986            subdomain=d.get('subdomain'),
25987            tags=d.get('tags'),
25988            username=d.get('username'),
25989        )
class SybaseIQ:
25992class SybaseIQ:
25993    __slots__ = [
25994        'bind_interface',
25995        'egress_filter',
25996        'healthy',
25997        'hostname',
25998        'id',
25999        'name',
26000        'password',
26001        'port',
26002        'port_override',
26003        'proxy_cluster_id',
26004        'secret_store_id',
26005        'subdomain',
26006        'tags',
26007        'username',
26008    ]
26009
26010    def __init__(
26011        self,
26012        bind_interface=None,
26013        egress_filter=None,
26014        healthy=None,
26015        hostname=None,
26016        id=None,
26017        name=None,
26018        password=None,
26019        port=None,
26020        port_override=None,
26021        proxy_cluster_id=None,
26022        secret_store_id=None,
26023        subdomain=None,
26024        tags=None,
26025        username=None,
26026    ):
26027        self.bind_interface = bind_interface if bind_interface is not None else ''
26028        '''
26029         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26030        '''
26031        self.egress_filter = egress_filter if egress_filter is not None else ''
26032        '''
26033         A filter applied to the routing logic to pin datasource to nodes.
26034        '''
26035        self.healthy = healthy if healthy is not None else False
26036        '''
26037         True if the datasource is reachable and the credentials are valid.
26038        '''
26039        self.hostname = hostname if hostname is not None else ''
26040        '''
26041         The host to dial to initiate a connection from the egress node to this resource.
26042        '''
26043        self.id = id if id is not None else ''
26044        '''
26045         Unique identifier of the Resource.
26046        '''
26047        self.name = name if name is not None else ''
26048        '''
26049         Unique human-readable name of the Resource.
26050        '''
26051        self.password = password if password is not None else ''
26052        '''
26053         The password to authenticate with.
26054        '''
26055        self.port = port if port is not None else 0
26056        '''
26057         The port to dial to initiate a connection from the egress node to this resource.
26058        '''
26059        self.port_override = port_override if port_override is not None else 0
26060        '''
26061         The local port used by clients to connect to this resource.
26062        '''
26063        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26064        '''
26065         ID of the proxy cluster for this resource, if any.
26066        '''
26067        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26068        '''
26069         ID of the secret store containing credentials for this resource, if any.
26070        '''
26071        self.subdomain = subdomain if subdomain is not None else ''
26072        '''
26073         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26074        '''
26075        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26076        '''
26077         Tags is a map of key, value pairs.
26078        '''
26079        self.username = username if username is not None else ''
26080        '''
26081         The username to authenticate with.
26082        '''
26083
26084    def __repr__(self):
26085        return '<sdm.SybaseIQ ' + \
26086            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26087            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26088            'healthy: ' + repr(self.healthy) + ' ' +\
26089            'hostname: ' + repr(self.hostname) + ' ' +\
26090            'id: ' + repr(self.id) + ' ' +\
26091            'name: ' + repr(self.name) + ' ' +\
26092            'password: ' + repr(self.password) + ' ' +\
26093            'port: ' + repr(self.port) + ' ' +\
26094            'port_override: ' + repr(self.port_override) + ' ' +\
26095            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26096            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26097            'subdomain: ' + repr(self.subdomain) + ' ' +\
26098            'tags: ' + repr(self.tags) + ' ' +\
26099            'username: ' + repr(self.username) + ' ' +\
26100            '>'
26101
26102    def to_dict(self):
26103        return {
26104            'bind_interface': self.bind_interface,
26105            'egress_filter': self.egress_filter,
26106            'healthy': self.healthy,
26107            'hostname': self.hostname,
26108            'id': self.id,
26109            'name': self.name,
26110            'password': self.password,
26111            'port': self.port,
26112            'port_override': self.port_override,
26113            'proxy_cluster_id': self.proxy_cluster_id,
26114            'secret_store_id': self.secret_store_id,
26115            'subdomain': self.subdomain,
26116            'tags': self.tags,
26117            'username': self.username,
26118        }
26119
26120    @classmethod
26121    def from_dict(cls, d):
26122        return cls(
26123            bind_interface=d.get('bind_interface'),
26124            egress_filter=d.get('egress_filter'),
26125            healthy=d.get('healthy'),
26126            hostname=d.get('hostname'),
26127            id=d.get('id'),
26128            name=d.get('name'),
26129            password=d.get('password'),
26130            port=d.get('port'),
26131            port_override=d.get('port_override'),
26132            proxy_cluster_id=d.get('proxy_cluster_id'),
26133            secret_store_id=d.get('secret_store_id'),
26134            subdomain=d.get('subdomain'),
26135            tags=d.get('tags'),
26136            username=d.get('username'),
26137        )
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)
26010    def __init__(
26011        self,
26012        bind_interface=None,
26013        egress_filter=None,
26014        healthy=None,
26015        hostname=None,
26016        id=None,
26017        name=None,
26018        password=None,
26019        port=None,
26020        port_override=None,
26021        proxy_cluster_id=None,
26022        secret_store_id=None,
26023        subdomain=None,
26024        tags=None,
26025        username=None,
26026    ):
26027        self.bind_interface = bind_interface if bind_interface is not None else ''
26028        '''
26029         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26030        '''
26031        self.egress_filter = egress_filter if egress_filter is not None else ''
26032        '''
26033         A filter applied to the routing logic to pin datasource to nodes.
26034        '''
26035        self.healthy = healthy if healthy is not None else False
26036        '''
26037         True if the datasource is reachable and the credentials are valid.
26038        '''
26039        self.hostname = hostname if hostname is not None else ''
26040        '''
26041         The host to dial to initiate a connection from the egress node to this resource.
26042        '''
26043        self.id = id if id is not None else ''
26044        '''
26045         Unique identifier of the Resource.
26046        '''
26047        self.name = name if name is not None else ''
26048        '''
26049         Unique human-readable name of the Resource.
26050        '''
26051        self.password = password if password is not None else ''
26052        '''
26053         The password to authenticate with.
26054        '''
26055        self.port = port if port is not None else 0
26056        '''
26057         The port to dial to initiate a connection from the egress node to this resource.
26058        '''
26059        self.port_override = port_override if port_override is not None else 0
26060        '''
26061         The local port used by clients to connect to this resource.
26062        '''
26063        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26064        '''
26065         ID of the proxy cluster for this resource, if any.
26066        '''
26067        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26068        '''
26069         ID of the secret store containing credentials for this resource, if any.
26070        '''
26071        self.subdomain = subdomain if subdomain is not None else ''
26072        '''
26073         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26074        '''
26075        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26076        '''
26077         Tags is a map of key, value pairs.
26078        '''
26079        self.username = username if username is not None else ''
26080        '''
26081         The username to authenticate with.
26082        '''
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)
26102    def to_dict(self):
26103        return {
26104            'bind_interface': self.bind_interface,
26105            'egress_filter': self.egress_filter,
26106            'healthy': self.healthy,
26107            'hostname': self.hostname,
26108            'id': self.id,
26109            'name': self.name,
26110            'password': self.password,
26111            'port': self.port,
26112            'port_override': self.port_override,
26113            'proxy_cluster_id': self.proxy_cluster_id,
26114            'secret_store_id': self.secret_store_id,
26115            'subdomain': self.subdomain,
26116            'tags': self.tags,
26117            'username': self.username,
26118        }
@classmethod
def from_dict(cls, d)
26120    @classmethod
26121    def from_dict(cls, d):
26122        return cls(
26123            bind_interface=d.get('bind_interface'),
26124            egress_filter=d.get('egress_filter'),
26125            healthy=d.get('healthy'),
26126            hostname=d.get('hostname'),
26127            id=d.get('id'),
26128            name=d.get('name'),
26129            password=d.get('password'),
26130            port=d.get('port'),
26131            port_override=d.get('port_override'),
26132            proxy_cluster_id=d.get('proxy_cluster_id'),
26133            secret_store_id=d.get('secret_store_id'),
26134            subdomain=d.get('subdomain'),
26135            tags=d.get('tags'),
26136            username=d.get('username'),
26137        )
class Tag:
26140class Tag:
26141    __slots__ = [
26142        'name',
26143        'value',
26144    ]
26145
26146    def __init__(
26147        self,
26148        name=None,
26149        value=None,
26150    ):
26151        self.name = name if name is not None else ''
26152        '''
26153         The name or key of this tag. Each name can only refer to one value on a tagged entity.
26154        '''
26155        self.value = value if value is not None else ''
26156        '''
26157         The value of this tag.
26158        '''
26159
26160    def __repr__(self):
26161        return '<sdm.Tag ' + \
26162            'name: ' + repr(self.name) + ' ' +\
26163            'value: ' + repr(self.value) + ' ' +\
26164            '>'
26165
26166    def to_dict(self):
26167        return {
26168            'name': self.name,
26169            'value': self.value,
26170        }
26171
26172    @classmethod
26173    def from_dict(cls, d):
26174        return cls(
26175            name=d.get('name'),
26176            value=d.get('value'),
26177        )
Tag(name=None, value=None)
26146    def __init__(
26147        self,
26148        name=None,
26149        value=None,
26150    ):
26151        self.name = name if name is not None else ''
26152        '''
26153         The name or key of this tag. Each name can only refer to one value on a tagged entity.
26154        '''
26155        self.value = value if value is not None else ''
26156        '''
26157         The value of this tag.
26158        '''
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)
26166    def to_dict(self):
26167        return {
26168            'name': self.name,
26169            'value': self.value,
26170        }
@classmethod
def from_dict(cls, d)
26172    @classmethod
26173    def from_dict(cls, d):
26174        return cls(
26175            name=d.get('name'),
26176            value=d.get('value'),
26177        )
class Teradata:
26180class Teradata:
26181    __slots__ = [
26182        'bind_interface',
26183        'egress_filter',
26184        'healthy',
26185        'hostname',
26186        'id',
26187        'name',
26188        'password',
26189        'port',
26190        'port_override',
26191        'proxy_cluster_id',
26192        'secret_store_id',
26193        'subdomain',
26194        'tags',
26195        'username',
26196    ]
26197
26198    def __init__(
26199        self,
26200        bind_interface=None,
26201        egress_filter=None,
26202        healthy=None,
26203        hostname=None,
26204        id=None,
26205        name=None,
26206        password=None,
26207        port=None,
26208        port_override=None,
26209        proxy_cluster_id=None,
26210        secret_store_id=None,
26211        subdomain=None,
26212        tags=None,
26213        username=None,
26214    ):
26215        self.bind_interface = bind_interface if bind_interface is not None else ''
26216        '''
26217         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26218        '''
26219        self.egress_filter = egress_filter if egress_filter is not None else ''
26220        '''
26221         A filter applied to the routing logic to pin datasource to nodes.
26222        '''
26223        self.healthy = healthy if healthy is not None else False
26224        '''
26225         True if the datasource is reachable and the credentials are valid.
26226        '''
26227        self.hostname = hostname if hostname is not None else ''
26228        '''
26229         The host to dial to initiate a connection from the egress node to this resource.
26230        '''
26231        self.id = id if id is not None else ''
26232        '''
26233         Unique identifier of the Resource.
26234        '''
26235        self.name = name if name is not None else ''
26236        '''
26237         Unique human-readable name of the Resource.
26238        '''
26239        self.password = password if password is not None else ''
26240        '''
26241         The password to authenticate with.
26242        '''
26243        self.port = port if port is not None else 0
26244        '''
26245         The port to dial to initiate a connection from the egress node to this resource.
26246        '''
26247        self.port_override = port_override if port_override is not None else 0
26248        '''
26249         The local port used by clients to connect to this resource.
26250        '''
26251        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26252        '''
26253         ID of the proxy cluster for this resource, if any.
26254        '''
26255        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26256        '''
26257         ID of the secret store containing credentials for this resource, if any.
26258        '''
26259        self.subdomain = subdomain if subdomain is not None else ''
26260        '''
26261         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26262        '''
26263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26264        '''
26265         Tags is a map of key, value pairs.
26266        '''
26267        self.username = username if username is not None else ''
26268        '''
26269         The username to authenticate with.
26270        '''
26271
26272    def __repr__(self):
26273        return '<sdm.Teradata ' + \
26274            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26275            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26276            'healthy: ' + repr(self.healthy) + ' ' +\
26277            'hostname: ' + repr(self.hostname) + ' ' +\
26278            'id: ' + repr(self.id) + ' ' +\
26279            'name: ' + repr(self.name) + ' ' +\
26280            'password: ' + repr(self.password) + ' ' +\
26281            'port: ' + repr(self.port) + ' ' +\
26282            'port_override: ' + repr(self.port_override) + ' ' +\
26283            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26284            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26285            'subdomain: ' + repr(self.subdomain) + ' ' +\
26286            'tags: ' + repr(self.tags) + ' ' +\
26287            'username: ' + repr(self.username) + ' ' +\
26288            '>'
26289
26290    def to_dict(self):
26291        return {
26292            'bind_interface': self.bind_interface,
26293            'egress_filter': self.egress_filter,
26294            'healthy': self.healthy,
26295            'hostname': self.hostname,
26296            'id': self.id,
26297            'name': self.name,
26298            'password': self.password,
26299            'port': self.port,
26300            'port_override': self.port_override,
26301            'proxy_cluster_id': self.proxy_cluster_id,
26302            'secret_store_id': self.secret_store_id,
26303            'subdomain': self.subdomain,
26304            'tags': self.tags,
26305            'username': self.username,
26306        }
26307
26308    @classmethod
26309    def from_dict(cls, d):
26310        return cls(
26311            bind_interface=d.get('bind_interface'),
26312            egress_filter=d.get('egress_filter'),
26313            healthy=d.get('healthy'),
26314            hostname=d.get('hostname'),
26315            id=d.get('id'),
26316            name=d.get('name'),
26317            password=d.get('password'),
26318            port=d.get('port'),
26319            port_override=d.get('port_override'),
26320            proxy_cluster_id=d.get('proxy_cluster_id'),
26321            secret_store_id=d.get('secret_store_id'),
26322            subdomain=d.get('subdomain'),
26323            tags=d.get('tags'),
26324            username=d.get('username'),
26325        )
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)
26198    def __init__(
26199        self,
26200        bind_interface=None,
26201        egress_filter=None,
26202        healthy=None,
26203        hostname=None,
26204        id=None,
26205        name=None,
26206        password=None,
26207        port=None,
26208        port_override=None,
26209        proxy_cluster_id=None,
26210        secret_store_id=None,
26211        subdomain=None,
26212        tags=None,
26213        username=None,
26214    ):
26215        self.bind_interface = bind_interface if bind_interface is not None else ''
26216        '''
26217         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26218        '''
26219        self.egress_filter = egress_filter if egress_filter is not None else ''
26220        '''
26221         A filter applied to the routing logic to pin datasource to nodes.
26222        '''
26223        self.healthy = healthy if healthy is not None else False
26224        '''
26225         True if the datasource is reachable and the credentials are valid.
26226        '''
26227        self.hostname = hostname if hostname is not None else ''
26228        '''
26229         The host to dial to initiate a connection from the egress node to this resource.
26230        '''
26231        self.id = id if id is not None else ''
26232        '''
26233         Unique identifier of the Resource.
26234        '''
26235        self.name = name if name is not None else ''
26236        '''
26237         Unique human-readable name of the Resource.
26238        '''
26239        self.password = password if password is not None else ''
26240        '''
26241         The password to authenticate with.
26242        '''
26243        self.port = port if port is not None else 0
26244        '''
26245         The port to dial to initiate a connection from the egress node to this resource.
26246        '''
26247        self.port_override = port_override if port_override is not None else 0
26248        '''
26249         The local port used by clients to connect to this resource.
26250        '''
26251        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26252        '''
26253         ID of the proxy cluster for this resource, if any.
26254        '''
26255        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26256        '''
26257         ID of the secret store containing credentials for this resource, if any.
26258        '''
26259        self.subdomain = subdomain if subdomain is not None else ''
26260        '''
26261         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26262        '''
26263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26264        '''
26265         Tags is a map of key, value pairs.
26266        '''
26267        self.username = username if username is not None else ''
26268        '''
26269         The username to authenticate with.
26270        '''
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)
26290    def to_dict(self):
26291        return {
26292            'bind_interface': self.bind_interface,
26293            'egress_filter': self.egress_filter,
26294            'healthy': self.healthy,
26295            'hostname': self.hostname,
26296            'id': self.id,
26297            'name': self.name,
26298            'password': self.password,
26299            'port': self.port,
26300            'port_override': self.port_override,
26301            'proxy_cluster_id': self.proxy_cluster_id,
26302            'secret_store_id': self.secret_store_id,
26303            'subdomain': self.subdomain,
26304            'tags': self.tags,
26305            'username': self.username,
26306        }
@classmethod
def from_dict(cls, d)
26308    @classmethod
26309    def from_dict(cls, d):
26310        return cls(
26311            bind_interface=d.get('bind_interface'),
26312            egress_filter=d.get('egress_filter'),
26313            healthy=d.get('healthy'),
26314            hostname=d.get('hostname'),
26315            id=d.get('id'),
26316            name=d.get('name'),
26317            password=d.get('password'),
26318            port=d.get('port'),
26319            port_override=d.get('port_override'),
26320            proxy_cluster_id=d.get('proxy_cluster_id'),
26321            secret_store_id=d.get('secret_store_id'),
26322            subdomain=d.get('subdomain'),
26323            tags=d.get('tags'),
26324            username=d.get('username'),
26325        )
class Token:
26328class Token:
26329    '''
26330         A Token is an account providing tokenized access for automation or integration use.
26331     Tokens include admin tokens, API keys, and SCIM tokens.
26332    '''
26333    __slots__ = [
26334        'account_type',
26335        'deadline',
26336        'duration',
26337        'id',
26338        'name',
26339        'permissions',
26340        'rekeyed',
26341        'suspended',
26342        'tags',
26343    ]
26344
26345    def __init__(
26346        self,
26347        account_type=None,
26348        deadline=None,
26349        duration=None,
26350        id=None,
26351        name=None,
26352        permissions=None,
26353        rekeyed=None,
26354        suspended=None,
26355        tags=None,
26356    ):
26357        self.account_type = account_type if account_type is not None else ''
26358        '''
26359         Corresponds to the type of token, e.g. api or admin-token.
26360        '''
26361        self.deadline = deadline if deadline is not None else None
26362        '''
26363         The timestamp when the Token will expire.
26364        '''
26365        self.duration = duration if duration is not None else None
26366        '''
26367         Duration from token creation to expiration.
26368        '''
26369        self.id = id if id is not None else ''
26370        '''
26371         Unique identifier of the Token.
26372        '''
26373        self.name = name if name is not None else ''
26374        '''
26375         Unique human-readable name of the Token.
26376        '''
26377        self.permissions = permissions if permissions is not None else []
26378        '''
26379         Permissions assigned to the token, e.g. role:create.
26380        '''
26381        self.rekeyed = rekeyed if rekeyed is not None else None
26382        '''
26383         The timestamp when the Token was last rekeyed.
26384        '''
26385        self.suspended = suspended if suspended is not None else False
26386        '''
26387         Reserved for future use.  Always false for tokens.
26388        '''
26389        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26390        '''
26391         Tags is a map of key, value pairs.
26392        '''
26393
26394    def __repr__(self):
26395        return '<sdm.Token ' + \
26396            'account_type: ' + repr(self.account_type) + ' ' +\
26397            'deadline: ' + repr(self.deadline) + ' ' +\
26398            'duration: ' + repr(self.duration) + ' ' +\
26399            'id: ' + repr(self.id) + ' ' +\
26400            'name: ' + repr(self.name) + ' ' +\
26401            'permissions: ' + repr(self.permissions) + ' ' +\
26402            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
26403            'suspended: ' + repr(self.suspended) + ' ' +\
26404            'tags: ' + repr(self.tags) + ' ' +\
26405            '>'
26406
26407    def to_dict(self):
26408        return {
26409            'account_type': self.account_type,
26410            'deadline': self.deadline,
26411            'duration': self.duration,
26412            'id': self.id,
26413            'name': self.name,
26414            'permissions': self.permissions,
26415            'rekeyed': self.rekeyed,
26416            'suspended': self.suspended,
26417            'tags': self.tags,
26418        }
26419
26420    @classmethod
26421    def from_dict(cls, d):
26422        return cls(
26423            account_type=d.get('account_type'),
26424            deadline=d.get('deadline'),
26425            duration=d.get('duration'),
26426            id=d.get('id'),
26427            name=d.get('name'),
26428            permissions=d.get('permissions'),
26429            rekeyed=d.get('rekeyed'),
26430            suspended=d.get('suspended'),
26431            tags=d.get('tags'),
26432        )

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)
26345    def __init__(
26346        self,
26347        account_type=None,
26348        deadline=None,
26349        duration=None,
26350        id=None,
26351        name=None,
26352        permissions=None,
26353        rekeyed=None,
26354        suspended=None,
26355        tags=None,
26356    ):
26357        self.account_type = account_type if account_type is not None else ''
26358        '''
26359         Corresponds to the type of token, e.g. api or admin-token.
26360        '''
26361        self.deadline = deadline if deadline is not None else None
26362        '''
26363         The timestamp when the Token will expire.
26364        '''
26365        self.duration = duration if duration is not None else None
26366        '''
26367         Duration from token creation to expiration.
26368        '''
26369        self.id = id if id is not None else ''
26370        '''
26371         Unique identifier of the Token.
26372        '''
26373        self.name = name if name is not None else ''
26374        '''
26375         Unique human-readable name of the Token.
26376        '''
26377        self.permissions = permissions if permissions is not None else []
26378        '''
26379         Permissions assigned to the token, e.g. role:create.
26380        '''
26381        self.rekeyed = rekeyed if rekeyed is not None else None
26382        '''
26383         The timestamp when the Token was last rekeyed.
26384        '''
26385        self.suspended = suspended if suspended is not None else False
26386        '''
26387         Reserved for future use.  Always false for tokens.
26388        '''
26389        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26390        '''
26391         Tags is a map of key, value pairs.
26392        '''
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)
26407    def to_dict(self):
26408        return {
26409            'account_type': self.account_type,
26410            'deadline': self.deadline,
26411            'duration': self.duration,
26412            'id': self.id,
26413            'name': self.name,
26414            'permissions': self.permissions,
26415            'rekeyed': self.rekeyed,
26416            'suspended': self.suspended,
26417            'tags': self.tags,
26418        }
@classmethod
def from_dict(cls, d)
26420    @classmethod
26421    def from_dict(cls, d):
26422        return cls(
26423            account_type=d.get('account_type'),
26424            deadline=d.get('deadline'),
26425            duration=d.get('duration'),
26426            id=d.get('id'),
26427            name=d.get('name'),
26428            permissions=d.get('permissions'),
26429            rekeyed=d.get('rekeyed'),
26430            suspended=d.get('suspended'),
26431            tags=d.get('tags'),
26432        )
class Trino:
26435class Trino:
26436    '''
26437    Trino is currently unstable, and its API may change, or it may be removed,
26438    without a major version bump.
26439    '''
26440    __slots__ = [
26441        'bind_interface',
26442        'database',
26443        'egress_filter',
26444        'healthy',
26445        'hostname',
26446        'id',
26447        'name',
26448        'password',
26449        'port',
26450        'port_override',
26451        'proxy_cluster_id',
26452        'secret_store_id',
26453        'subdomain',
26454        'tags',
26455        'username',
26456    ]
26457
26458    def __init__(
26459        self,
26460        bind_interface=None,
26461        database=None,
26462        egress_filter=None,
26463        healthy=None,
26464        hostname=None,
26465        id=None,
26466        name=None,
26467        password=None,
26468        port=None,
26469        port_override=None,
26470        proxy_cluster_id=None,
26471        secret_store_id=None,
26472        subdomain=None,
26473        tags=None,
26474        username=None,
26475    ):
26476        self.bind_interface = bind_interface if bind_interface is not None else ''
26477        '''
26478         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26479        '''
26480        self.database = database if database is not None else ''
26481        '''
26482         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26483        '''
26484        self.egress_filter = egress_filter if egress_filter is not None else ''
26485        '''
26486         A filter applied to the routing logic to pin datasource to nodes.
26487        '''
26488        self.healthy = healthy if healthy is not None else False
26489        '''
26490         True if the datasource is reachable and the credentials are valid.
26491        '''
26492        self.hostname = hostname if hostname is not None else ''
26493        '''
26494         The host to dial to initiate a connection from the egress node to this resource.
26495        '''
26496        self.id = id if id is not None else ''
26497        '''
26498         Unique identifier of the Resource.
26499        '''
26500        self.name = name if name is not None else ''
26501        '''
26502         Unique human-readable name of the Resource.
26503        '''
26504        self.password = password if password is not None else ''
26505        '''
26506         The password to authenticate with.
26507        '''
26508        self.port = port if port is not None else 0
26509        '''
26510         The port to dial to initiate a connection from the egress node to this resource.
26511        '''
26512        self.port_override = port_override if port_override is not None else 0
26513        '''
26514         The local port used by clients to connect to this resource.
26515        '''
26516        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26517        '''
26518         ID of the proxy cluster for this resource, if any.
26519        '''
26520        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26521        '''
26522         ID of the secret store containing credentials for this resource, if any.
26523        '''
26524        self.subdomain = subdomain if subdomain is not None else ''
26525        '''
26526         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26527        '''
26528        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26529        '''
26530         Tags is a map of key, value pairs.
26531        '''
26532        self.username = username if username is not None else ''
26533        '''
26534         The username to authenticate with.
26535        '''
26536
26537    def __repr__(self):
26538        return '<sdm.Trino ' + \
26539            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26540            'database: ' + repr(self.database) + ' ' +\
26541            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26542            'healthy: ' + repr(self.healthy) + ' ' +\
26543            'hostname: ' + repr(self.hostname) + ' ' +\
26544            'id: ' + repr(self.id) + ' ' +\
26545            'name: ' + repr(self.name) + ' ' +\
26546            'password: ' + repr(self.password) + ' ' +\
26547            'port: ' + repr(self.port) + ' ' +\
26548            'port_override: ' + repr(self.port_override) + ' ' +\
26549            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26550            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26551            'subdomain: ' + repr(self.subdomain) + ' ' +\
26552            'tags: ' + repr(self.tags) + ' ' +\
26553            'username: ' + repr(self.username) + ' ' +\
26554            '>'
26555
26556    def to_dict(self):
26557        return {
26558            'bind_interface': self.bind_interface,
26559            'database': self.database,
26560            'egress_filter': self.egress_filter,
26561            'healthy': self.healthy,
26562            'hostname': self.hostname,
26563            'id': self.id,
26564            'name': self.name,
26565            'password': self.password,
26566            'port': self.port,
26567            'port_override': self.port_override,
26568            'proxy_cluster_id': self.proxy_cluster_id,
26569            'secret_store_id': self.secret_store_id,
26570            'subdomain': self.subdomain,
26571            'tags': self.tags,
26572            'username': self.username,
26573        }
26574
26575    @classmethod
26576    def from_dict(cls, d):
26577        return cls(
26578            bind_interface=d.get('bind_interface'),
26579            database=d.get('database'),
26580            egress_filter=d.get('egress_filter'),
26581            healthy=d.get('healthy'),
26582            hostname=d.get('hostname'),
26583            id=d.get('id'),
26584            name=d.get('name'),
26585            password=d.get('password'),
26586            port=d.get('port'),
26587            port_override=d.get('port_override'),
26588            proxy_cluster_id=d.get('proxy_cluster_id'),
26589            secret_store_id=d.get('secret_store_id'),
26590            subdomain=d.get('subdomain'),
26591            tags=d.get('tags'),
26592            username=d.get('username'),
26593        )

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

Trino( 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)
26458    def __init__(
26459        self,
26460        bind_interface=None,
26461        database=None,
26462        egress_filter=None,
26463        healthy=None,
26464        hostname=None,
26465        id=None,
26466        name=None,
26467        password=None,
26468        port=None,
26469        port_override=None,
26470        proxy_cluster_id=None,
26471        secret_store_id=None,
26472        subdomain=None,
26473        tags=None,
26474        username=None,
26475    ):
26476        self.bind_interface = bind_interface if bind_interface is not None else ''
26477        '''
26478         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26479        '''
26480        self.database = database if database is not None else ''
26481        '''
26482         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26483        '''
26484        self.egress_filter = egress_filter if egress_filter is not None else ''
26485        '''
26486         A filter applied to the routing logic to pin datasource to nodes.
26487        '''
26488        self.healthy = healthy if healthy is not None else False
26489        '''
26490         True if the datasource is reachable and the credentials are valid.
26491        '''
26492        self.hostname = hostname if hostname is not None else ''
26493        '''
26494         The host to dial to initiate a connection from the egress node to this resource.
26495        '''
26496        self.id = id if id is not None else ''
26497        '''
26498         Unique identifier of the Resource.
26499        '''
26500        self.name = name if name is not None else ''
26501        '''
26502         Unique human-readable name of the Resource.
26503        '''
26504        self.password = password if password is not None else ''
26505        '''
26506         The password to authenticate with.
26507        '''
26508        self.port = port if port is not None else 0
26509        '''
26510         The port to dial to initiate a connection from the egress node to this resource.
26511        '''
26512        self.port_override = port_override if port_override is not None else 0
26513        '''
26514         The local port used by clients to connect to this resource.
26515        '''
26516        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26517        '''
26518         ID of the proxy cluster for this resource, if any.
26519        '''
26520        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26521        '''
26522         ID of the secret store containing credentials for this resource, if any.
26523        '''
26524        self.subdomain = subdomain if subdomain is not None else ''
26525        '''
26526         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26527        '''
26528        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26529        '''
26530         Tags is a map of key, value pairs.
26531        '''
26532        self.username = username if username is not None else ''
26533        '''
26534         The username to authenticate with.
26535        '''
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)
26556    def to_dict(self):
26557        return {
26558            'bind_interface': self.bind_interface,
26559            'database': self.database,
26560            'egress_filter': self.egress_filter,
26561            'healthy': self.healthy,
26562            'hostname': self.hostname,
26563            'id': self.id,
26564            'name': self.name,
26565            'password': self.password,
26566            'port': self.port,
26567            'port_override': self.port_override,
26568            'proxy_cluster_id': self.proxy_cluster_id,
26569            'secret_store_id': self.secret_store_id,
26570            'subdomain': self.subdomain,
26571            'tags': self.tags,
26572            'username': self.username,
26573        }
@classmethod
def from_dict(cls, d)
26575    @classmethod
26576    def from_dict(cls, d):
26577        return cls(
26578            bind_interface=d.get('bind_interface'),
26579            database=d.get('database'),
26580            egress_filter=d.get('egress_filter'),
26581            healthy=d.get('healthy'),
26582            hostname=d.get('hostname'),
26583            id=d.get('id'),
26584            name=d.get('name'),
26585            password=d.get('password'),
26586            port=d.get('port'),
26587            port_override=d.get('port_override'),
26588            proxy_cluster_id=d.get('proxy_cluster_id'),
26589            secret_store_id=d.get('secret_store_id'),
26590            subdomain=d.get('subdomain'),
26591            tags=d.get('tags'),
26592            username=d.get('username'),
26593        )
class UpdateResponseMetadata:
26596class UpdateResponseMetadata:
26597    '''
26598         UpdateResponseMetadata is reserved for future use.
26599    '''
26600    __slots__ = []
26601
26602    def __init__(self, ):
26603        pass
26604
26605    def __repr__(self):
26606        return '<sdm.UpdateResponseMetadata ' + \
26607            '>'
26608
26609    def to_dict(self):
26610        return {}
26611
26612    @classmethod
26613    def from_dict(cls, d):
26614        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
26602    def __init__(self, ):
26603        pass
def to_dict(self)
26609    def to_dict(self):
26610        return {}
@classmethod
def from_dict(cls, d)
26612    @classmethod
26613    def from_dict(cls, d):
26614        return cls()
class User:
26617class User:
26618    '''
26619         A User can connect to resources they are granted directly, or granted
26620     via roles.
26621    '''
26622    __slots__ = [
26623        'email',
26624        'external_id',
26625        'first_name',
26626        'id',
26627        'last_name',
26628        'managed_by',
26629        'password',
26630        'permission_level',
26631        'suspended',
26632        'tags',
26633    ]
26634
26635    def __init__(
26636        self,
26637        email=None,
26638        external_id=None,
26639        first_name=None,
26640        id=None,
26641        last_name=None,
26642        managed_by=None,
26643        password=None,
26644        permission_level=None,
26645        suspended=None,
26646        tags=None,
26647    ):
26648        self.email = email if email is not None else ''
26649        '''
26650         The User's email address. Must be unique.
26651        '''
26652        self.external_id = external_id if external_id is not None else ''
26653        '''
26654         External ID is an alternative unique ID this user is represented by within an external service.
26655        '''
26656        self.first_name = first_name if first_name is not None else ''
26657        '''
26658         The User's first name.
26659        '''
26660        self.id = id if id is not None else ''
26661        '''
26662         Unique identifier of the User.
26663        '''
26664        self.last_name = last_name if last_name is not None else ''
26665        '''
26666         The User's last name.
26667        '''
26668        self.managed_by = managed_by if managed_by is not None else ''
26669        '''
26670         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
26671        '''
26672        self.password = password if password is not None else ''
26673        '''
26674         Password is a write-only field that can be used to set the user's password.
26675         Currently only supported for update.
26676        '''
26677        self.permission_level = permission_level if permission_level is not None else ''
26678        '''
26679         PermissionLevel is the user's permission level e.g. admin, DBA, user.
26680        '''
26681        self.suspended = suspended if suspended is not None else False
26682        '''
26683         Suspended is a read only field for the User's suspended state.
26684        '''
26685        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26686        '''
26687         Tags is a map of key, value pairs.
26688        '''
26689
26690    def __repr__(self):
26691        return '<sdm.User ' + \
26692            'email: ' + repr(self.email) + ' ' +\
26693            'external_id: ' + repr(self.external_id) + ' ' +\
26694            'first_name: ' + repr(self.first_name) + ' ' +\
26695            'id: ' + repr(self.id) + ' ' +\
26696            'last_name: ' + repr(self.last_name) + ' ' +\
26697            'managed_by: ' + repr(self.managed_by) + ' ' +\
26698            'password: ' + repr(self.password) + ' ' +\
26699            'permission_level: ' + repr(self.permission_level) + ' ' +\
26700            'suspended: ' + repr(self.suspended) + ' ' +\
26701            'tags: ' + repr(self.tags) + ' ' +\
26702            '>'
26703
26704    def to_dict(self):
26705        return {
26706            'email': self.email,
26707            'external_id': self.external_id,
26708            'first_name': self.first_name,
26709            'id': self.id,
26710            'last_name': self.last_name,
26711            'managed_by': self.managed_by,
26712            'password': self.password,
26713            'permission_level': self.permission_level,
26714            'suspended': self.suspended,
26715            'tags': self.tags,
26716        }
26717
26718    @classmethod
26719    def from_dict(cls, d):
26720        return cls(
26721            email=d.get('email'),
26722            external_id=d.get('external_id'),
26723            first_name=d.get('first_name'),
26724            id=d.get('id'),
26725            last_name=d.get('last_name'),
26726            managed_by=d.get('managed_by'),
26727            password=d.get('password'),
26728            permission_level=d.get('permission_level'),
26729            suspended=d.get('suspended'),
26730            tags=d.get('tags'),
26731        )

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

User( email=None, external_id=None, first_name=None, id=None, last_name=None, managed_by=None, password=None, permission_level=None, suspended=None, tags=None)
26635    def __init__(
26636        self,
26637        email=None,
26638        external_id=None,
26639        first_name=None,
26640        id=None,
26641        last_name=None,
26642        managed_by=None,
26643        password=None,
26644        permission_level=None,
26645        suspended=None,
26646        tags=None,
26647    ):
26648        self.email = email if email is not None else ''
26649        '''
26650         The User's email address. Must be unique.
26651        '''
26652        self.external_id = external_id if external_id is not None else ''
26653        '''
26654         External ID is an alternative unique ID this user is represented by within an external service.
26655        '''
26656        self.first_name = first_name if first_name is not None else ''
26657        '''
26658         The User's first name.
26659        '''
26660        self.id = id if id is not None else ''
26661        '''
26662         Unique identifier of the User.
26663        '''
26664        self.last_name = last_name if last_name is not None else ''
26665        '''
26666         The User's last name.
26667        '''
26668        self.managed_by = managed_by if managed_by is not None else ''
26669        '''
26670         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
26671        '''
26672        self.password = password if password is not None else ''
26673        '''
26674         Password is a write-only field that can be used to set the user's password.
26675         Currently only supported for update.
26676        '''
26677        self.permission_level = permission_level if permission_level is not None else ''
26678        '''
26679         PermissionLevel is the user's permission level e.g. admin, DBA, user.
26680        '''
26681        self.suspended = suspended if suspended is not None else False
26682        '''
26683         Suspended is a read only field for the User's suspended state.
26684        '''
26685        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26686        '''
26687         Tags is a map of key, value pairs.
26688        '''
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.

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.

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)
26704    def to_dict(self):
26705        return {
26706            'email': self.email,
26707            'external_id': self.external_id,
26708            'first_name': self.first_name,
26709            'id': self.id,
26710            'last_name': self.last_name,
26711            'managed_by': self.managed_by,
26712            'password': self.password,
26713            'permission_level': self.permission_level,
26714            'suspended': self.suspended,
26715            'tags': self.tags,
26716        }
@classmethod
def from_dict(cls, d)
26718    @classmethod
26719    def from_dict(cls, d):
26720        return cls(
26721            email=d.get('email'),
26722            external_id=d.get('external_id'),
26723            first_name=d.get('first_name'),
26724            id=d.get('id'),
26725            last_name=d.get('last_name'),
26726            managed_by=d.get('managed_by'),
26727            password=d.get('password'),
26728            permission_level=d.get('permission_level'),
26729            suspended=d.get('suspended'),
26730            tags=d.get('tags'),
26731        )
class VaultAWSEC2Store:
26734class VaultAWSEC2Store:
26735    '''
26736    VaultAWSEC2Store is currently unstable, and its API may change, or it may be removed,
26737    without a major version bump.
26738    '''
26739    __slots__ = [
26740        'id',
26741        'name',
26742        'namespace',
26743        'server_address',
26744        'tags',
26745    ]
26746
26747    def __init__(
26748        self,
26749        id=None,
26750        name=None,
26751        namespace=None,
26752        server_address=None,
26753        tags=None,
26754    ):
26755        self.id = id if id is not None else ''
26756        '''
26757         Unique identifier of the SecretStore.
26758        '''
26759        self.name = name if name is not None else ''
26760        '''
26761         Unique human-readable name of the SecretStore.
26762        '''
26763        self.namespace = namespace if namespace is not None else ''
26764        '''
26765         The namespace to make requests within
26766        '''
26767        self.server_address = server_address if server_address is not None else ''
26768        '''
26769         The URL of the Vault to target
26770        '''
26771        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26772        '''
26773         Tags is a map of key, value pairs.
26774        '''
26775
26776    def __repr__(self):
26777        return '<sdm.VaultAWSEC2Store ' + \
26778            'id: ' + repr(self.id) + ' ' +\
26779            'name: ' + repr(self.name) + ' ' +\
26780            'namespace: ' + repr(self.namespace) + ' ' +\
26781            'server_address: ' + repr(self.server_address) + ' ' +\
26782            'tags: ' + repr(self.tags) + ' ' +\
26783            '>'
26784
26785    def to_dict(self):
26786        return {
26787            'id': self.id,
26788            'name': self.name,
26789            'namespace': self.namespace,
26790            'server_address': self.server_address,
26791            'tags': self.tags,
26792        }
26793
26794    @classmethod
26795    def from_dict(cls, d):
26796        return cls(
26797            id=d.get('id'),
26798            name=d.get('name'),
26799            namespace=d.get('namespace'),
26800            server_address=d.get('server_address'),
26801            tags=d.get('tags'),
26802        )

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

VaultAWSEC2Store(id=None, name=None, namespace=None, server_address=None, tags=None)
26747    def __init__(
26748        self,
26749        id=None,
26750        name=None,
26751        namespace=None,
26752        server_address=None,
26753        tags=None,
26754    ):
26755        self.id = id if id is not None else ''
26756        '''
26757         Unique identifier of the SecretStore.
26758        '''
26759        self.name = name if name is not None else ''
26760        '''
26761         Unique human-readable name of the SecretStore.
26762        '''
26763        self.namespace = namespace if namespace is not None else ''
26764        '''
26765         The namespace to make requests within
26766        '''
26767        self.server_address = server_address if server_address is not None else ''
26768        '''
26769         The URL of the Vault to target
26770        '''
26771        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26772        '''
26773         Tags is a map of key, value pairs.
26774        '''
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)
26785    def to_dict(self):
26786        return {
26787            'id': self.id,
26788            'name': self.name,
26789            'namespace': self.namespace,
26790            'server_address': self.server_address,
26791            'tags': self.tags,
26792        }
@classmethod
def from_dict(cls, d)
26794    @classmethod
26795    def from_dict(cls, d):
26796        return cls(
26797            id=d.get('id'),
26798            name=d.get('name'),
26799            namespace=d.get('namespace'),
26800            server_address=d.get('server_address'),
26801            tags=d.get('tags'),
26802        )
class VaultAWSIAMStore:
26805class VaultAWSIAMStore:
26806    '''
26807    VaultAWSIAMStore is currently unstable, and its API may change, or it may be removed,
26808    without a major version bump.
26809    '''
26810    __slots__ = [
26811        'id',
26812        'name',
26813        'namespace',
26814        'server_address',
26815        'tags',
26816    ]
26817
26818    def __init__(
26819        self,
26820        id=None,
26821        name=None,
26822        namespace=None,
26823        server_address=None,
26824        tags=None,
26825    ):
26826        self.id = id if id is not None else ''
26827        '''
26828         Unique identifier of the SecretStore.
26829        '''
26830        self.name = name if name is not None else ''
26831        '''
26832         Unique human-readable name of the SecretStore.
26833        '''
26834        self.namespace = namespace if namespace is not None else ''
26835        '''
26836         The namespace to make requests within
26837        '''
26838        self.server_address = server_address if server_address is not None else ''
26839        '''
26840         The URL of the Vault to target
26841        '''
26842        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26843        '''
26844         Tags is a map of key, value pairs.
26845        '''
26846
26847    def __repr__(self):
26848        return '<sdm.VaultAWSIAMStore ' + \
26849            'id: ' + repr(self.id) + ' ' +\
26850            'name: ' + repr(self.name) + ' ' +\
26851            'namespace: ' + repr(self.namespace) + ' ' +\
26852            'server_address: ' + repr(self.server_address) + ' ' +\
26853            'tags: ' + repr(self.tags) + ' ' +\
26854            '>'
26855
26856    def to_dict(self):
26857        return {
26858            'id': self.id,
26859            'name': self.name,
26860            'namespace': self.namespace,
26861            'server_address': self.server_address,
26862            'tags': self.tags,
26863        }
26864
26865    @classmethod
26866    def from_dict(cls, d):
26867        return cls(
26868            id=d.get('id'),
26869            name=d.get('name'),
26870            namespace=d.get('namespace'),
26871            server_address=d.get('server_address'),
26872            tags=d.get('tags'),
26873        )

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

VaultAWSIAMStore(id=None, name=None, namespace=None, server_address=None, tags=None)
26818    def __init__(
26819        self,
26820        id=None,
26821        name=None,
26822        namespace=None,
26823        server_address=None,
26824        tags=None,
26825    ):
26826        self.id = id if id is not None else ''
26827        '''
26828         Unique identifier of the SecretStore.
26829        '''
26830        self.name = name if name is not None else ''
26831        '''
26832         Unique human-readable name of the SecretStore.
26833        '''
26834        self.namespace = namespace if namespace is not None else ''
26835        '''
26836         The namespace to make requests within
26837        '''
26838        self.server_address = server_address if server_address is not None else ''
26839        '''
26840         The URL of the Vault to target
26841        '''
26842        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26843        '''
26844         Tags is a map of key, value pairs.
26845        '''
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)
26856    def to_dict(self):
26857        return {
26858            'id': self.id,
26859            'name': self.name,
26860            'namespace': self.namespace,
26861            'server_address': self.server_address,
26862            'tags': self.tags,
26863        }
@classmethod
def from_dict(cls, d)
26865    @classmethod
26866    def from_dict(cls, d):
26867        return cls(
26868            id=d.get('id'),
26869            name=d.get('name'),
26870            namespace=d.get('namespace'),
26871            server_address=d.get('server_address'),
26872            tags=d.get('tags'),
26873        )
class VaultAppRoleCertSSHStore:
26876class VaultAppRoleCertSSHStore:
26877    __slots__ = [
26878        'id',
26879        'issuedcertttlminutes',
26880        'name',
26881        'namespace',
26882        'server_address',
26883        'signing_role',
26884        'ssh_mount_point',
26885        'tags',
26886    ]
26887
26888    def __init__(
26889        self,
26890        id=None,
26891        issuedcertttlminutes=None,
26892        name=None,
26893        namespace=None,
26894        server_address=None,
26895        signing_role=None,
26896        ssh_mount_point=None,
26897        tags=None,
26898    ):
26899        self.id = id if id is not None else ''
26900        '''
26901         Unique identifier of the SecretStore.
26902        '''
26903        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
26904        '''
26905         The lifetime of certificates issued by this CA represented in minutes.
26906        '''
26907        self.name = name if name is not None else ''
26908        '''
26909         Unique human-readable name of the SecretStore.
26910        '''
26911        self.namespace = namespace if namespace is not None else ''
26912        '''
26913         The namespace to make requests within
26914        '''
26915        self.server_address = server_address if server_address is not None else ''
26916        '''
26917         The URL of the Vault to target
26918        '''
26919        self.signing_role = signing_role if signing_role is not None else ''
26920        '''
26921         The signing role to be used for signing certificates
26922        '''
26923        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
26924        '''
26925         The mount point of the SSH engine configured with the desired CA
26926        '''
26927        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26928        '''
26929         Tags is a map of key, value pairs.
26930        '''
26931
26932    def __repr__(self):
26933        return '<sdm.VaultAppRoleCertSSHStore ' + \
26934            'id: ' + repr(self.id) + ' ' +\
26935            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
26936            'name: ' + repr(self.name) + ' ' +\
26937            'namespace: ' + repr(self.namespace) + ' ' +\
26938            'server_address: ' + repr(self.server_address) + ' ' +\
26939            'signing_role: ' + repr(self.signing_role) + ' ' +\
26940            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
26941            'tags: ' + repr(self.tags) + ' ' +\
26942            '>'
26943
26944    def to_dict(self):
26945        return {
26946            'id': self.id,
26947            'issuedcertttlminutes': self.issuedcertttlminutes,
26948            'name': self.name,
26949            'namespace': self.namespace,
26950            'server_address': self.server_address,
26951            'signing_role': self.signing_role,
26952            'ssh_mount_point': self.ssh_mount_point,
26953            'tags': self.tags,
26954        }
26955
26956    @classmethod
26957    def from_dict(cls, d):
26958        return cls(
26959            id=d.get('id'),
26960            issuedcertttlminutes=d.get('issuedcertttlminutes'),
26961            name=d.get('name'),
26962            namespace=d.get('namespace'),
26963            server_address=d.get('server_address'),
26964            signing_role=d.get('signing_role'),
26965            ssh_mount_point=d.get('ssh_mount_point'),
26966            tags=d.get('tags'),
26967        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
26888    def __init__(
26889        self,
26890        id=None,
26891        issuedcertttlminutes=None,
26892        name=None,
26893        namespace=None,
26894        server_address=None,
26895        signing_role=None,
26896        ssh_mount_point=None,
26897        tags=None,
26898    ):
26899        self.id = id if id is not None else ''
26900        '''
26901         Unique identifier of the SecretStore.
26902        '''
26903        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
26904        '''
26905         The lifetime of certificates issued by this CA represented in minutes.
26906        '''
26907        self.name = name if name is not None else ''
26908        '''
26909         Unique human-readable name of the SecretStore.
26910        '''
26911        self.namespace = namespace if namespace is not None else ''
26912        '''
26913         The namespace to make requests within
26914        '''
26915        self.server_address = server_address if server_address is not None else ''
26916        '''
26917         The URL of the Vault to target
26918        '''
26919        self.signing_role = signing_role if signing_role is not None else ''
26920        '''
26921         The signing role to be used for signing certificates
26922        '''
26923        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
26924        '''
26925         The mount point of the SSH engine configured with the desired CA
26926        '''
26927        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26928        '''
26929         Tags is a map of key, value pairs.
26930        '''
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)
26944    def to_dict(self):
26945        return {
26946            'id': self.id,
26947            'issuedcertttlminutes': self.issuedcertttlminutes,
26948            'name': self.name,
26949            'namespace': self.namespace,
26950            'server_address': self.server_address,
26951            'signing_role': self.signing_role,
26952            'ssh_mount_point': self.ssh_mount_point,
26953            'tags': self.tags,
26954        }
@classmethod
def from_dict(cls, d)
26956    @classmethod
26957    def from_dict(cls, d):
26958        return cls(
26959            id=d.get('id'),
26960            issuedcertttlminutes=d.get('issuedcertttlminutes'),
26961            name=d.get('name'),
26962            namespace=d.get('namespace'),
26963            server_address=d.get('server_address'),
26964            signing_role=d.get('signing_role'),
26965            ssh_mount_point=d.get('ssh_mount_point'),
26966            tags=d.get('tags'),
26967        )
class VaultAppRoleCertX509Store:
26970class VaultAppRoleCertX509Store:
26971    __slots__ = [
26972        'id',
26973        'issuedcertttlminutes',
26974        'name',
26975        'namespace',
26976        'pki_mount_point',
26977        'server_address',
26978        'signing_role',
26979        'tags',
26980    ]
26981
26982    def __init__(
26983        self,
26984        id=None,
26985        issuedcertttlminutes=None,
26986        name=None,
26987        namespace=None,
26988        pki_mount_point=None,
26989        server_address=None,
26990        signing_role=None,
26991        tags=None,
26992    ):
26993        self.id = id if id is not None else ''
26994        '''
26995         Unique identifier of the SecretStore.
26996        '''
26997        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
26998        '''
26999         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
27000        '''
27001        self.name = name if name is not None else ''
27002        '''
27003         Unique human-readable name of the SecretStore.
27004        '''
27005        self.namespace = namespace if namespace is not None else ''
27006        '''
27007         The namespace to make requests within
27008        '''
27009        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27010        '''
27011         The mount point of the PKI engine configured with the desired CA
27012        '''
27013        self.server_address = server_address if server_address is not None else ''
27014        '''
27015         The URL of the Vault to target
27016        '''
27017        self.signing_role = signing_role if signing_role is not None else ''
27018        '''
27019         The signing role to be used for signing certificates
27020        '''
27021        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27022        '''
27023         Tags is a map of key, value pairs.
27024        '''
27025
27026    def __repr__(self):
27027        return '<sdm.VaultAppRoleCertX509Store ' + \
27028            'id: ' + repr(self.id) + ' ' +\
27029            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27030            'name: ' + repr(self.name) + ' ' +\
27031            'namespace: ' + repr(self.namespace) + ' ' +\
27032            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
27033            'server_address: ' + repr(self.server_address) + ' ' +\
27034            'signing_role: ' + repr(self.signing_role) + ' ' +\
27035            'tags: ' + repr(self.tags) + ' ' +\
27036            '>'
27037
27038    def to_dict(self):
27039        return {
27040            'id': self.id,
27041            'issuedcertttlminutes': self.issuedcertttlminutes,
27042            'name': self.name,
27043            'namespace': self.namespace,
27044            'pki_mount_point': self.pki_mount_point,
27045            'server_address': self.server_address,
27046            'signing_role': self.signing_role,
27047            'tags': self.tags,
27048        }
27049
27050    @classmethod
27051    def from_dict(cls, d):
27052        return cls(
27053            id=d.get('id'),
27054            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27055            name=d.get('name'),
27056            namespace=d.get('namespace'),
27057            pki_mount_point=d.get('pki_mount_point'),
27058            server_address=d.get('server_address'),
27059            signing_role=d.get('signing_role'),
27060            tags=d.get('tags'),
27061        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
26982    def __init__(
26983        self,
26984        id=None,
26985        issuedcertttlminutes=None,
26986        name=None,
26987        namespace=None,
26988        pki_mount_point=None,
26989        server_address=None,
26990        signing_role=None,
26991        tags=None,
26992    ):
26993        self.id = id if id is not None else ''
26994        '''
26995         Unique identifier of the SecretStore.
26996        '''
26997        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
26998        '''
26999         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
27000        '''
27001        self.name = name if name is not None else ''
27002        '''
27003         Unique human-readable name of the SecretStore.
27004        '''
27005        self.namespace = namespace if namespace is not None else ''
27006        '''
27007         The namespace to make requests within
27008        '''
27009        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27010        '''
27011         The mount point of the PKI engine configured with the desired CA
27012        '''
27013        self.server_address = server_address if server_address is not None else ''
27014        '''
27015         The URL of the Vault to target
27016        '''
27017        self.signing_role = signing_role if signing_role is not None else ''
27018        '''
27019         The signing role to be used for signing certificates
27020        '''
27021        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27022        '''
27023         Tags is a map of key, value pairs.
27024        '''
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)
27038    def to_dict(self):
27039        return {
27040            'id': self.id,
27041            'issuedcertttlminutes': self.issuedcertttlminutes,
27042            'name': self.name,
27043            'namespace': self.namespace,
27044            'pki_mount_point': self.pki_mount_point,
27045            'server_address': self.server_address,
27046            'signing_role': self.signing_role,
27047            'tags': self.tags,
27048        }
@classmethod
def from_dict(cls, d)
27050    @classmethod
27051    def from_dict(cls, d):
27052        return cls(
27053            id=d.get('id'),
27054            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27055            name=d.get('name'),
27056            namespace=d.get('namespace'),
27057            pki_mount_point=d.get('pki_mount_point'),
27058            server_address=d.get('server_address'),
27059            signing_role=d.get('signing_role'),
27060            tags=d.get('tags'),
27061        )
class VaultAppRoleStore:
27064class VaultAppRoleStore:
27065    __slots__ = [
27066        'id',
27067        'name',
27068        'namespace',
27069        'server_address',
27070        'tags',
27071    ]
27072
27073    def __init__(
27074        self,
27075        id=None,
27076        name=None,
27077        namespace=None,
27078        server_address=None,
27079        tags=None,
27080    ):
27081        self.id = id if id is not None else ''
27082        '''
27083         Unique identifier of the SecretStore.
27084        '''
27085        self.name = name if name is not None else ''
27086        '''
27087         Unique human-readable name of the SecretStore.
27088        '''
27089        self.namespace = namespace if namespace is not None else ''
27090        '''
27091         The namespace to make requests within
27092        '''
27093        self.server_address = server_address if server_address is not None else ''
27094        '''
27095         The URL of the Vault to target
27096        '''
27097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27098        '''
27099         Tags is a map of key, value pairs.
27100        '''
27101
27102    def __repr__(self):
27103        return '<sdm.VaultAppRoleStore ' + \
27104            'id: ' + repr(self.id) + ' ' +\
27105            'name: ' + repr(self.name) + ' ' +\
27106            'namespace: ' + repr(self.namespace) + ' ' +\
27107            'server_address: ' + repr(self.server_address) + ' ' +\
27108            'tags: ' + repr(self.tags) + ' ' +\
27109            '>'
27110
27111    def to_dict(self):
27112        return {
27113            'id': self.id,
27114            'name': self.name,
27115            'namespace': self.namespace,
27116            'server_address': self.server_address,
27117            'tags': self.tags,
27118        }
27119
27120    @classmethod
27121    def from_dict(cls, d):
27122        return cls(
27123            id=d.get('id'),
27124            name=d.get('name'),
27125            namespace=d.get('namespace'),
27126            server_address=d.get('server_address'),
27127            tags=d.get('tags'),
27128        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
27073    def __init__(
27074        self,
27075        id=None,
27076        name=None,
27077        namespace=None,
27078        server_address=None,
27079        tags=None,
27080    ):
27081        self.id = id if id is not None else ''
27082        '''
27083         Unique identifier of the SecretStore.
27084        '''
27085        self.name = name if name is not None else ''
27086        '''
27087         Unique human-readable name of the SecretStore.
27088        '''
27089        self.namespace = namespace if namespace is not None else ''
27090        '''
27091         The namespace to make requests within
27092        '''
27093        self.server_address = server_address if server_address is not None else ''
27094        '''
27095         The URL of the Vault to target
27096        '''
27097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27098        '''
27099         Tags is a map of key, value pairs.
27100        '''
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)
27111    def to_dict(self):
27112        return {
27113            'id': self.id,
27114            'name': self.name,
27115            'namespace': self.namespace,
27116            'server_address': self.server_address,
27117            'tags': self.tags,
27118        }
@classmethod
def from_dict(cls, d)
27120    @classmethod
27121    def from_dict(cls, d):
27122        return cls(
27123            id=d.get('id'),
27124            name=d.get('name'),
27125            namespace=d.get('namespace'),
27126            server_address=d.get('server_address'),
27127            tags=d.get('tags'),
27128        )
class VaultTLSCertSSHStore:
27131class VaultTLSCertSSHStore:
27132    __slots__ = [
27133        'ca_cert_path',
27134        'client_cert_path',
27135        'client_key_path',
27136        'id',
27137        'issuedcertttlminutes',
27138        'name',
27139        'namespace',
27140        'server_address',
27141        'signing_role',
27142        'ssh_mount_point',
27143        'tags',
27144    ]
27145
27146    def __init__(
27147        self,
27148        ca_cert_path=None,
27149        client_cert_path=None,
27150        client_key_path=None,
27151        id=None,
27152        issuedcertttlminutes=None,
27153        name=None,
27154        namespace=None,
27155        server_address=None,
27156        signing_role=None,
27157        ssh_mount_point=None,
27158        tags=None,
27159    ):
27160        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27161        '''
27162         A path to a CA file accessible by a Node
27163        '''
27164        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27165        '''
27166         A path to a client certificate file accessible by a Node
27167        '''
27168        self.client_key_path = client_key_path if client_key_path is not None else ''
27169        '''
27170         A path to a client key file accessible by a Node
27171        '''
27172        self.id = id if id is not None else ''
27173        '''
27174         Unique identifier of the SecretStore.
27175        '''
27176        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27177        '''
27178         The lifetime of certificates issued by this CA represented in minutes.
27179        '''
27180        self.name = name if name is not None else ''
27181        '''
27182         Unique human-readable name of the SecretStore.
27183        '''
27184        self.namespace = namespace if namespace is not None else ''
27185        '''
27186         The namespace to make requests within
27187        '''
27188        self.server_address = server_address if server_address is not None else ''
27189        '''
27190         The URL of the Vault to target
27191        '''
27192        self.signing_role = signing_role if signing_role is not None else ''
27193        '''
27194         The signing role to be used for signing certificates
27195        '''
27196        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
27197        '''
27198         The mount point of the SSH engine configured with the desired CA
27199        '''
27200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27201        '''
27202         Tags is a map of key, value pairs.
27203        '''
27204
27205    def __repr__(self):
27206        return '<sdm.VaultTLSCertSSHStore ' + \
27207            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
27208            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
27209            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
27210            'id: ' + repr(self.id) + ' ' +\
27211            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27212            'name: ' + repr(self.name) + ' ' +\
27213            'namespace: ' + repr(self.namespace) + ' ' +\
27214            'server_address: ' + repr(self.server_address) + ' ' +\
27215            'signing_role: ' + repr(self.signing_role) + ' ' +\
27216            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
27217            'tags: ' + repr(self.tags) + ' ' +\
27218            '>'
27219
27220    def to_dict(self):
27221        return {
27222            'ca_cert_path': self.ca_cert_path,
27223            'client_cert_path': self.client_cert_path,
27224            'client_key_path': self.client_key_path,
27225            'id': self.id,
27226            'issuedcertttlminutes': self.issuedcertttlminutes,
27227            'name': self.name,
27228            'namespace': self.namespace,
27229            'server_address': self.server_address,
27230            'signing_role': self.signing_role,
27231            'ssh_mount_point': self.ssh_mount_point,
27232            'tags': self.tags,
27233        }
27234
27235    @classmethod
27236    def from_dict(cls, d):
27237        return cls(
27238            ca_cert_path=d.get('ca_cert_path'),
27239            client_cert_path=d.get('client_cert_path'),
27240            client_key_path=d.get('client_key_path'),
27241            id=d.get('id'),
27242            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27243            name=d.get('name'),
27244            namespace=d.get('namespace'),
27245            server_address=d.get('server_address'),
27246            signing_role=d.get('signing_role'),
27247            ssh_mount_point=d.get('ssh_mount_point'),
27248            tags=d.get('tags'),
27249        )
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)
27146    def __init__(
27147        self,
27148        ca_cert_path=None,
27149        client_cert_path=None,
27150        client_key_path=None,
27151        id=None,
27152        issuedcertttlminutes=None,
27153        name=None,
27154        namespace=None,
27155        server_address=None,
27156        signing_role=None,
27157        ssh_mount_point=None,
27158        tags=None,
27159    ):
27160        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27161        '''
27162         A path to a CA file accessible by a Node
27163        '''
27164        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27165        '''
27166         A path to a client certificate file accessible by a Node
27167        '''
27168        self.client_key_path = client_key_path if client_key_path is not None else ''
27169        '''
27170         A path to a client key file accessible by a Node
27171        '''
27172        self.id = id if id is not None else ''
27173        '''
27174         Unique identifier of the SecretStore.
27175        '''
27176        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27177        '''
27178         The lifetime of certificates issued by this CA represented in minutes.
27179        '''
27180        self.name = name if name is not None else ''
27181        '''
27182         Unique human-readable name of the SecretStore.
27183        '''
27184        self.namespace = namespace if namespace is not None else ''
27185        '''
27186         The namespace to make requests within
27187        '''
27188        self.server_address = server_address if server_address is not None else ''
27189        '''
27190         The URL of the Vault to target
27191        '''
27192        self.signing_role = signing_role if signing_role is not None else ''
27193        '''
27194         The signing role to be used for signing certificates
27195        '''
27196        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
27197        '''
27198         The mount point of the SSH engine configured with the desired CA
27199        '''
27200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27201        '''
27202         Tags is a map of key, value pairs.
27203        '''
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)
27220    def to_dict(self):
27221        return {
27222            'ca_cert_path': self.ca_cert_path,
27223            'client_cert_path': self.client_cert_path,
27224            'client_key_path': self.client_key_path,
27225            'id': self.id,
27226            'issuedcertttlminutes': self.issuedcertttlminutes,
27227            'name': self.name,
27228            'namespace': self.namespace,
27229            'server_address': self.server_address,
27230            'signing_role': self.signing_role,
27231            'ssh_mount_point': self.ssh_mount_point,
27232            'tags': self.tags,
27233        }
@classmethod
def from_dict(cls, d)
27235    @classmethod
27236    def from_dict(cls, d):
27237        return cls(
27238            ca_cert_path=d.get('ca_cert_path'),
27239            client_cert_path=d.get('client_cert_path'),
27240            client_key_path=d.get('client_key_path'),
27241            id=d.get('id'),
27242            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27243            name=d.get('name'),
27244            namespace=d.get('namespace'),
27245            server_address=d.get('server_address'),
27246            signing_role=d.get('signing_role'),
27247            ssh_mount_point=d.get('ssh_mount_point'),
27248            tags=d.get('tags'),
27249        )
class VaultTLSCertX509Store:
27252class VaultTLSCertX509Store:
27253    __slots__ = [
27254        'ca_cert_path',
27255        'client_cert_path',
27256        'client_key_path',
27257        'id',
27258        'issuedcertttlminutes',
27259        'name',
27260        'namespace',
27261        'pki_mount_point',
27262        'server_address',
27263        'signing_role',
27264        'tags',
27265    ]
27266
27267    def __init__(
27268        self,
27269        ca_cert_path=None,
27270        client_cert_path=None,
27271        client_key_path=None,
27272        id=None,
27273        issuedcertttlminutes=None,
27274        name=None,
27275        namespace=None,
27276        pki_mount_point=None,
27277        server_address=None,
27278        signing_role=None,
27279        tags=None,
27280    ):
27281        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27282        '''
27283         A path to a CA file accessible by a Node
27284        '''
27285        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27286        '''
27287         A path to a client certificate file accessible by a Node
27288        '''
27289        self.client_key_path = client_key_path if client_key_path is not None else ''
27290        '''
27291         A path to a client key file accessible by a Node
27292        '''
27293        self.id = id if id is not None else ''
27294        '''
27295         Unique identifier of the SecretStore.
27296        '''
27297        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27298        '''
27299         The lifetime of certificates issued by this CA represented in minutes.
27300        '''
27301        self.name = name if name is not None else ''
27302        '''
27303         Unique human-readable name of the SecretStore.
27304        '''
27305        self.namespace = namespace if namespace is not None else ''
27306        '''
27307         The namespace to make requests within
27308        '''
27309        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27310        '''
27311         The mount point of the PKI engine configured with the desired CA
27312        '''
27313        self.server_address = server_address if server_address is not None else ''
27314        '''
27315         The URL of the Vault to target
27316        '''
27317        self.signing_role = signing_role if signing_role is not None else ''
27318        '''
27319         The signing role to be used for signing certificates
27320        '''
27321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27322        '''
27323         Tags is a map of key, value pairs.
27324        '''
27325
27326    def __repr__(self):
27327        return '<sdm.VaultTLSCertX509Store ' + \
27328            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
27329            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
27330            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
27331            'id: ' + repr(self.id) + ' ' +\
27332            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27333            'name: ' + repr(self.name) + ' ' +\
27334            'namespace: ' + repr(self.namespace) + ' ' +\
27335            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
27336            'server_address: ' + repr(self.server_address) + ' ' +\
27337            'signing_role: ' + repr(self.signing_role) + ' ' +\
27338            'tags: ' + repr(self.tags) + ' ' +\
27339            '>'
27340
27341    def to_dict(self):
27342        return {
27343            'ca_cert_path': self.ca_cert_path,
27344            'client_cert_path': self.client_cert_path,
27345            'client_key_path': self.client_key_path,
27346            'id': self.id,
27347            'issuedcertttlminutes': self.issuedcertttlminutes,
27348            'name': self.name,
27349            'namespace': self.namespace,
27350            'pki_mount_point': self.pki_mount_point,
27351            'server_address': self.server_address,
27352            'signing_role': self.signing_role,
27353            'tags': self.tags,
27354        }
27355
27356    @classmethod
27357    def from_dict(cls, d):
27358        return cls(
27359            ca_cert_path=d.get('ca_cert_path'),
27360            client_cert_path=d.get('client_cert_path'),
27361            client_key_path=d.get('client_key_path'),
27362            id=d.get('id'),
27363            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27364            name=d.get('name'),
27365            namespace=d.get('namespace'),
27366            pki_mount_point=d.get('pki_mount_point'),
27367            server_address=d.get('server_address'),
27368            signing_role=d.get('signing_role'),
27369            tags=d.get('tags'),
27370        )
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)
27267    def __init__(
27268        self,
27269        ca_cert_path=None,
27270        client_cert_path=None,
27271        client_key_path=None,
27272        id=None,
27273        issuedcertttlminutes=None,
27274        name=None,
27275        namespace=None,
27276        pki_mount_point=None,
27277        server_address=None,
27278        signing_role=None,
27279        tags=None,
27280    ):
27281        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27282        '''
27283         A path to a CA file accessible by a Node
27284        '''
27285        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27286        '''
27287         A path to a client certificate file accessible by a Node
27288        '''
27289        self.client_key_path = client_key_path if client_key_path is not None else ''
27290        '''
27291         A path to a client key file accessible by a Node
27292        '''
27293        self.id = id if id is not None else ''
27294        '''
27295         Unique identifier of the SecretStore.
27296        '''
27297        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27298        '''
27299         The lifetime of certificates issued by this CA represented in minutes.
27300        '''
27301        self.name = name if name is not None else ''
27302        '''
27303         Unique human-readable name of the SecretStore.
27304        '''
27305        self.namespace = namespace if namespace is not None else ''
27306        '''
27307         The namespace to make requests within
27308        '''
27309        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27310        '''
27311         The mount point of the PKI engine configured with the desired CA
27312        '''
27313        self.server_address = server_address if server_address is not None else ''
27314        '''
27315         The URL of the Vault to target
27316        '''
27317        self.signing_role = signing_role if signing_role is not None else ''
27318        '''
27319         The signing role to be used for signing certificates
27320        '''
27321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27322        '''
27323         Tags is a map of key, value pairs.
27324        '''
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)
27341    def to_dict(self):
27342        return {
27343            'ca_cert_path': self.ca_cert_path,
27344            'client_cert_path': self.client_cert_path,
27345            'client_key_path': self.client_key_path,
27346            'id': self.id,
27347            'issuedcertttlminutes': self.issuedcertttlminutes,
27348            'name': self.name,
27349            'namespace': self.namespace,
27350            'pki_mount_point': self.pki_mount_point,
27351            'server_address': self.server_address,
27352            'signing_role': self.signing_role,
27353            'tags': self.tags,
27354        }
@classmethod
def from_dict(cls, d)
27356    @classmethod
27357    def from_dict(cls, d):
27358        return cls(
27359            ca_cert_path=d.get('ca_cert_path'),
27360            client_cert_path=d.get('client_cert_path'),
27361            client_key_path=d.get('client_key_path'),
27362            id=d.get('id'),
27363            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27364            name=d.get('name'),
27365            namespace=d.get('namespace'),
27366            pki_mount_point=d.get('pki_mount_point'),
27367            server_address=d.get('server_address'),
27368            signing_role=d.get('signing_role'),
27369            tags=d.get('tags'),
27370        )
class VaultTLSStore:
27373class VaultTLSStore:
27374    __slots__ = [
27375        'ca_cert_path',
27376        'client_cert_path',
27377        'client_key_path',
27378        'id',
27379        'name',
27380        'namespace',
27381        'server_address',
27382        'tags',
27383    ]
27384
27385    def __init__(
27386        self,
27387        ca_cert_path=None,
27388        client_cert_path=None,
27389        client_key_path=None,
27390        id=None,
27391        name=None,
27392        namespace=None,
27393        server_address=None,
27394        tags=None,
27395    ):
27396        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27397        '''
27398         A path to a CA file accessible by a Node
27399        '''
27400        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27401        '''
27402         A path to a client certificate file accessible by a Node
27403        '''
27404        self.client_key_path = client_key_path if client_key_path is not None else ''
27405        '''
27406         A path to a client key file accessible by a Node
27407        '''
27408        self.id = id if id is not None else ''
27409        '''
27410         Unique identifier of the SecretStore.
27411        '''
27412        self.name = name if name is not None else ''
27413        '''
27414         Unique human-readable name of the SecretStore.
27415        '''
27416        self.namespace = namespace if namespace is not None else ''
27417        '''
27418         The namespace to make requests within
27419        '''
27420        self.server_address = server_address if server_address is not None else ''
27421        '''
27422         The URL of the Vault to target
27423        '''
27424        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27425        '''
27426         Tags is a map of key, value pairs.
27427        '''
27428
27429    def __repr__(self):
27430        return '<sdm.VaultTLSStore ' + \
27431            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
27432            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
27433            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
27434            'id: ' + repr(self.id) + ' ' +\
27435            'name: ' + repr(self.name) + ' ' +\
27436            'namespace: ' + repr(self.namespace) + ' ' +\
27437            'server_address: ' + repr(self.server_address) + ' ' +\
27438            'tags: ' + repr(self.tags) + ' ' +\
27439            '>'
27440
27441    def to_dict(self):
27442        return {
27443            'ca_cert_path': self.ca_cert_path,
27444            'client_cert_path': self.client_cert_path,
27445            'client_key_path': self.client_key_path,
27446            'id': self.id,
27447            'name': self.name,
27448            'namespace': self.namespace,
27449            'server_address': self.server_address,
27450            'tags': self.tags,
27451        }
27452
27453    @classmethod
27454    def from_dict(cls, d):
27455        return cls(
27456            ca_cert_path=d.get('ca_cert_path'),
27457            client_cert_path=d.get('client_cert_path'),
27458            client_key_path=d.get('client_key_path'),
27459            id=d.get('id'),
27460            name=d.get('name'),
27461            namespace=d.get('namespace'),
27462            server_address=d.get('server_address'),
27463            tags=d.get('tags'),
27464        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
27385    def __init__(
27386        self,
27387        ca_cert_path=None,
27388        client_cert_path=None,
27389        client_key_path=None,
27390        id=None,
27391        name=None,
27392        namespace=None,
27393        server_address=None,
27394        tags=None,
27395    ):
27396        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
27397        '''
27398         A path to a CA file accessible by a Node
27399        '''
27400        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
27401        '''
27402         A path to a client certificate file accessible by a Node
27403        '''
27404        self.client_key_path = client_key_path if client_key_path is not None else ''
27405        '''
27406         A path to a client key file accessible by a Node
27407        '''
27408        self.id = id if id is not None else ''
27409        '''
27410         Unique identifier of the SecretStore.
27411        '''
27412        self.name = name if name is not None else ''
27413        '''
27414         Unique human-readable name of the SecretStore.
27415        '''
27416        self.namespace = namespace if namespace is not None else ''
27417        '''
27418         The namespace to make requests within
27419        '''
27420        self.server_address = server_address if server_address is not None else ''
27421        '''
27422         The URL of the Vault to target
27423        '''
27424        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27425        '''
27426         Tags is a map of key, value pairs.
27427        '''
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)
27441    def to_dict(self):
27442        return {
27443            'ca_cert_path': self.ca_cert_path,
27444            'client_cert_path': self.client_cert_path,
27445            'client_key_path': self.client_key_path,
27446            'id': self.id,
27447            'name': self.name,
27448            'namespace': self.namespace,
27449            'server_address': self.server_address,
27450            'tags': self.tags,
27451        }
@classmethod
def from_dict(cls, d)
27453    @classmethod
27454    def from_dict(cls, d):
27455        return cls(
27456            ca_cert_path=d.get('ca_cert_path'),
27457            client_cert_path=d.get('client_cert_path'),
27458            client_key_path=d.get('client_key_path'),
27459            id=d.get('id'),
27460            name=d.get('name'),
27461            namespace=d.get('namespace'),
27462            server_address=d.get('server_address'),
27463            tags=d.get('tags'),
27464        )
class VaultTokenCertSSHStore:
27467class VaultTokenCertSSHStore:
27468    __slots__ = [
27469        'id',
27470        'issuedcertttlminutes',
27471        'name',
27472        'namespace',
27473        'server_address',
27474        'signing_role',
27475        'ssh_mount_point',
27476        'tags',
27477    ]
27478
27479    def __init__(
27480        self,
27481        id=None,
27482        issuedcertttlminutes=None,
27483        name=None,
27484        namespace=None,
27485        server_address=None,
27486        signing_role=None,
27487        ssh_mount_point=None,
27488        tags=None,
27489    ):
27490        self.id = id if id is not None else ''
27491        '''
27492         Unique identifier of the SecretStore.
27493        '''
27494        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27495        '''
27496         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
27497        '''
27498        self.name = name if name is not None else ''
27499        '''
27500         Unique human-readable name of the SecretStore.
27501        '''
27502        self.namespace = namespace if namespace is not None else ''
27503        '''
27504         The namespace to make requests within
27505        '''
27506        self.server_address = server_address if server_address is not None else ''
27507        '''
27508         The URL of the Vault to target
27509        '''
27510        self.signing_role = signing_role if signing_role is not None else ''
27511        '''
27512         The signing role to be used for signing certificates
27513        '''
27514        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
27515        '''
27516         The mount point of the SSH engine configured with the desired CA
27517        '''
27518        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27519        '''
27520         Tags is a map of key, value pairs.
27521        '''
27522
27523    def __repr__(self):
27524        return '<sdm.VaultTokenCertSSHStore ' + \
27525            'id: ' + repr(self.id) + ' ' +\
27526            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27527            'name: ' + repr(self.name) + ' ' +\
27528            'namespace: ' + repr(self.namespace) + ' ' +\
27529            'server_address: ' + repr(self.server_address) + ' ' +\
27530            'signing_role: ' + repr(self.signing_role) + ' ' +\
27531            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
27532            'tags: ' + repr(self.tags) + ' ' +\
27533            '>'
27534
27535    def to_dict(self):
27536        return {
27537            'id': self.id,
27538            'issuedcertttlminutes': self.issuedcertttlminutes,
27539            'name': self.name,
27540            'namespace': self.namespace,
27541            'server_address': self.server_address,
27542            'signing_role': self.signing_role,
27543            'ssh_mount_point': self.ssh_mount_point,
27544            'tags': self.tags,
27545        }
27546
27547    @classmethod
27548    def from_dict(cls, d):
27549        return cls(
27550            id=d.get('id'),
27551            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27552            name=d.get('name'),
27553            namespace=d.get('namespace'),
27554            server_address=d.get('server_address'),
27555            signing_role=d.get('signing_role'),
27556            ssh_mount_point=d.get('ssh_mount_point'),
27557            tags=d.get('tags'),
27558        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
27479    def __init__(
27480        self,
27481        id=None,
27482        issuedcertttlminutes=None,
27483        name=None,
27484        namespace=None,
27485        server_address=None,
27486        signing_role=None,
27487        ssh_mount_point=None,
27488        tags=None,
27489    ):
27490        self.id = id if id is not None else ''
27491        '''
27492         Unique identifier of the SecretStore.
27493        '''
27494        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27495        '''
27496         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
27497        '''
27498        self.name = name if name is not None else ''
27499        '''
27500         Unique human-readable name of the SecretStore.
27501        '''
27502        self.namespace = namespace if namespace is not None else ''
27503        '''
27504         The namespace to make requests within
27505        '''
27506        self.server_address = server_address if server_address is not None else ''
27507        '''
27508         The URL of the Vault to target
27509        '''
27510        self.signing_role = signing_role if signing_role is not None else ''
27511        '''
27512         The signing role to be used for signing certificates
27513        '''
27514        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
27515        '''
27516         The mount point of the SSH engine configured with the desired CA
27517        '''
27518        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27519        '''
27520         Tags is a map of key, value pairs.
27521        '''
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)
27535    def to_dict(self):
27536        return {
27537            'id': self.id,
27538            'issuedcertttlminutes': self.issuedcertttlminutes,
27539            'name': self.name,
27540            'namespace': self.namespace,
27541            'server_address': self.server_address,
27542            'signing_role': self.signing_role,
27543            'ssh_mount_point': self.ssh_mount_point,
27544            'tags': self.tags,
27545        }
@classmethod
def from_dict(cls, d)
27547    @classmethod
27548    def from_dict(cls, d):
27549        return cls(
27550            id=d.get('id'),
27551            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27552            name=d.get('name'),
27553            namespace=d.get('namespace'),
27554            server_address=d.get('server_address'),
27555            signing_role=d.get('signing_role'),
27556            ssh_mount_point=d.get('ssh_mount_point'),
27557            tags=d.get('tags'),
27558        )
class VaultTokenCertX509Store:
27561class VaultTokenCertX509Store:
27562    __slots__ = [
27563        'id',
27564        'issuedcertttlminutes',
27565        'name',
27566        'namespace',
27567        'pki_mount_point',
27568        'server_address',
27569        'signing_role',
27570        'tags',
27571    ]
27572
27573    def __init__(
27574        self,
27575        id=None,
27576        issuedcertttlminutes=None,
27577        name=None,
27578        namespace=None,
27579        pki_mount_point=None,
27580        server_address=None,
27581        signing_role=None,
27582        tags=None,
27583    ):
27584        self.id = id if id is not None else ''
27585        '''
27586         Unique identifier of the SecretStore.
27587        '''
27588        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27589        '''
27590         The lifetime of certificates issued by this CA represented in minutes.
27591        '''
27592        self.name = name if name is not None else ''
27593        '''
27594         Unique human-readable name of the SecretStore.
27595        '''
27596        self.namespace = namespace if namespace is not None else ''
27597        '''
27598         The namespace to make requests within
27599        '''
27600        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27601        '''
27602         The mount point of the PKI engine configured with the desired CA
27603        '''
27604        self.server_address = server_address if server_address is not None else ''
27605        '''
27606         The URL of the Vault to target
27607        '''
27608        self.signing_role = signing_role if signing_role is not None else ''
27609        '''
27610         The signing role to be used for signing certificates
27611        '''
27612        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27613        '''
27614         Tags is a map of key, value pairs.
27615        '''
27616
27617    def __repr__(self):
27618        return '<sdm.VaultTokenCertX509Store ' + \
27619            'id: ' + repr(self.id) + ' ' +\
27620            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
27621            'name: ' + repr(self.name) + ' ' +\
27622            'namespace: ' + repr(self.namespace) + ' ' +\
27623            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
27624            'server_address: ' + repr(self.server_address) + ' ' +\
27625            'signing_role: ' + repr(self.signing_role) + ' ' +\
27626            'tags: ' + repr(self.tags) + ' ' +\
27627            '>'
27628
27629    def to_dict(self):
27630        return {
27631            'id': self.id,
27632            'issuedcertttlminutes': self.issuedcertttlminutes,
27633            'name': self.name,
27634            'namespace': self.namespace,
27635            'pki_mount_point': self.pki_mount_point,
27636            'server_address': self.server_address,
27637            'signing_role': self.signing_role,
27638            'tags': self.tags,
27639        }
27640
27641    @classmethod
27642    def from_dict(cls, d):
27643        return cls(
27644            id=d.get('id'),
27645            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27646            name=d.get('name'),
27647            namespace=d.get('namespace'),
27648            pki_mount_point=d.get('pki_mount_point'),
27649            server_address=d.get('server_address'),
27650            signing_role=d.get('signing_role'),
27651            tags=d.get('tags'),
27652        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
27573    def __init__(
27574        self,
27575        id=None,
27576        issuedcertttlminutes=None,
27577        name=None,
27578        namespace=None,
27579        pki_mount_point=None,
27580        server_address=None,
27581        signing_role=None,
27582        tags=None,
27583    ):
27584        self.id = id if id is not None else ''
27585        '''
27586         Unique identifier of the SecretStore.
27587        '''
27588        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
27589        '''
27590         The lifetime of certificates issued by this CA represented in minutes.
27591        '''
27592        self.name = name if name is not None else ''
27593        '''
27594         Unique human-readable name of the SecretStore.
27595        '''
27596        self.namespace = namespace if namespace is not None else ''
27597        '''
27598         The namespace to make requests within
27599        '''
27600        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
27601        '''
27602         The mount point of the PKI engine configured with the desired CA
27603        '''
27604        self.server_address = server_address if server_address is not None else ''
27605        '''
27606         The URL of the Vault to target
27607        '''
27608        self.signing_role = signing_role if signing_role is not None else ''
27609        '''
27610         The signing role to be used for signing certificates
27611        '''
27612        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27613        '''
27614         Tags is a map of key, value pairs.
27615        '''
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)
27629    def to_dict(self):
27630        return {
27631            'id': self.id,
27632            'issuedcertttlminutes': self.issuedcertttlminutes,
27633            'name': self.name,
27634            'namespace': self.namespace,
27635            'pki_mount_point': self.pki_mount_point,
27636            'server_address': self.server_address,
27637            'signing_role': self.signing_role,
27638            'tags': self.tags,
27639        }
@classmethod
def from_dict(cls, d)
27641    @classmethod
27642    def from_dict(cls, d):
27643        return cls(
27644            id=d.get('id'),
27645            issuedcertttlminutes=d.get('issuedcertttlminutes'),
27646            name=d.get('name'),
27647            namespace=d.get('namespace'),
27648            pki_mount_point=d.get('pki_mount_point'),
27649            server_address=d.get('server_address'),
27650            signing_role=d.get('signing_role'),
27651            tags=d.get('tags'),
27652        )
class VaultTokenStore:
27655class VaultTokenStore:
27656    __slots__ = [
27657        'id',
27658        'name',
27659        'namespace',
27660        'server_address',
27661        'tags',
27662    ]
27663
27664    def __init__(
27665        self,
27666        id=None,
27667        name=None,
27668        namespace=None,
27669        server_address=None,
27670        tags=None,
27671    ):
27672        self.id = id if id is not None else ''
27673        '''
27674         Unique identifier of the SecretStore.
27675        '''
27676        self.name = name if name is not None else ''
27677        '''
27678         Unique human-readable name of the SecretStore.
27679        '''
27680        self.namespace = namespace if namespace is not None else ''
27681        '''
27682         The namespace to make requests within
27683        '''
27684        self.server_address = server_address if server_address is not None else ''
27685        '''
27686         The URL of the Vault to target
27687        '''
27688        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27689        '''
27690         Tags is a map of key, value pairs.
27691        '''
27692
27693    def __repr__(self):
27694        return '<sdm.VaultTokenStore ' + \
27695            'id: ' + repr(self.id) + ' ' +\
27696            'name: ' + repr(self.name) + ' ' +\
27697            'namespace: ' + repr(self.namespace) + ' ' +\
27698            'server_address: ' + repr(self.server_address) + ' ' +\
27699            'tags: ' + repr(self.tags) + ' ' +\
27700            '>'
27701
27702    def to_dict(self):
27703        return {
27704            'id': self.id,
27705            'name': self.name,
27706            'namespace': self.namespace,
27707            'server_address': self.server_address,
27708            'tags': self.tags,
27709        }
27710
27711    @classmethod
27712    def from_dict(cls, d):
27713        return cls(
27714            id=d.get('id'),
27715            name=d.get('name'),
27716            namespace=d.get('namespace'),
27717            server_address=d.get('server_address'),
27718            tags=d.get('tags'),
27719        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
27664    def __init__(
27665        self,
27666        id=None,
27667        name=None,
27668        namespace=None,
27669        server_address=None,
27670        tags=None,
27671    ):
27672        self.id = id if id is not None else ''
27673        '''
27674         Unique identifier of the SecretStore.
27675        '''
27676        self.name = name if name is not None else ''
27677        '''
27678         Unique human-readable name of the SecretStore.
27679        '''
27680        self.namespace = namespace if namespace is not None else ''
27681        '''
27682         The namespace to make requests within
27683        '''
27684        self.server_address = server_address if server_address is not None else ''
27685        '''
27686         The URL of the Vault to target
27687        '''
27688        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27689        '''
27690         Tags is a map of key, value pairs.
27691        '''
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)
27702    def to_dict(self):
27703        return {
27704            'id': self.id,
27705            'name': self.name,
27706            'namespace': self.namespace,
27707            'server_address': self.server_address,
27708            'tags': self.tags,
27709        }
@classmethod
def from_dict(cls, d)
27711    @classmethod
27712    def from_dict(cls, d):
27713        return cls(
27714            id=d.get('id'),
27715            name=d.get('name'),
27716            namespace=d.get('namespace'),
27717            server_address=d.get('server_address'),
27718            tags=d.get('tags'),
27719        )
class Vertica:
27722class Vertica:
27723    '''
27724    Vertica is currently unstable, and its API may change, or it may be removed,
27725    without a major version bump.
27726    '''
27727    __slots__ = [
27728        'bind_interface',
27729        'database',
27730        'egress_filter',
27731        'healthy',
27732        'hostname',
27733        'id',
27734        'name',
27735        'password',
27736        'port',
27737        'port_override',
27738        'proxy_cluster_id',
27739        'secret_store_id',
27740        'subdomain',
27741        'tags',
27742        'username',
27743    ]
27744
27745    def __init__(
27746        self,
27747        bind_interface=None,
27748        database=None,
27749        egress_filter=None,
27750        healthy=None,
27751        hostname=None,
27752        id=None,
27753        name=None,
27754        password=None,
27755        port=None,
27756        port_override=None,
27757        proxy_cluster_id=None,
27758        secret_store_id=None,
27759        subdomain=None,
27760        tags=None,
27761        username=None,
27762    ):
27763        self.bind_interface = bind_interface if bind_interface is not None else ''
27764        '''
27765         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27766        '''
27767        self.database = database if database is not None else ''
27768        '''
27769         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27770        '''
27771        self.egress_filter = egress_filter if egress_filter is not None else ''
27772        '''
27773         A filter applied to the routing logic to pin datasource to nodes.
27774        '''
27775        self.healthy = healthy if healthy is not None else False
27776        '''
27777         True if the datasource is reachable and the credentials are valid.
27778        '''
27779        self.hostname = hostname if hostname is not None else ''
27780        '''
27781         The host to dial to initiate a connection from the egress node to this resource.
27782        '''
27783        self.id = id if id is not None else ''
27784        '''
27785         Unique identifier of the Resource.
27786        '''
27787        self.name = name if name is not None else ''
27788        '''
27789         Unique human-readable name of the Resource.
27790        '''
27791        self.password = password if password is not None else ''
27792        '''
27793         The password to authenticate with.
27794        '''
27795        self.port = port if port is not None else 0
27796        '''
27797         The port to dial to initiate a connection from the egress node to this resource.
27798        '''
27799        self.port_override = port_override if port_override is not None else 0
27800        '''
27801         The local port used by clients to connect to this resource.
27802        '''
27803        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27804        '''
27805         ID of the proxy cluster for this resource, if any.
27806        '''
27807        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27808        '''
27809         ID of the secret store containing credentials for this resource, if any.
27810        '''
27811        self.subdomain = subdomain if subdomain is not None else ''
27812        '''
27813         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27814        '''
27815        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27816        '''
27817         Tags is a map of key, value pairs.
27818        '''
27819        self.username = username if username is not None else ''
27820        '''
27821         The username to authenticate with.
27822        '''
27823
27824    def __repr__(self):
27825        return '<sdm.Vertica ' + \
27826            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27827            'database: ' + repr(self.database) + ' ' +\
27828            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27829            'healthy: ' + repr(self.healthy) + ' ' +\
27830            'hostname: ' + repr(self.hostname) + ' ' +\
27831            'id: ' + repr(self.id) + ' ' +\
27832            'name: ' + repr(self.name) + ' ' +\
27833            'password: ' + repr(self.password) + ' ' +\
27834            'port: ' + repr(self.port) + ' ' +\
27835            'port_override: ' + repr(self.port_override) + ' ' +\
27836            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27837            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27838            'subdomain: ' + repr(self.subdomain) + ' ' +\
27839            'tags: ' + repr(self.tags) + ' ' +\
27840            'username: ' + repr(self.username) + ' ' +\
27841            '>'
27842
27843    def to_dict(self):
27844        return {
27845            'bind_interface': self.bind_interface,
27846            'database': self.database,
27847            'egress_filter': self.egress_filter,
27848            'healthy': self.healthy,
27849            'hostname': self.hostname,
27850            'id': self.id,
27851            'name': self.name,
27852            'password': self.password,
27853            'port': self.port,
27854            'port_override': self.port_override,
27855            'proxy_cluster_id': self.proxy_cluster_id,
27856            'secret_store_id': self.secret_store_id,
27857            'subdomain': self.subdomain,
27858            'tags': self.tags,
27859            'username': self.username,
27860        }
27861
27862    @classmethod
27863    def from_dict(cls, d):
27864        return cls(
27865            bind_interface=d.get('bind_interface'),
27866            database=d.get('database'),
27867            egress_filter=d.get('egress_filter'),
27868            healthy=d.get('healthy'),
27869            hostname=d.get('hostname'),
27870            id=d.get('id'),
27871            name=d.get('name'),
27872            password=d.get('password'),
27873            port=d.get('port'),
27874            port_override=d.get('port_override'),
27875            proxy_cluster_id=d.get('proxy_cluster_id'),
27876            secret_store_id=d.get('secret_store_id'),
27877            subdomain=d.get('subdomain'),
27878            tags=d.get('tags'),
27879            username=d.get('username'),
27880        )

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

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)
27745    def __init__(
27746        self,
27747        bind_interface=None,
27748        database=None,
27749        egress_filter=None,
27750        healthy=None,
27751        hostname=None,
27752        id=None,
27753        name=None,
27754        password=None,
27755        port=None,
27756        port_override=None,
27757        proxy_cluster_id=None,
27758        secret_store_id=None,
27759        subdomain=None,
27760        tags=None,
27761        username=None,
27762    ):
27763        self.bind_interface = bind_interface if bind_interface is not None else ''
27764        '''
27765         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27766        '''
27767        self.database = database if database is not None else ''
27768        '''
27769         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27770        '''
27771        self.egress_filter = egress_filter if egress_filter is not None else ''
27772        '''
27773         A filter applied to the routing logic to pin datasource to nodes.
27774        '''
27775        self.healthy = healthy if healthy is not None else False
27776        '''
27777         True if the datasource is reachable and the credentials are valid.
27778        '''
27779        self.hostname = hostname if hostname is not None else ''
27780        '''
27781         The host to dial to initiate a connection from the egress node to this resource.
27782        '''
27783        self.id = id if id is not None else ''
27784        '''
27785         Unique identifier of the Resource.
27786        '''
27787        self.name = name if name is not None else ''
27788        '''
27789         Unique human-readable name of the Resource.
27790        '''
27791        self.password = password if password is not None else ''
27792        '''
27793         The password to authenticate with.
27794        '''
27795        self.port = port if port is not None else 0
27796        '''
27797         The port to dial to initiate a connection from the egress node to this resource.
27798        '''
27799        self.port_override = port_override if port_override is not None else 0
27800        '''
27801         The local port used by clients to connect to this resource.
27802        '''
27803        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27804        '''
27805         ID of the proxy cluster for this resource, if any.
27806        '''
27807        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27808        '''
27809         ID of the secret store containing credentials for this resource, if any.
27810        '''
27811        self.subdomain = subdomain if subdomain is not None else ''
27812        '''
27813         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27814        '''
27815        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27816        '''
27817         Tags is a map of key, value pairs.
27818        '''
27819        self.username = username if username is not None else ''
27820        '''
27821         The username to authenticate with.
27822        '''
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)
27843    def to_dict(self):
27844        return {
27845            'bind_interface': self.bind_interface,
27846            'database': self.database,
27847            'egress_filter': self.egress_filter,
27848            'healthy': self.healthy,
27849            'hostname': self.hostname,
27850            'id': self.id,
27851            'name': self.name,
27852            'password': self.password,
27853            'port': self.port,
27854            'port_override': self.port_override,
27855            'proxy_cluster_id': self.proxy_cluster_id,
27856            'secret_store_id': self.secret_store_id,
27857            'subdomain': self.subdomain,
27858            'tags': self.tags,
27859            'username': self.username,
27860        }
@classmethod
def from_dict(cls, d)
27862    @classmethod
27863    def from_dict(cls, d):
27864        return cls(
27865            bind_interface=d.get('bind_interface'),
27866            database=d.get('database'),
27867            egress_filter=d.get('egress_filter'),
27868            healthy=d.get('healthy'),
27869            hostname=d.get('hostname'),
27870            id=d.get('id'),
27871            name=d.get('name'),
27872            password=d.get('password'),
27873            port=d.get('port'),
27874            port_override=d.get('port_override'),
27875            proxy_cluster_id=d.get('proxy_cluster_id'),
27876            secret_store_id=d.get('secret_store_id'),
27877            subdomain=d.get('subdomain'),
27878            tags=d.get('tags'),
27879            username=d.get('username'),
27880        )
class Workflow:
27883class Workflow:
27884    '''
27885         Workflows are the collection of rules that define the resources to which access can be requested,
27886     the users that can request that access, and the mechanism for approving those requests which can either
27887     but automatic approval or a set of users authorized to approve the requests.
27888    '''
27889    __slots__ = [
27890        'access_request_fixed_duration',
27891        'access_request_max_duration',
27892        'access_rules',
27893        'approval_flow_id',
27894        'auto_grant',
27895        'description',
27896        'enabled',
27897        'id',
27898        'name',
27899        'weight',
27900    ]
27901
27902    def __init__(
27903        self,
27904        access_request_fixed_duration=None,
27905        access_request_max_duration=None,
27906        access_rules=None,
27907        approval_flow_id=None,
27908        auto_grant=None,
27909        description=None,
27910        enabled=None,
27911        id=None,
27912        name=None,
27913        weight=None,
27914    ):
27915        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
27916        '''
27917         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
27918         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
27919        '''
27920        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
27921        '''
27922         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
27923         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
27924        '''
27925        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
27926        )
27927        '''
27928         AccessRules is a list of access rules defining the resources this Workflow provides access to.
27929        '''
27930        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
27931        '''
27932         Optional approval flow ID identifies an approval flow that linked to the workflow
27933        '''
27934        self.auto_grant = auto_grant if auto_grant is not None else False
27935        '''
27936         Optional auto grant setting to automatically approve requests or not, defaults to false.
27937        '''
27938        self.description = description if description is not None else ''
27939        '''
27940         Optional description of the Workflow.
27941        '''
27942        self.enabled = enabled if enabled is not None else False
27943        '''
27944         Optional enabled state for workflow. This setting may be overridden by the system if
27945         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
27946         enabling the workflow. The requirements to enable a workflow are that the workflow must be
27947         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
27948         the workflow.
27949        '''
27950        self.id = id if id is not None else ''
27951        '''
27952         Unique identifier of the Workflow.
27953        '''
27954        self.name = name if name is not None else ''
27955        '''
27956         Unique human-readable name of the Workflow.
27957        '''
27958        self.weight = weight if weight is not None else 0
27959        '''
27960         Optional weight for workflow to specify it's priority in matching a request.
27961        '''
27962
27963    def __repr__(self):
27964        return '<sdm.Workflow ' + \
27965            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
27966            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
27967            'access_rules: ' + repr(self.access_rules) + ' ' +\
27968            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
27969            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
27970            'description: ' + repr(self.description) + ' ' +\
27971            'enabled: ' + repr(self.enabled) + ' ' +\
27972            'id: ' + repr(self.id) + ' ' +\
27973            'name: ' + repr(self.name) + ' ' +\
27974            'weight: ' + repr(self.weight) + ' ' +\
27975            '>'
27976
27977    def to_dict(self):
27978        return {
27979            'access_request_fixed_duration':
27980            self.access_request_fixed_duration,
27981            'access_request_max_duration': self.access_request_max_duration,
27982            'access_rules': self.access_rules,
27983            'approval_flow_id': self.approval_flow_id,
27984            'auto_grant': self.auto_grant,
27985            'description': self.description,
27986            'enabled': self.enabled,
27987            'id': self.id,
27988            'name': self.name,
27989            'weight': self.weight,
27990        }
27991
27992    @classmethod
27993    def from_dict(cls, d):
27994        return cls(
27995            access_request_fixed_duration=d.get(
27996                'access_request_fixed_duration'),
27997            access_request_max_duration=d.get('access_request_max_duration'),
27998            access_rules=d.get('access_rules'),
27999            approval_flow_id=d.get('approval_flow_id'),
28000            auto_grant=d.get('auto_grant'),
28001            description=d.get('description'),
28002            enabled=d.get('enabled'),
28003            id=d.get('id'),
28004            name=d.get('name'),
28005            weight=d.get('weight'),
28006        )

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)
27902    def __init__(
27903        self,
27904        access_request_fixed_duration=None,
27905        access_request_max_duration=None,
27906        access_rules=None,
27907        approval_flow_id=None,
27908        auto_grant=None,
27909        description=None,
27910        enabled=None,
27911        id=None,
27912        name=None,
27913        weight=None,
27914    ):
27915        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
27916        '''
27917         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
27918         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
27919        '''
27920        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
27921        '''
27922         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
27923         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
27924        '''
27925        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
27926        )
27927        '''
27928         AccessRules is a list of access rules defining the resources this Workflow provides access to.
27929        '''
27930        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
27931        '''
27932         Optional approval flow ID identifies an approval flow that linked to the workflow
27933        '''
27934        self.auto_grant = auto_grant if auto_grant is not None else False
27935        '''
27936         Optional auto grant setting to automatically approve requests or not, defaults to false.
27937        '''
27938        self.description = description if description is not None else ''
27939        '''
27940         Optional description of the Workflow.
27941        '''
27942        self.enabled = enabled if enabled is not None else False
27943        '''
27944         Optional enabled state for workflow. This setting may be overridden by the system if
27945         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
27946         enabling the workflow. The requirements to enable a workflow are that the workflow must be
27947         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
27948         the workflow.
27949        '''
27950        self.id = id if id is not None else ''
27951        '''
27952         Unique identifier of the Workflow.
27953        '''
27954        self.name = name if name is not None else ''
27955        '''
27956         Unique human-readable name of the Workflow.
27957        '''
27958        self.weight = weight if weight is not None else 0
27959        '''
27960         Optional weight for workflow to specify it's priority in matching a request.
27961        '''
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)
27977    def to_dict(self):
27978        return {
27979            'access_request_fixed_duration':
27980            self.access_request_fixed_duration,
27981            'access_request_max_duration': self.access_request_max_duration,
27982            'access_rules': self.access_rules,
27983            'approval_flow_id': self.approval_flow_id,
27984            'auto_grant': self.auto_grant,
27985            'description': self.description,
27986            'enabled': self.enabled,
27987            'id': self.id,
27988            'name': self.name,
27989            'weight': self.weight,
27990        }
@classmethod
def from_dict(cls, d)
27992    @classmethod
27993    def from_dict(cls, d):
27994        return cls(
27995            access_request_fixed_duration=d.get(
27996                'access_request_fixed_duration'),
27997            access_request_max_duration=d.get('access_request_max_duration'),
27998            access_rules=d.get('access_rules'),
27999            approval_flow_id=d.get('approval_flow_id'),
28000            auto_grant=d.get('auto_grant'),
28001            description=d.get('description'),
28002            enabled=d.get('enabled'),
28003            id=d.get('id'),
28004            name=d.get('name'),
28005            weight=d.get('weight'),
28006        )
class WorkflowApprover:
28009class WorkflowApprover:
28010    '''
28011         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
28012    '''
28013    __slots__ = [
28014        'account_id',
28015        'id',
28016        'role_id',
28017        'workflow_id',
28018    ]
28019
28020    def __init__(
28021        self,
28022        account_id=None,
28023        id=None,
28024        role_id=None,
28025        workflow_id=None,
28026    ):
28027        self.account_id = account_id if account_id is not None else ''
28028        '''
28029         The approver account id.
28030        '''
28031        self.id = id if id is not None else ''
28032        '''
28033         Unique identifier of the WorkflowApprover.
28034        '''
28035        self.role_id = role_id if role_id is not None else ''
28036        '''
28037         The approver role id
28038        '''
28039        self.workflow_id = workflow_id if workflow_id is not None else ''
28040        '''
28041         The workflow id.
28042        '''
28043
28044    def __repr__(self):
28045        return '<sdm.WorkflowApprover ' + \
28046            'account_id: ' + repr(self.account_id) + ' ' +\
28047            'id: ' + repr(self.id) + ' ' +\
28048            'role_id: ' + repr(self.role_id) + ' ' +\
28049            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
28050            '>'
28051
28052    def to_dict(self):
28053        return {
28054            'account_id': self.account_id,
28055            'id': self.id,
28056            'role_id': self.role_id,
28057            'workflow_id': self.workflow_id,
28058        }
28059
28060    @classmethod
28061    def from_dict(cls, d):
28062        return cls(
28063            account_id=d.get('account_id'),
28064            id=d.get('id'),
28065            role_id=d.get('role_id'),
28066            workflow_id=d.get('workflow_id'),
28067        )

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)
28020    def __init__(
28021        self,
28022        account_id=None,
28023        id=None,
28024        role_id=None,
28025        workflow_id=None,
28026    ):
28027        self.account_id = account_id if account_id is not None else ''
28028        '''
28029         The approver account id.
28030        '''
28031        self.id = id if id is not None else ''
28032        '''
28033         Unique identifier of the WorkflowApprover.
28034        '''
28035        self.role_id = role_id if role_id is not None else ''
28036        '''
28037         The approver role id
28038        '''
28039        self.workflow_id = workflow_id if workflow_id is not None else ''
28040        '''
28041         The workflow id.
28042        '''
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)
28052    def to_dict(self):
28053        return {
28054            'account_id': self.account_id,
28055            'id': self.id,
28056            'role_id': self.role_id,
28057            'workflow_id': self.workflow_id,
28058        }
@classmethod
def from_dict(cls, d)
28060    @classmethod
28061    def from_dict(cls, d):
28062        return cls(
28063            account_id=d.get('account_id'),
28064            id=d.get('id'),
28065            role_id=d.get('role_id'),
28066            workflow_id=d.get('workflow_id'),
28067        )
class WorkflowApproverGetResponse:
28070class WorkflowApproverGetResponse:
28071    '''
28072         WorkflowApproverGetResponse returns a requested WorkflowApprover.
28073    '''
28074    __slots__ = [
28075        'meta',
28076        'rate_limit',
28077        'workflow_approver',
28078    ]
28079
28080    def __init__(
28081        self,
28082        meta=None,
28083        rate_limit=None,
28084        workflow_approver=None,
28085    ):
28086        self.meta = meta if meta is not None else None
28087        '''
28088         Reserved for future use.
28089        '''
28090        self.rate_limit = rate_limit if rate_limit is not None else None
28091        '''
28092         Rate limit information.
28093        '''
28094        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28095        '''
28096         The requested WorkflowApprover.
28097        '''
28098
28099    def __repr__(self):
28100        return '<sdm.WorkflowApproverGetResponse ' + \
28101            'meta: ' + repr(self.meta) + ' ' +\
28102            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28103            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28104            '>'
28105
28106    def to_dict(self):
28107        return {
28108            'meta': self.meta,
28109            'rate_limit': self.rate_limit,
28110            'workflow_approver': self.workflow_approver,
28111        }
28112
28113    @classmethod
28114    def from_dict(cls, d):
28115        return cls(
28116            meta=d.get('meta'),
28117            rate_limit=d.get('rate_limit'),
28118            workflow_approver=d.get('workflow_approver'),
28119        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
28080    def __init__(
28081        self,
28082        meta=None,
28083        rate_limit=None,
28084        workflow_approver=None,
28085    ):
28086        self.meta = meta if meta is not None else None
28087        '''
28088         Reserved for future use.
28089        '''
28090        self.rate_limit = rate_limit if rate_limit is not None else None
28091        '''
28092         Rate limit information.
28093        '''
28094        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28095        '''
28096         The requested WorkflowApprover.
28097        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
28106    def to_dict(self):
28107        return {
28108            'meta': self.meta,
28109            'rate_limit': self.rate_limit,
28110            'workflow_approver': self.workflow_approver,
28111        }
@classmethod
def from_dict(cls, d)
28113    @classmethod
28114    def from_dict(cls, d):
28115        return cls(
28116            meta=d.get('meta'),
28117            rate_limit=d.get('rate_limit'),
28118            workflow_approver=d.get('workflow_approver'),
28119        )
class WorkflowApproverHistory:
28122class WorkflowApproverHistory:
28123    '''
28124         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
28125    '''
28126    __slots__ = [
28127        'activity_id',
28128        'deleted_at',
28129        'timestamp',
28130        'workflow_approver',
28131    ]
28132
28133    def __init__(
28134        self,
28135        activity_id=None,
28136        deleted_at=None,
28137        timestamp=None,
28138        workflow_approver=None,
28139    ):
28140        self.activity_id = activity_id if activity_id is not None else ''
28141        '''
28142         The unique identifier of the Activity that produced this change to the WorkflowApprover.
28143         May be empty for some system-initiated updates.
28144        '''
28145        self.deleted_at = deleted_at if deleted_at is not None else None
28146        '''
28147         If this WorkflowApprover was deleted, the time it was deleted.
28148        '''
28149        self.timestamp = timestamp if timestamp is not None else None
28150        '''
28151         The time at which the WorkflowApprover state was recorded.
28152        '''
28153        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28154        '''
28155         The complete WorkflowApprover state at this time.
28156        '''
28157
28158    def __repr__(self):
28159        return '<sdm.WorkflowApproverHistory ' + \
28160            'activity_id: ' + repr(self.activity_id) + ' ' +\
28161            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28162            'timestamp: ' + repr(self.timestamp) + ' ' +\
28163            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28164            '>'
28165
28166    def to_dict(self):
28167        return {
28168            'activity_id': self.activity_id,
28169            'deleted_at': self.deleted_at,
28170            'timestamp': self.timestamp,
28171            'workflow_approver': self.workflow_approver,
28172        }
28173
28174    @classmethod
28175    def from_dict(cls, d):
28176        return cls(
28177            activity_id=d.get('activity_id'),
28178            deleted_at=d.get('deleted_at'),
28179            timestamp=d.get('timestamp'),
28180            workflow_approver=d.get('workflow_approver'),
28181        )

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

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
28133    def __init__(
28134        self,
28135        activity_id=None,
28136        deleted_at=None,
28137        timestamp=None,
28138        workflow_approver=None,
28139    ):
28140        self.activity_id = activity_id if activity_id is not None else ''
28141        '''
28142         The unique identifier of the Activity that produced this change to the WorkflowApprover.
28143         May be empty for some system-initiated updates.
28144        '''
28145        self.deleted_at = deleted_at if deleted_at is not None else None
28146        '''
28147         If this WorkflowApprover was deleted, the time it was deleted.
28148        '''
28149        self.timestamp = timestamp if timestamp is not None else None
28150        '''
28151         The time at which the WorkflowApprover state was recorded.
28152        '''
28153        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28154        '''
28155         The complete WorkflowApprover state at this time.
28156        '''
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)
28166    def to_dict(self):
28167        return {
28168            'activity_id': self.activity_id,
28169            'deleted_at': self.deleted_at,
28170            'timestamp': self.timestamp,
28171            'workflow_approver': self.workflow_approver,
28172        }
@classmethod
def from_dict(cls, d)
28174    @classmethod
28175    def from_dict(cls, d):
28176        return cls(
28177            activity_id=d.get('activity_id'),
28178            deleted_at=d.get('deleted_at'),
28179            timestamp=d.get('timestamp'),
28180            workflow_approver=d.get('workflow_approver'),
28181        )
class WorkflowApproversCreateRequest:
28184class WorkflowApproversCreateRequest:
28185    '''
28186         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
28187     workflow approver to be created.
28188    '''
28189    __slots__ = [
28190        'workflow_approver',
28191    ]
28192
28193    def __init__(
28194        self,
28195        workflow_approver=None,
28196    ):
28197        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28198        '''
28199         Parameters to define the new WorkflowApprover.
28200        '''
28201
28202    def __repr__(self):
28203        return '<sdm.WorkflowApproversCreateRequest ' + \
28204            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28205            '>'
28206
28207    def to_dict(self):
28208        return {
28209            'workflow_approver': self.workflow_approver,
28210        }
28211
28212    @classmethod
28213    def from_dict(cls, d):
28214        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)
28193    def __init__(
28194        self,
28195        workflow_approver=None,
28196    ):
28197        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28198        '''
28199         Parameters to define the new WorkflowApprover.
28200        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
28207    def to_dict(self):
28208        return {
28209            'workflow_approver': self.workflow_approver,
28210        }
@classmethod
def from_dict(cls, d)
28212    @classmethod
28213    def from_dict(cls, d):
28214        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
28217class WorkflowApproversCreateResponse:
28218    '''
28219         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
28220    '''
28221    __slots__ = [
28222        'rate_limit',
28223        'workflow_approver',
28224    ]
28225
28226    def __init__(
28227        self,
28228        rate_limit=None,
28229        workflow_approver=None,
28230    ):
28231        self.rate_limit = rate_limit if rate_limit is not None else None
28232        '''
28233         Rate limit information.
28234        '''
28235        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28236        '''
28237         The created workflow approver.
28238        '''
28239
28240    def __repr__(self):
28241        return '<sdm.WorkflowApproversCreateResponse ' + \
28242            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28243            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
28244            '>'
28245
28246    def to_dict(self):
28247        return {
28248            'rate_limit': self.rate_limit,
28249            'workflow_approver': self.workflow_approver,
28250        }
28251
28252    @classmethod
28253    def from_dict(cls, d):
28254        return cls(
28255            rate_limit=d.get('rate_limit'),
28256            workflow_approver=d.get('workflow_approver'),
28257        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
28226    def __init__(
28227        self,
28228        rate_limit=None,
28229        workflow_approver=None,
28230    ):
28231        self.rate_limit = rate_limit if rate_limit is not None else None
28232        '''
28233         Rate limit information.
28234        '''
28235        self.workflow_approver = workflow_approver if workflow_approver is not None else None
28236        '''
28237         The created workflow approver.
28238        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
28246    def to_dict(self):
28247        return {
28248            'rate_limit': self.rate_limit,
28249            'workflow_approver': self.workflow_approver,
28250        }
@classmethod
def from_dict(cls, d)
28252    @classmethod
28253    def from_dict(cls, d):
28254        return cls(
28255            rate_limit=d.get('rate_limit'),
28256            workflow_approver=d.get('workflow_approver'),
28257        )
class WorkflowApproversDeleteRequest:
28260class WorkflowApproversDeleteRequest:
28261    '''
28262         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
28263    '''
28264    __slots__ = [
28265        'id',
28266    ]
28267
28268    def __init__(
28269        self,
28270        id=None,
28271    ):
28272        self.id = id if id is not None else ''
28273        '''
28274         The unique identifier of the WorkflowApprover to delete.
28275        '''
28276
28277    def __repr__(self):
28278        return '<sdm.WorkflowApproversDeleteRequest ' + \
28279            'id: ' + repr(self.id) + ' ' +\
28280            '>'
28281
28282    def to_dict(self):
28283        return {
28284            'id': self.id,
28285        }
28286
28287    @classmethod
28288    def from_dict(cls, d):
28289        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
28268    def __init__(
28269        self,
28270        id=None,
28271    ):
28272        self.id = id if id is not None else ''
28273        '''
28274         The unique identifier of the WorkflowApprover to delete.
28275        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
28282    def to_dict(self):
28283        return {
28284            'id': self.id,
28285        }
@classmethod
def from_dict(cls, d)
28287    @classmethod
28288    def from_dict(cls, d):
28289        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
28292class WorkflowApproversDeleteResponse:
28293    '''
28294         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
28295    '''
28296    __slots__ = [
28297        'rate_limit',
28298    ]
28299
28300    def __init__(
28301        self,
28302        rate_limit=None,
28303    ):
28304        self.rate_limit = rate_limit if rate_limit is not None else None
28305        '''
28306         Rate limit information.
28307        '''
28308
28309    def __repr__(self):
28310        return '<sdm.WorkflowApproversDeleteResponse ' + \
28311            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28312            '>'
28313
28314    def to_dict(self):
28315        return {
28316            'rate_limit': self.rate_limit,
28317        }
28318
28319    @classmethod
28320    def from_dict(cls, d):
28321        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
28300    def __init__(
28301        self,
28302        rate_limit=None,
28303    ):
28304        self.rate_limit = rate_limit if rate_limit is not None else None
28305        '''
28306         Rate limit information.
28307        '''
rate_limit

Rate limit information.

def to_dict(self)
28314    def to_dict(self):
28315        return {
28316            'rate_limit': self.rate_limit,
28317        }
@classmethod
def from_dict(cls, d)
28319    @classmethod
28320    def from_dict(cls, d):
28321        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
28324class WorkflowApproversListRequest:
28325    '''
28326         WorkflowApproversListRequest specifies criteria for retrieving a list of
28327     WorkflowApprover records
28328    '''
28329    __slots__ = [
28330        'filter',
28331    ]
28332
28333    def __init__(
28334        self,
28335        filter=None,
28336    ):
28337        self.filter = filter if filter is not None else ''
28338        '''
28339         A human-readable filter query string.
28340        '''
28341
28342    def __repr__(self):
28343        return '<sdm.WorkflowApproversListRequest ' + \
28344            'filter: ' + repr(self.filter) + ' ' +\
28345            '>'
28346
28347    def to_dict(self):
28348        return {
28349            'filter': self.filter,
28350        }
28351
28352    @classmethod
28353    def from_dict(cls, d):
28354        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
28333    def __init__(
28334        self,
28335        filter=None,
28336    ):
28337        self.filter = filter if filter is not None else ''
28338        '''
28339         A human-readable filter query string.
28340        '''
filter

A human-readable filter query string.

def to_dict(self)
28347    def to_dict(self):
28348        return {
28349            'filter': self.filter,
28350        }
@classmethod
def from_dict(cls, d)
28352    @classmethod
28353    def from_dict(cls, d):
28354        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
28357class WorkflowApproversListResponse:
28358    '''
28359         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
28360     the criteria of a WorkflowApproversListRequest.
28361    '''
28362    __slots__ = [
28363        'rate_limit',
28364    ]
28365
28366    def __init__(
28367        self,
28368        rate_limit=None,
28369    ):
28370        self.rate_limit = rate_limit if rate_limit is not None else None
28371        '''
28372         Rate limit information.
28373        '''
28374
28375    def __repr__(self):
28376        return '<sdm.WorkflowApproversListResponse ' + \
28377            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28378            '>'
28379
28380    def to_dict(self):
28381        return {
28382            'rate_limit': self.rate_limit,
28383        }
28384
28385    @classmethod
28386    def from_dict(cls, d):
28387        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)
28366    def __init__(
28367        self,
28368        rate_limit=None,
28369    ):
28370        self.rate_limit = rate_limit if rate_limit is not None else None
28371        '''
28372         Rate limit information.
28373        '''
rate_limit

Rate limit information.

def to_dict(self)
28380    def to_dict(self):
28381        return {
28382            'rate_limit': self.rate_limit,
28383        }
@classmethod
def from_dict(cls, d)
28385    @classmethod
28386    def from_dict(cls, d):
28387        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowAssignment:
28390class WorkflowAssignment:
28391    '''
28392         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
28393     access to via the workflow.
28394    '''
28395    __slots__ = [
28396        'resource_id',
28397        'workflow_id',
28398    ]
28399
28400    def __init__(
28401        self,
28402        resource_id=None,
28403        workflow_id=None,
28404    ):
28405        self.resource_id = resource_id if resource_id is not None else ''
28406        '''
28407         The resource id.
28408        '''
28409        self.workflow_id = workflow_id if workflow_id is not None else ''
28410        '''
28411         The workflow id.
28412        '''
28413
28414    def __repr__(self):
28415        return '<sdm.WorkflowAssignment ' + \
28416            'resource_id: ' + repr(self.resource_id) + ' ' +\
28417            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
28418            '>'
28419
28420    def to_dict(self):
28421        return {
28422            'resource_id': self.resource_id,
28423            'workflow_id': self.workflow_id,
28424        }
28425
28426    @classmethod
28427    def from_dict(cls, d):
28428        return cls(
28429            resource_id=d.get('resource_id'),
28430            workflow_id=d.get('workflow_id'),
28431        )

WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request access to via the workflow.

WorkflowAssignment(resource_id=None, workflow_id=None)
28400    def __init__(
28401        self,
28402        resource_id=None,
28403        workflow_id=None,
28404    ):
28405        self.resource_id = resource_id if resource_id is not None else ''
28406        '''
28407         The resource id.
28408        '''
28409        self.workflow_id = workflow_id if workflow_id is not None else ''
28410        '''
28411         The workflow id.
28412        '''
resource_id

The resource id.

workflow_id

The workflow id.

def to_dict(self)
28420    def to_dict(self):
28421        return {
28422            'resource_id': self.resource_id,
28423            'workflow_id': self.workflow_id,
28424        }
@classmethod
def from_dict(cls, d)
28426    @classmethod
28427    def from_dict(cls, d):
28428        return cls(
28429            resource_id=d.get('resource_id'),
28430            workflow_id=d.get('workflow_id'),
28431        )
class WorkflowAssignmentHistory:
28434class WorkflowAssignmentHistory:
28435    '''
28436         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
28437    '''
28438    __slots__ = [
28439        'activity_id',
28440        'deleted_at',
28441        'timestamp',
28442        'workflow_assignment',
28443    ]
28444
28445    def __init__(
28446        self,
28447        activity_id=None,
28448        deleted_at=None,
28449        timestamp=None,
28450        workflow_assignment=None,
28451    ):
28452        self.activity_id = activity_id if activity_id is not None else ''
28453        '''
28454         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
28455         May be empty for some system-initiated updates.
28456        '''
28457        self.deleted_at = deleted_at if deleted_at is not None else None
28458        '''
28459         If this WorkflowAssignment was deleted, the time it was deleted.
28460        '''
28461        self.timestamp = timestamp if timestamp is not None else None
28462        '''
28463         The time at which the WorkflowAssignment state was recorded.
28464        '''
28465        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
28466        '''
28467         The complete WorkflowAssignment state at this time.
28468        '''
28469
28470    def __repr__(self):
28471        return '<sdm.WorkflowAssignmentHistory ' + \
28472            'activity_id: ' + repr(self.activity_id) + ' ' +\
28473            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28474            'timestamp: ' + repr(self.timestamp) + ' ' +\
28475            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
28476            '>'
28477
28478    def to_dict(self):
28479        return {
28480            'activity_id': self.activity_id,
28481            'deleted_at': self.deleted_at,
28482            'timestamp': self.timestamp,
28483            'workflow_assignment': self.workflow_assignment,
28484        }
28485
28486    @classmethod
28487    def from_dict(cls, d):
28488        return cls(
28489            activity_id=d.get('activity_id'),
28490            deleted_at=d.get('deleted_at'),
28491            timestamp=d.get('timestamp'),
28492            workflow_assignment=d.get('workflow_assignment'),
28493        )

WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.

WorkflowAssignmentHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_assignment=None)
28445    def __init__(
28446        self,
28447        activity_id=None,
28448        deleted_at=None,
28449        timestamp=None,
28450        workflow_assignment=None,
28451    ):
28452        self.activity_id = activity_id if activity_id is not None else ''
28453        '''
28454         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
28455         May be empty for some system-initiated updates.
28456        '''
28457        self.deleted_at = deleted_at if deleted_at is not None else None
28458        '''
28459         If this WorkflowAssignment was deleted, the time it was deleted.
28460        '''
28461        self.timestamp = timestamp if timestamp is not None else None
28462        '''
28463         The time at which the WorkflowAssignment state was recorded.
28464        '''
28465        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
28466        '''
28467         The complete WorkflowAssignment state at this time.
28468        '''
activity_id

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

deleted_at

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

timestamp

The time at which the WorkflowAssignment state was recorded.

workflow_assignment

The complete WorkflowAssignment state at this time.

def to_dict(self)
28478    def to_dict(self):
28479        return {
28480            'activity_id': self.activity_id,
28481            'deleted_at': self.deleted_at,
28482            'timestamp': self.timestamp,
28483            'workflow_assignment': self.workflow_assignment,
28484        }
@classmethod
def from_dict(cls, d)
28486    @classmethod
28487    def from_dict(cls, d):
28488        return cls(
28489            activity_id=d.get('activity_id'),
28490            deleted_at=d.get('deleted_at'),
28491            timestamp=d.get('timestamp'),
28492            workflow_assignment=d.get('workflow_assignment'),
28493        )
class WorkflowAssignmentsListRequest:
28496class WorkflowAssignmentsListRequest:
28497    '''
28498         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
28499     WorkflowAssignment records
28500    '''
28501    __slots__ = [
28502        'filter',
28503    ]
28504
28505    def __init__(
28506        self,
28507        filter=None,
28508    ):
28509        self.filter = filter if filter is not None else ''
28510        '''
28511         A human-readable filter query string.
28512        '''
28513
28514    def __repr__(self):
28515        return '<sdm.WorkflowAssignmentsListRequest ' + \
28516            'filter: ' + repr(self.filter) + ' ' +\
28517            '>'
28518
28519    def to_dict(self):
28520        return {
28521            'filter': self.filter,
28522        }
28523
28524    @classmethod
28525    def from_dict(cls, d):
28526        return cls(filter=d.get('filter'), )

WorkflowAssignmentsListRequest specifies criteria for retrieving a list of WorkflowAssignment records

WorkflowAssignmentsListRequest(filter=None)
28505    def __init__(
28506        self,
28507        filter=None,
28508    ):
28509        self.filter = filter if filter is not None else ''
28510        '''
28511         A human-readable filter query string.
28512        '''
filter

A human-readable filter query string.

def to_dict(self)
28519    def to_dict(self):
28520        return {
28521            'filter': self.filter,
28522        }
@classmethod
def from_dict(cls, d)
28524    @classmethod
28525    def from_dict(cls, d):
28526        return cls(filter=d.get('filter'), )
class WorkflowAssignmentsListResponse:
28529class WorkflowAssignmentsListResponse:
28530    '''
28531         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
28532     the criteria of a WorkflowAssignmentsListRequest.
28533    '''
28534    __slots__ = [
28535        'rate_limit',
28536    ]
28537
28538    def __init__(
28539        self,
28540        rate_limit=None,
28541    ):
28542        self.rate_limit = rate_limit if rate_limit is not None else None
28543        '''
28544         Rate limit information.
28545        '''
28546
28547    def __repr__(self):
28548        return '<sdm.WorkflowAssignmentsListResponse ' + \
28549            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28550            '>'
28551
28552    def to_dict(self):
28553        return {
28554            'rate_limit': self.rate_limit,
28555        }
28556
28557    @classmethod
28558    def from_dict(cls, d):
28559        return cls(rate_limit=d.get('rate_limit'), )

WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet the criteria of a WorkflowAssignmentsListRequest.

WorkflowAssignmentsListResponse(rate_limit=None)
28538    def __init__(
28539        self,
28540        rate_limit=None,
28541    ):
28542        self.rate_limit = rate_limit if rate_limit is not None else None
28543        '''
28544         Rate limit information.
28545        '''
rate_limit

Rate limit information.

def to_dict(self)
28552    def to_dict(self):
28553        return {
28554            'rate_limit': self.rate_limit,
28555        }
@classmethod
def from_dict(cls, d)
28557    @classmethod
28558    def from_dict(cls, d):
28559        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
28562class WorkflowCreateResponse:
28563    '''
28564         WorkflowCreateResponse reports how the Workflow was created in the system.
28565    '''
28566    __slots__ = [
28567        'rate_limit',
28568        'workflow',
28569    ]
28570
28571    def __init__(
28572        self,
28573        rate_limit=None,
28574        workflow=None,
28575    ):
28576        self.rate_limit = rate_limit if rate_limit is not None else None
28577        '''
28578         Rate limit information.
28579        '''
28580        self.workflow = workflow if workflow is not None else None
28581        '''
28582         The created workflow.
28583        '''
28584
28585    def __repr__(self):
28586        return '<sdm.WorkflowCreateResponse ' + \
28587            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28588            'workflow: ' + repr(self.workflow) + ' ' +\
28589            '>'
28590
28591    def to_dict(self):
28592        return {
28593            'rate_limit': self.rate_limit,
28594            'workflow': self.workflow,
28595        }
28596
28597    @classmethod
28598    def from_dict(cls, d):
28599        return cls(
28600            rate_limit=d.get('rate_limit'),
28601            workflow=d.get('workflow'),
28602        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
28571    def __init__(
28572        self,
28573        rate_limit=None,
28574        workflow=None,
28575    ):
28576        self.rate_limit = rate_limit if rate_limit is not None else None
28577        '''
28578         Rate limit information.
28579        '''
28580        self.workflow = workflow if workflow is not None else None
28581        '''
28582         The created workflow.
28583        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
28591    def to_dict(self):
28592        return {
28593            'rate_limit': self.rate_limit,
28594            'workflow': self.workflow,
28595        }
@classmethod
def from_dict(cls, d)
28597    @classmethod
28598    def from_dict(cls, d):
28599        return cls(
28600            rate_limit=d.get('rate_limit'),
28601            workflow=d.get('workflow'),
28602        )
class WorkflowDeleteResponse:
28605class WorkflowDeleteResponse:
28606    '''
28607         WorkflowDeleteResponse returns information about a Workflow that was deleted.
28608    '''
28609    __slots__ = [
28610        'id',
28611        'rate_limit',
28612    ]
28613
28614    def __init__(
28615        self,
28616        id=None,
28617        rate_limit=None,
28618    ):
28619        self.id = id if id is not None else ''
28620        '''
28621         The deleted workflow id.
28622        '''
28623        self.rate_limit = rate_limit if rate_limit is not None else None
28624        '''
28625         Rate limit information.
28626        '''
28627
28628    def __repr__(self):
28629        return '<sdm.WorkflowDeleteResponse ' + \
28630            'id: ' + repr(self.id) + ' ' +\
28631            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28632            '>'
28633
28634    def to_dict(self):
28635        return {
28636            'id': self.id,
28637            'rate_limit': self.rate_limit,
28638        }
28639
28640    @classmethod
28641    def from_dict(cls, d):
28642        return cls(
28643            id=d.get('id'),
28644            rate_limit=d.get('rate_limit'),
28645        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
28614    def __init__(
28615        self,
28616        id=None,
28617        rate_limit=None,
28618    ):
28619        self.id = id if id is not None else ''
28620        '''
28621         The deleted workflow id.
28622        '''
28623        self.rate_limit = rate_limit if rate_limit is not None else None
28624        '''
28625         Rate limit information.
28626        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
28634    def to_dict(self):
28635        return {
28636            'id': self.id,
28637            'rate_limit': self.rate_limit,
28638        }
@classmethod
def from_dict(cls, d)
28640    @classmethod
28641    def from_dict(cls, d):
28642        return cls(
28643            id=d.get('id'),
28644            rate_limit=d.get('rate_limit'),
28645        )
class WorkflowGetResponse:
28648class WorkflowGetResponse:
28649    '''
28650         WorkflowGetResponse returns a requested Workflow.
28651    '''
28652    __slots__ = [
28653        'meta',
28654        'rate_limit',
28655        'workflow',
28656    ]
28657
28658    def __init__(
28659        self,
28660        meta=None,
28661        rate_limit=None,
28662        workflow=None,
28663    ):
28664        self.meta = meta if meta is not None else None
28665        '''
28666         Reserved for future use.
28667        '''
28668        self.rate_limit = rate_limit if rate_limit is not None else None
28669        '''
28670         Rate limit information.
28671        '''
28672        self.workflow = workflow if workflow is not None else None
28673        '''
28674         The requested Workflow.
28675        '''
28676
28677    def __repr__(self):
28678        return '<sdm.WorkflowGetResponse ' + \
28679            'meta: ' + repr(self.meta) + ' ' +\
28680            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28681            'workflow: ' + repr(self.workflow) + ' ' +\
28682            '>'
28683
28684    def to_dict(self):
28685        return {
28686            'meta': self.meta,
28687            'rate_limit': self.rate_limit,
28688            'workflow': self.workflow,
28689        }
28690
28691    @classmethod
28692    def from_dict(cls, d):
28693        return cls(
28694            meta=d.get('meta'),
28695            rate_limit=d.get('rate_limit'),
28696            workflow=d.get('workflow'),
28697        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
28658    def __init__(
28659        self,
28660        meta=None,
28661        rate_limit=None,
28662        workflow=None,
28663    ):
28664        self.meta = meta if meta is not None else None
28665        '''
28666         Reserved for future use.
28667        '''
28668        self.rate_limit = rate_limit if rate_limit is not None else None
28669        '''
28670         Rate limit information.
28671        '''
28672        self.workflow = workflow if workflow is not None else None
28673        '''
28674         The requested Workflow.
28675        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
28684    def to_dict(self):
28685        return {
28686            'meta': self.meta,
28687            'rate_limit': self.rate_limit,
28688            'workflow': self.workflow,
28689        }
@classmethod
def from_dict(cls, d)
28691    @classmethod
28692    def from_dict(cls, d):
28693        return cls(
28694            meta=d.get('meta'),
28695            rate_limit=d.get('rate_limit'),
28696            workflow=d.get('workflow'),
28697        )
class WorkflowHistory:
28700class WorkflowHistory:
28701    '''
28702         WorkflowsHistory provides records of all changes to the state of a Workflow.
28703    '''
28704    __slots__ = [
28705        'activity_id',
28706        'deleted_at',
28707        'timestamp',
28708        'workflow',
28709    ]
28710
28711    def __init__(
28712        self,
28713        activity_id=None,
28714        deleted_at=None,
28715        timestamp=None,
28716        workflow=None,
28717    ):
28718        self.activity_id = activity_id if activity_id is not None else ''
28719        '''
28720         The unique identifier of the Activity that produced this change to the Workflow.
28721         May be empty for some system-initiated updates.
28722        '''
28723        self.deleted_at = deleted_at if deleted_at is not None else None
28724        '''
28725         If this Workflow was deleted, the time it was deleted.
28726        '''
28727        self.timestamp = timestamp if timestamp is not None else None
28728        '''
28729         The time at which the Workflow state was recorded.
28730        '''
28731        self.workflow = workflow if workflow is not None else None
28732        '''
28733         The complete Workflow state at this time.
28734        '''
28735
28736    def __repr__(self):
28737        return '<sdm.WorkflowHistory ' + \
28738            'activity_id: ' + repr(self.activity_id) + ' ' +\
28739            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28740            'timestamp: ' + repr(self.timestamp) + ' ' +\
28741            'workflow: ' + repr(self.workflow) + ' ' +\
28742            '>'
28743
28744    def to_dict(self):
28745        return {
28746            'activity_id': self.activity_id,
28747            'deleted_at': self.deleted_at,
28748            'timestamp': self.timestamp,
28749            'workflow': self.workflow,
28750        }
28751
28752    @classmethod
28753    def from_dict(cls, d):
28754        return cls(
28755            activity_id=d.get('activity_id'),
28756            deleted_at=d.get('deleted_at'),
28757            timestamp=d.get('timestamp'),
28758            workflow=d.get('workflow'),
28759        )

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

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
28711    def __init__(
28712        self,
28713        activity_id=None,
28714        deleted_at=None,
28715        timestamp=None,
28716        workflow=None,
28717    ):
28718        self.activity_id = activity_id if activity_id is not None else ''
28719        '''
28720         The unique identifier of the Activity that produced this change to the Workflow.
28721         May be empty for some system-initiated updates.
28722        '''
28723        self.deleted_at = deleted_at if deleted_at is not None else None
28724        '''
28725         If this Workflow was deleted, the time it was deleted.
28726        '''
28727        self.timestamp = timestamp if timestamp is not None else None
28728        '''
28729         The time at which the Workflow state was recorded.
28730        '''
28731        self.workflow = workflow if workflow is not None else None
28732        '''
28733         The complete Workflow state at this time.
28734        '''
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)
28744    def to_dict(self):
28745        return {
28746            'activity_id': self.activity_id,
28747            'deleted_at': self.deleted_at,
28748            'timestamp': self.timestamp,
28749            'workflow': self.workflow,
28750        }
@classmethod
def from_dict(cls, d)
28752    @classmethod
28753    def from_dict(cls, d):
28754        return cls(
28755            activity_id=d.get('activity_id'),
28756            deleted_at=d.get('deleted_at'),
28757            timestamp=d.get('timestamp'),
28758            workflow=d.get('workflow'),
28759        )
class WorkflowListResponse:
28762class WorkflowListResponse:
28763    '''
28764         WorkflowListResponse returns a list of Workflow records that meet
28765     the criteria of a WorkflowListRequest.
28766    '''
28767    __slots__ = [
28768        'rate_limit',
28769    ]
28770
28771    def __init__(
28772        self,
28773        rate_limit=None,
28774    ):
28775        self.rate_limit = rate_limit if rate_limit is not None else None
28776        '''
28777         Rate limit information.
28778        '''
28779
28780    def __repr__(self):
28781        return '<sdm.WorkflowListResponse ' + \
28782            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28783            '>'
28784
28785    def to_dict(self):
28786        return {
28787            'rate_limit': self.rate_limit,
28788        }
28789
28790    @classmethod
28791    def from_dict(cls, d):
28792        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)
28771    def __init__(
28772        self,
28773        rate_limit=None,
28774    ):
28775        self.rate_limit = rate_limit if rate_limit is not None else None
28776        '''
28777         Rate limit information.
28778        '''
rate_limit

Rate limit information.

def to_dict(self)
28785    def to_dict(self):
28786        return {
28787            'rate_limit': self.rate_limit,
28788        }
@classmethod
def from_dict(cls, d)
28790    @classmethod
28791    def from_dict(cls, d):
28792        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
28795class WorkflowRole:
28796    '''
28797         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
28798     to request access to a resource via the workflow.
28799    '''
28800    __slots__ = [
28801        'id',
28802        'role_id',
28803        'workflow_id',
28804    ]
28805
28806    def __init__(
28807        self,
28808        id=None,
28809        role_id=None,
28810        workflow_id=None,
28811    ):
28812        self.id = id if id is not None else ''
28813        '''
28814         Unique identifier of the WorkflowRole.
28815        '''
28816        self.role_id = role_id if role_id is not None else ''
28817        '''
28818         The role id.
28819        '''
28820        self.workflow_id = workflow_id if workflow_id is not None else ''
28821        '''
28822         The workflow id.
28823        '''
28824
28825    def __repr__(self):
28826        return '<sdm.WorkflowRole ' + \
28827            'id: ' + repr(self.id) + ' ' +\
28828            'role_id: ' + repr(self.role_id) + ' ' +\
28829            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
28830            '>'
28831
28832    def to_dict(self):
28833        return {
28834            'id': self.id,
28835            'role_id': self.role_id,
28836            'workflow_id': self.workflow_id,
28837        }
28838
28839    @classmethod
28840    def from_dict(cls, d):
28841        return cls(
28842            id=d.get('id'),
28843            role_id=d.get('role_id'),
28844            workflow_id=d.get('workflow_id'),
28845        )

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)
28806    def __init__(
28807        self,
28808        id=None,
28809        role_id=None,
28810        workflow_id=None,
28811    ):
28812        self.id = id if id is not None else ''
28813        '''
28814         Unique identifier of the WorkflowRole.
28815        '''
28816        self.role_id = role_id if role_id is not None else ''
28817        '''
28818         The role id.
28819        '''
28820        self.workflow_id = workflow_id if workflow_id is not None else ''
28821        '''
28822         The workflow id.
28823        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
28832    def to_dict(self):
28833        return {
28834            'id': self.id,
28835            'role_id': self.role_id,
28836            'workflow_id': self.workflow_id,
28837        }
@classmethod
def from_dict(cls, d)
28839    @classmethod
28840    def from_dict(cls, d):
28841        return cls(
28842            id=d.get('id'),
28843            role_id=d.get('role_id'),
28844            workflow_id=d.get('workflow_id'),
28845        )
class WorkflowRoleGetResponse:
28848class WorkflowRoleGetResponse:
28849    '''
28850         WorkflowRoleGetResponse returns a requested WorkflowRole.
28851    '''
28852    __slots__ = [
28853        'meta',
28854        'rate_limit',
28855        'workflow_role',
28856    ]
28857
28858    def __init__(
28859        self,
28860        meta=None,
28861        rate_limit=None,
28862        workflow_role=None,
28863    ):
28864        self.meta = meta if meta is not None else None
28865        '''
28866         Reserved for future use.
28867        '''
28868        self.rate_limit = rate_limit if rate_limit is not None else None
28869        '''
28870         Rate limit information.
28871        '''
28872        self.workflow_role = workflow_role if workflow_role is not None else None
28873        '''
28874         The requested WorkflowRole.
28875        '''
28876
28877    def __repr__(self):
28878        return '<sdm.WorkflowRoleGetResponse ' + \
28879            'meta: ' + repr(self.meta) + ' ' +\
28880            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28881            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
28882            '>'
28883
28884    def to_dict(self):
28885        return {
28886            'meta': self.meta,
28887            'rate_limit': self.rate_limit,
28888            'workflow_role': self.workflow_role,
28889        }
28890
28891    @classmethod
28892    def from_dict(cls, d):
28893        return cls(
28894            meta=d.get('meta'),
28895            rate_limit=d.get('rate_limit'),
28896            workflow_role=d.get('workflow_role'),
28897        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
28858    def __init__(
28859        self,
28860        meta=None,
28861        rate_limit=None,
28862        workflow_role=None,
28863    ):
28864        self.meta = meta if meta is not None else None
28865        '''
28866         Reserved for future use.
28867        '''
28868        self.rate_limit = rate_limit if rate_limit is not None else None
28869        '''
28870         Rate limit information.
28871        '''
28872        self.workflow_role = workflow_role if workflow_role is not None else None
28873        '''
28874         The requested WorkflowRole.
28875        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
28884    def to_dict(self):
28885        return {
28886            'meta': self.meta,
28887            'rate_limit': self.rate_limit,
28888            'workflow_role': self.workflow_role,
28889        }
@classmethod
def from_dict(cls, d)
28891    @classmethod
28892    def from_dict(cls, d):
28893        return cls(
28894            meta=d.get('meta'),
28895            rate_limit=d.get('rate_limit'),
28896            workflow_role=d.get('workflow_role'),
28897        )
class WorkflowRoleHistory:
28900class WorkflowRoleHistory:
28901    '''
28902         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
28903    '''
28904    __slots__ = [
28905        'activity_id',
28906        'deleted_at',
28907        'timestamp',
28908        'workflow_role',
28909    ]
28910
28911    def __init__(
28912        self,
28913        activity_id=None,
28914        deleted_at=None,
28915        timestamp=None,
28916        workflow_role=None,
28917    ):
28918        self.activity_id = activity_id if activity_id is not None else ''
28919        '''
28920         The unique identifier of the Activity that produced this change to the WorkflowRole.
28921         May be empty for some system-initiated updates.
28922        '''
28923        self.deleted_at = deleted_at if deleted_at is not None else None
28924        '''
28925         If this WorkflowRole was deleted, the time it was deleted.
28926        '''
28927        self.timestamp = timestamp if timestamp is not None else None
28928        '''
28929         The time at which the WorkflowRole state was recorded.
28930        '''
28931        self.workflow_role = workflow_role if workflow_role is not None else None
28932        '''
28933         The complete WorkflowRole state at this time.
28934        '''
28935
28936    def __repr__(self):
28937        return '<sdm.WorkflowRoleHistory ' + \
28938            'activity_id: ' + repr(self.activity_id) + ' ' +\
28939            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28940            'timestamp: ' + repr(self.timestamp) + ' ' +\
28941            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
28942            '>'
28943
28944    def to_dict(self):
28945        return {
28946            'activity_id': self.activity_id,
28947            'deleted_at': self.deleted_at,
28948            'timestamp': self.timestamp,
28949            'workflow_role': self.workflow_role,
28950        }
28951
28952    @classmethod
28953    def from_dict(cls, d):
28954        return cls(
28955            activity_id=d.get('activity_id'),
28956            deleted_at=d.get('deleted_at'),
28957            timestamp=d.get('timestamp'),
28958            workflow_role=d.get('workflow_role'),
28959        )

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

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
28911    def __init__(
28912        self,
28913        activity_id=None,
28914        deleted_at=None,
28915        timestamp=None,
28916        workflow_role=None,
28917    ):
28918        self.activity_id = activity_id if activity_id is not None else ''
28919        '''
28920         The unique identifier of the Activity that produced this change to the WorkflowRole.
28921         May be empty for some system-initiated updates.
28922        '''
28923        self.deleted_at = deleted_at if deleted_at is not None else None
28924        '''
28925         If this WorkflowRole was deleted, the time it was deleted.
28926        '''
28927        self.timestamp = timestamp if timestamp is not None else None
28928        '''
28929         The time at which the WorkflowRole state was recorded.
28930        '''
28931        self.workflow_role = workflow_role if workflow_role is not None else None
28932        '''
28933         The complete WorkflowRole state at this time.
28934        '''
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)
28944    def to_dict(self):
28945        return {
28946            'activity_id': self.activity_id,
28947            'deleted_at': self.deleted_at,
28948            'timestamp': self.timestamp,
28949            'workflow_role': self.workflow_role,
28950        }
@classmethod
def from_dict(cls, d)
28952    @classmethod
28953    def from_dict(cls, d):
28954        return cls(
28955            activity_id=d.get('activity_id'),
28956            deleted_at=d.get('deleted_at'),
28957            timestamp=d.get('timestamp'),
28958            workflow_role=d.get('workflow_role'),
28959        )
class WorkflowRolesCreateRequest:
28962class WorkflowRolesCreateRequest:
28963    '''
28964         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
28965     workflow role to be created.
28966    '''
28967    __slots__ = [
28968        'workflow_role',
28969    ]
28970
28971    def __init__(
28972        self,
28973        workflow_role=None,
28974    ):
28975        self.workflow_role = workflow_role if workflow_role is not None else None
28976        '''
28977         Parameters to define the new WorkflowRole.
28978        '''
28979
28980    def __repr__(self):
28981        return '<sdm.WorkflowRolesCreateRequest ' + \
28982            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
28983            '>'
28984
28985    def to_dict(self):
28986        return {
28987            'workflow_role': self.workflow_role,
28988        }
28989
28990    @classmethod
28991    def from_dict(cls, d):
28992        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)
28971    def __init__(
28972        self,
28973        workflow_role=None,
28974    ):
28975        self.workflow_role = workflow_role if workflow_role is not None else None
28976        '''
28977         Parameters to define the new WorkflowRole.
28978        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
28985    def to_dict(self):
28986        return {
28987            'workflow_role': self.workflow_role,
28988        }
@classmethod
def from_dict(cls, d)
28990    @classmethod
28991    def from_dict(cls, d):
28992        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
28995class WorkflowRolesCreateResponse:
28996    '''
28997         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
28998    '''
28999    __slots__ = [
29000        'rate_limit',
29001        'workflow_role',
29002    ]
29003
29004    def __init__(
29005        self,
29006        rate_limit=None,
29007        workflow_role=None,
29008    ):
29009        self.rate_limit = rate_limit if rate_limit is not None else None
29010        '''
29011         Rate limit information.
29012        '''
29013        self.workflow_role = workflow_role if workflow_role is not None else None
29014        '''
29015         The created workflow role.
29016        '''
29017
29018    def __repr__(self):
29019        return '<sdm.WorkflowRolesCreateResponse ' + \
29020            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29021            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
29022            '>'
29023
29024    def to_dict(self):
29025        return {
29026            'rate_limit': self.rate_limit,
29027            'workflow_role': self.workflow_role,
29028        }
29029
29030    @classmethod
29031    def from_dict(cls, d):
29032        return cls(
29033            rate_limit=d.get('rate_limit'),
29034            workflow_role=d.get('workflow_role'),
29035        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
29004    def __init__(
29005        self,
29006        rate_limit=None,
29007        workflow_role=None,
29008    ):
29009        self.rate_limit = rate_limit if rate_limit is not None else None
29010        '''
29011         Rate limit information.
29012        '''
29013        self.workflow_role = workflow_role if workflow_role is not None else None
29014        '''
29015         The created workflow role.
29016        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
29024    def to_dict(self):
29025        return {
29026            'rate_limit': self.rate_limit,
29027            'workflow_role': self.workflow_role,
29028        }
@classmethod
def from_dict(cls, d)
29030    @classmethod
29031    def from_dict(cls, d):
29032        return cls(
29033            rate_limit=d.get('rate_limit'),
29034            workflow_role=d.get('workflow_role'),
29035        )
class WorkflowRolesDeleteRequest:
29038class WorkflowRolesDeleteRequest:
29039    '''
29040         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
29041    '''
29042    __slots__ = [
29043        'id',
29044    ]
29045
29046    def __init__(
29047        self,
29048        id=None,
29049    ):
29050        self.id = id if id is not None else ''
29051        '''
29052         The unique identifier of the WorkflowRole to delete.
29053        '''
29054
29055    def __repr__(self):
29056        return '<sdm.WorkflowRolesDeleteRequest ' + \
29057            'id: ' + repr(self.id) + ' ' +\
29058            '>'
29059
29060    def to_dict(self):
29061        return {
29062            'id': self.id,
29063        }
29064
29065    @classmethod
29066    def from_dict(cls, d):
29067        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
29046    def __init__(
29047        self,
29048        id=None,
29049    ):
29050        self.id = id if id is not None else ''
29051        '''
29052         The unique identifier of the WorkflowRole to delete.
29053        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
29060    def to_dict(self):
29061        return {
29062            'id': self.id,
29063        }
@classmethod
def from_dict(cls, d)
29065    @classmethod
29066    def from_dict(cls, d):
29067        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
29070class WorkflowRolesDeleteResponse:
29071    '''
29072         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
29073    '''
29074    __slots__ = [
29075        'rate_limit',
29076    ]
29077
29078    def __init__(
29079        self,
29080        rate_limit=None,
29081    ):
29082        self.rate_limit = rate_limit if rate_limit is not None else None
29083        '''
29084         Rate limit information.
29085        '''
29086
29087    def __repr__(self):
29088        return '<sdm.WorkflowRolesDeleteResponse ' + \
29089            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29090            '>'
29091
29092    def to_dict(self):
29093        return {
29094            'rate_limit': self.rate_limit,
29095        }
29096
29097    @classmethod
29098    def from_dict(cls, d):
29099        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
29078    def __init__(
29079        self,
29080        rate_limit=None,
29081    ):
29082        self.rate_limit = rate_limit if rate_limit is not None else None
29083        '''
29084         Rate limit information.
29085        '''
rate_limit

Rate limit information.

def to_dict(self)
29092    def to_dict(self):
29093        return {
29094            'rate_limit': self.rate_limit,
29095        }
@classmethod
def from_dict(cls, d)
29097    @classmethod
29098    def from_dict(cls, d):
29099        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
29102class WorkflowRolesListRequest:
29103    '''
29104         WorkflowRolesListRequest specifies criteria for retrieving a list of
29105     WorkflowRole records
29106    '''
29107    __slots__ = [
29108        'filter',
29109    ]
29110
29111    def __init__(
29112        self,
29113        filter=None,
29114    ):
29115        self.filter = filter if filter is not None else ''
29116        '''
29117         A human-readable filter query string.
29118        '''
29119
29120    def __repr__(self):
29121        return '<sdm.WorkflowRolesListRequest ' + \
29122            'filter: ' + repr(self.filter) + ' ' +\
29123            '>'
29124
29125    def to_dict(self):
29126        return {
29127            'filter': self.filter,
29128        }
29129
29130    @classmethod
29131    def from_dict(cls, d):
29132        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
29111    def __init__(
29112        self,
29113        filter=None,
29114    ):
29115        self.filter = filter if filter is not None else ''
29116        '''
29117         A human-readable filter query string.
29118        '''
filter

A human-readable filter query string.

def to_dict(self)
29125    def to_dict(self):
29126        return {
29127            'filter': self.filter,
29128        }
@classmethod
def from_dict(cls, d)
29130    @classmethod
29131    def from_dict(cls, d):
29132        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
29135class WorkflowRolesListResponse:
29136    '''
29137         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
29138     the criteria of a WorkflowRolesListRequest.
29139    '''
29140    __slots__ = [
29141        'rate_limit',
29142    ]
29143
29144    def __init__(
29145        self,
29146        rate_limit=None,
29147    ):
29148        self.rate_limit = rate_limit if rate_limit is not None else None
29149        '''
29150         Rate limit information.
29151        '''
29152
29153    def __repr__(self):
29154        return '<sdm.WorkflowRolesListResponse ' + \
29155            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29156            '>'
29157
29158    def to_dict(self):
29159        return {
29160            'rate_limit': self.rate_limit,
29161        }
29162
29163    @classmethod
29164    def from_dict(cls, d):
29165        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)
29144    def __init__(
29145        self,
29146        rate_limit=None,
29147    ):
29148        self.rate_limit = rate_limit if rate_limit is not None else None
29149        '''
29150         Rate limit information.
29151        '''
rate_limit

Rate limit information.

def to_dict(self)
29158    def to_dict(self):
29159        return {
29160            'rate_limit': self.rate_limit,
29161        }
@classmethod
def from_dict(cls, d)
29163    @classmethod
29164    def from_dict(cls, d):
29165        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
29168class WorkflowUpdateResponse:
29169    '''
29170         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
29171     a WorkflowUpdateRequest.
29172    '''
29173    __slots__ = [
29174        'rate_limit',
29175        'workflow',
29176    ]
29177
29178    def __init__(
29179        self,
29180        rate_limit=None,
29181        workflow=None,
29182    ):
29183        self.rate_limit = rate_limit if rate_limit is not None else None
29184        '''
29185         Rate limit information.
29186        '''
29187        self.workflow = workflow if workflow is not None else None
29188        '''
29189         The updated workflow.
29190        '''
29191
29192    def __repr__(self):
29193        return '<sdm.WorkflowUpdateResponse ' + \
29194            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29195            'workflow: ' + repr(self.workflow) + ' ' +\
29196            '>'
29197
29198    def to_dict(self):
29199        return {
29200            'rate_limit': self.rate_limit,
29201            'workflow': self.workflow,
29202        }
29203
29204    @classmethod
29205    def from_dict(cls, d):
29206        return cls(
29207            rate_limit=d.get('rate_limit'),
29208            workflow=d.get('workflow'),
29209        )

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

WorkflowUpdateResponse(rate_limit=None, workflow=None)
29178    def __init__(
29179        self,
29180        rate_limit=None,
29181        workflow=None,
29182    ):
29183        self.rate_limit = rate_limit if rate_limit is not None else None
29184        '''
29185         Rate limit information.
29186        '''
29187        self.workflow = workflow if workflow is not None else None
29188        '''
29189         The updated workflow.
29190        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
29198    def to_dict(self):
29199        return {
29200            'rate_limit': self.rate_limit,
29201            'workflow': self.workflow,
29202        }
@classmethod
def from_dict(cls, d)
29204    @classmethod
29205    def from_dict(cls, d):
29206        return cls(
29207            rate_limit=d.get('rate_limit'),
29208            workflow=d.get('workflow'),
29209        )